本文讲述如何在vscode里配置clangd来实现跳转,项目工程使用CMake,比较简单
一 安装clangd及其VScode插件
VSCode里的cland插件是依赖本地安装的clangd,所以需要事先安装好
bash
sudo apt install clangd
然后就是安装vscode插件,在extension里搜索clangd,点击安装

注意这里要禁用微软的 C/C++ IntelliSense插件

二 配置CMake
可以在项目工程的CMakeLists.txt里加上
bash
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
或者在编译时开启这个选项,
bash
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
编译后会在build目录下生成compile_commands.json,这个就是clangd解析需要的文件
默认clangd会去找项目根目录下的compile_commands.json,但是一般来说这个文件都是在build目录下,那么此时有2种办法让clangd找到这个json文件
1. 使用软链接
在根目录下执行,
bash
ln -s build/compile_commands.json compile_commands.json
2. 修改项目的vscode配置
在当前目录下,创建**.vscode/settings.json** ,然后添加以下内容,
TypeScript
{
"clangd.arguments": [
"--compile-commands-dir=build"
]
}
这个build就是我们的build目录
三 重启
Ctrl+Shift+P,然后选择clangd: Restart language server即可