主要是在网上找的方法都没试成功过,在各类机缘巧合下终于成功了。html
这篇文章基于我的经验,并且没有走寻常路。git
软件:github
为了方便使用,将 llvm 安装路径中子文件夹 bin 加入 PATH 环境变量,或者配置插件的时候注意一下 clangd 的路径json
VSCode 插件:工具
Clangd: Pathui
填写clangd的绝对路径,若是照上文修改了 PATH 变量(有用这个工具链的觉悟或者不怕麻烦)能够保持不变。spa
因为clangd的参数:插件
--compile-commands-dir=<string> - Specify a path to look for compile_commands.json. If path is invalid, clangd will look in the current directory and parent paths of each source file.rest
要么是绝对路径,要么从工做目录开始往上找 compile_commands.json,然而 CMake Tools 默认在项目目录的 build 子目录中进行 CMake 的配置,该文件也在子目录中,这里我选择修改 CMake Tools 的配置,使得该文件拷贝到项目目录中(应该也是工做目录)code
CMake: Copy Compile Commands 填写: ${workspaceFolder}/compile_commands.json
首先使用 CMake Tools 配置项目,生成 compile_commands.json
而后clangd下次启动就应该能找到这个文件,提供语言功能
重启一下脚本宿主(未验证)或者重启一下VSCode
按 Ctrl + Shift + P 而后输入 restart 应该就能看到
最后,享受语言功能吧:
https://github.com/microsoft/vscode-cmake-tools/issues/654#issuecomment-592983916
原文出处:https://www.cnblogs.com/sinx/p/12410619.html