硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1265|回复: 13
收起左侧

[VS Code] vscode 中clangd警告消除和头文件多级包含问题

[复制链接]

3

主题

10

回帖

19

积分

新手上路

积分
19
发表于 2025-6-24 18:20:08 | 显示全部楼层 |阅读模式
使用vscode编写代码,clangd格式化和函数跳转等功能,但是clangd插件报错 Included header FreeRTOS.h is not used directly (fixes available)这种未使用的头文件,实际是有用的,应为没有直接在当前.c文件中使用。比如在bsp.h中包含各种驱动文件,main.c中使用,然后bsp.h就会报很多这个错。请教下大家这个怎么解决啊,DS给出的方案是添加UnusedIncludes: Ignore,但是实测没有什么用
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120448
QQ
发表于 2025-6-25 09:42:55 | 显示全部楼层
帮顶。
回复

使用道具 举报

2

主题

22

回帖

28

积分

新手上路

积分
28
发表于 2025-6-26 19:03:21 | 显示全部楼层
我写了一个python脚本用来处理keil工程,在vscode环境下使用clangd插件能够根据keil的工程信息建立clangd索引信息的compile_commands.json文件,可以使用这个文件完成精确函数查找跳转,当然c++插件也可以使用这个文件,原理就是解析keil的工程文件生成对应的查找规则,代码开源在GitHub,不喜欢python可以使用我release打包的exe版本,放在环境变量路径下可以通过命令生成文件就能直接解析了,https://github.com/huiyi-li/keil2clangd
回复

使用道具 举报

2

主题

22

回帖

28

积分

新手上路

积分
28
发表于 2025-6-26 19:05:18 | 显示全部楼层
但是我觉得使用跳转正常的话,头文件解析使用的头文件未使用也正常吧。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-11-11 21:52:27 | 显示全部楼层
不是哥们,看标题还以为问题解决了,我现在也遇到这个问题
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
发表于 2025-11-13 09:45:34 | 显示全部楼层
有没有知道打开两个文件夹,点击出现另外一个文件的定义。怎么解决啊。。。
screenshot-20251113-094352.png
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
发表于 2025-11-13 10:11:02 | 显示全部楼层
https://github.com/rizsotto/Bear 这个工具完美解决
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
发表于 2025-11-13 10:53:05 | 显示全部楼层
Joia 发表于 2025-11-13 10:11
https://github.com/rizsotto/Bear 这个工具完美解决

还是会出现部分函数跳转出现弹窗
回复

使用道具 举报

82

主题

1417

回帖

1663

积分

至尊会员

积分
1663
发表于 2025-11-13 11:15:11 | 显示全部楼层
forever_ming_ 发表于 2025-6-26 19:03
我写了一个python脚本用来处理keil工程,在vscode环境下使用clangd插件能够根据keil的工程信息建立clangd索 ...

尝试过,不是特别完美。。
回复

使用道具 举报

2

主题

22

回帖

28

积分

新手上路

积分
28
发表于 2025-11-22 15:38:07 | 显示全部楼层
wdliming 发表于 2025-11-13 11:15
尝试过,不是特别完美。。

有意见欢迎提issue
回复

使用道具 举报

82

主题

1417

回帖

1663

积分

至尊会员

积分
1663
发表于 2025-11-22 20:01:25 | 显示全部楼层

github没账号,弄了半天也没弄成功。gitee的话我倒是可以。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 昨天 15:11 | 显示全部楼层
在项目路径下添加 `.clangd` 文件,然后输入下面内容是否有效?
```yaml
Diagnostics:
  Suppress: [unused-includes]
```
回复

使用道具 举报

111

主题

613

回帖

961

积分

金牌会员

积分
961
QQ
发表于 昨天 16:38 | 显示全部楼层
wdliming 发表于 2025-11-13 11:15
尝试过,不是特别完美。。

tools.7z (6.05 KB, 下载次数: 1)


我也整过一个
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 9 小时前 | 显示全部楼层

```py
# 注意:这里使用默认的编译器名称,实际使用时会被clangd的--query-driver覆盖
compiler: str = "armcc"
```

使用 armcc 出现下面问题,无法跳转,需要改成 arm-none-eabi-gcc 才行
上面说的 --query-driver 是什么,我 vscode 中的 query-driver 是 --query-driver=**

+ Too many errors emitted, stopping now
+ 'main.h' file not found
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-1-10 17:21 , Processed in 0.081091 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表