VS Code如何让Clangd停止乱报错

· · 科技·工程

引入

在 VS Code 中,很多人会遇到 Clangd 插件找不到 includePath的问题 (如下图所示),这篇文章让大家彻底学会配置 Clangd。

前言

本文章默认读者已经下载好了 VS Code 以及 Clangd 插件, 没有下载好的读者可以上百度查查。

正文

1.下载 G++

这里推荐使用 MSYS2 进行下载,直接给到下载网址。

这里的两项选择第一项,如果你是 x86 的电脑,否则选择第二项。

等到下载完后,运行安装包,一路 next 就好了。

接下来它会弹出一个黑框框,叫 MSYS UCRT64,在里面依次输入以下内容:

pacman -Syu
pacman -Su

提示:必须使用英文半角进行输入,否则会挂。

运行完第二个指令后会让你关掉,你关就是了。

之后重新开启 MSYS UCRT64 终端,输入以下指令:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

可以一路都填 y,等它安装完后就基本完成了。

2.配置环境变量

右键此电脑,点击属性,弹出的框框里找到高级系统设置(蓝字)。

跳出的新界面里选择高级-->环境变量。

点进去后选择 Path,点编辑,然后点新建,把下面这条粘进去:

C:\msys64\ucrt64\bin

可选:上移到顶,防止其他旧版本的干扰。

最后点3次确定,就好了。

验证

打开 cmd 终端,输入:

g++ --version

如果有输出版本号和版权信息就代表成功了

3.VS Code 配置

在你的工作区里新建一个文件:compile_flags.txt,里面输入:

-std=c++26
--target=x86_64-w64-windows-gnu
-IC:/msys64/ucrt64/include
-IC:/msys64/ucrt64/x86_64-w64-mingw32/include
一些解释:

把这些搞完后,重开 VS Code,可以发现它再也不乱报错啦!

致此,我们成功配置了 clangd,完结撒花🎉!

注意⚠️:在 windows 下,clangd 会偶发严重的内存泄漏问题(这个主要看人品),前兆有:语法警告出现延迟(1秒以上)并伴有界面卡顿,严重时内存占用会急剧上升至 100%,伴随电脑死机,如遇这种情况,请第一时间 taskkill /im clangd.exe /f 以关闭 clangd 进程,重复执行,直至正常,并禁用 clangd,千万不要尝试解决,因为这是 clangd 的 bug,作者也询问了各大 Artificial Intelligence,都说没救了。

AI使用说明:本文在查明 Clangd 的 bug 的时候使用了包括但不限于 DeepSeek V4-Pro,Kimi K3 等 AI 的协助,保证本人贡献严格大于 AI。