Windows+VSCode 中使用 clangd

安装 LLVM

clangd 属于 LLVM 的一部分, 如果您想要使用 clangd, 首先需要 安装LLVM

因为是 windows 系统所以需要下载 LLVM-版本号-win32/64.exe 这个安装包(取决于您的系统是32/64位)。

安装您的 LLVM ,然后将 \LLVM\bin\ 添加到环境变量 Path 里。

安装mingw64

如果您已有 mingw64,则可跳过这一步。

可以下载编译好的mingw64压缩包

如果你的电脑是32位windows就下载i686的版本,64位windows下载x86_64版本,后米娜的就选-posix-sjlj就行了。

将压缩包解压到一个合适的路径,然后将 \mingw64\bin\ 这个路径添加到环境变量 Path 里。

安装clangd插件

直接在VSCode的插件中搜索 clangd,第一个带着LLVM认证的就是需要的插件。

安装好之后右下角会弹出弹窗询问您是否安装 clang,但是我们已经安装过了,所以忽略它,去插件设置里配置您的 clangd 路径。

您的 clangd 在 \LLVM\bin\clangd.exe ,将此路径复制到设置的 Clangd: Path 里。

配置好之后需要关闭 C/C++ 自带的补全功能, 在设置中将 C_Cpp: Intelli Sense Engine 设为 Disabled 即可。

此时您会发现它检测不到您的头文件,以及报出一些奇奇怪怪的错误,是因为 clang 在windows 下没有自带的头文件,需要让它使用 mingw64 的头文件。

在设置的 Clangd: Fallback Flags 中添加下列代码然后重启VSCode即可。

--target=x86_64-pc-mingw64 // 64位
--target=i686-pc-mingw64 // 32位

关闭clang-tidy功能

如果您的码风与众不同,比如不喜欢短句缩进之类的,clang-tidy会找出未缩进语句并给个warning,此时您可以关闭clang-tidy功能防止它打扰您敲代码。

在设置的 Clangd: Arguments 中添加 --clang-tidy=false 然后重启VSCode即可。

关闭函数变量名提示

C:\users\用户名\AppData\Local\clangd\config.yaml 中添加下列代码然后重启VSCode即可。

InlayHints: 
Enabled: No
ParameterNames: No
DeducedTypes: No