Windows下vscode编写C程序下载clangd插件后,stdio.h出现红波浪线;以及windows下设置路径的坑。

stdio.h出现红线的解决方法


安装了Clangd插件后,一般系统会提示关闭一些冲突项,确定就行。
但这时一般会出现一个问题,stdio.h头文件,printf函数等都会出现红色波浪线,虽然可以编译运行程序,标记但是看起来很多错误。
出现红波浪线

网上有很多方法,有些需要结合CMake才能做好,对于新手不太友好,我自己搞了好就没处理好。
这里有种等效的方法可供大家参考:
方法一设置.vscode目录中的settings.json文件
在主目录下的.vscode目录下建立一个新文件settings.json(如果已经有了,则在里面添加)。
这个文件里面的内容是:

{    //原来有内容则大括号不用。
  "clangd.arguments": [
    "--query-driver=D:/computer/mingw64/bin/g*",   //这句对去波浪线无效
  ],
   "clangd.fallbackFlags": [
    "-ID:/computer/mingw64/include",      //这句对去stdio.h波浪线无效,如果使用到这里面的头文件,应该会起作用
    "-ID:\\computer\\mingw64\\x86_64-w64-mingw32\\include", //这句有效
  ],
}

这里面实际上clangd.arguments的设置无法解决问题红波浪线问题,也可能可以解决其他问题。
主要是clangd.fallbakFlags这一项。
加上两个include目录,首先是参数-I(-大写的i)无空格直接加路径,我的mingw编译器在D:\computer\mingw64,(以下换成自己的编译器目录) 所以参数和路径是 -ID:/computer/mingw64/include 和 -ID:\\computer\\mingw64\\x86_64-w64-mingw32\\include
这里的路径的目录分割可以用linux下的斜杆 /,也可以用windows下的反斜杆 \,但反斜杆必须两个连用 \\。这里只是举例,加深初学者对vscode设置中目录分隔符的了解,可以统一用/ 或\\。
保存settings.json, 关闭,重新开vscode,波浪线不见了,变成下横线:
显示正常了
方法2:直接设置clangd的 fallbackFlags 字段
方法1 中每一个新项目都要设置,比较麻烦,所以可在全局变量上直接设置。
左侧点击拓展,点 clangd 右下角小齿轮,点击settings,鼠标下滚,找到fallback Flags字段:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
add items 点击,
这里加两次,分别加入前面.vscode目录下setting.json的相应路径:
在这里插入图片描述
在这里,识别是比较智能化的,可以使用 /、\、\\、三种形式分割目录,所以可以直接复制windows相应的目录,前面的需加-I参数。
添加完这两行后,保存重启vscode,方法1中.vsconde目录下settings.json的相应的 fallbackFlags项去掉也不会出现波浪线。

两种方法,本质都是修改clangd的参数,且都需要重启vscode才能看到效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值