配置VSCode的C/C++语言功能
0. 前言
主要是在网上找的方法都没试成功过,在各种机缘巧合下终于成功了。
这篇文章基于个人经验,而且没有走寻常路。
1. 需要的软件和插件
软件:
- VSCode (https://code.visualstudio.com/)
- LLVM (http://releases.llvm.org/download.html#9.0.0 选择Pre-Built Binaries)
为了方便使用,将 llvm 安装路径中子文件夹 bin 加入 PATH 环境变量,或者配置插件的时候注意一下 clangd 的路径
VSCode 插件:
- vscode-clangd (LLVm Extensions)
- CMake Tools (Microsoft)
2. 配置
2.1 配置 clangd
Clangd: Path
填写clangd的绝对路径,如果照上文修改了 PATH 变量(有用这个工具链的觉悟或者不怕麻烦)可以保持不变。
2.2 修改 CMake Tools 配置
由于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.
要么是绝对路径,要么从工作目录开始往上找 compile_commands.json,然而 CMake Tools 默认在项目目录的 build 子目录中进行 CMake 的配置,该文件也在子目录中,这里我选择修改 CMake Tools 的配置,使得该文件拷贝到项目目录中(应该也是工作目录)
CMake: Copy Compile Commands 填写: ${workspaceFolder}/compile_commands.json
3. 使用功能
首先使用 CMake Tools 配置项目,生成 compile_commands.json
然后clangd下次启动就应该能找到这个文件,提供语言功能
重启一下脚本宿主(未验证)或者重启一下VSCode
按 Ctrl + Shift + P 然后输入 restart 应该就能看到
最后,享受语言功能吧:
参考
https://github.com/microsoft/vscode-cmake-tools/issues/654#issuecomment-592983916