vscode 使用 clangd 替换 C/C++ 插件
vscode 使用 clangd 替换 C/C++ 插件
前言
vscode 自带的 C/C++ 插件(ms-vscode.cpptools)提供了很多功能,比如 IntelliSense(代码补全、跳转)、调试等,其中的 IntelliSense 功能问题非常多,官方的维护也不太积极,所以可以选用更稳定的 clangd 插件。
clangd
安装 clang
clangd 依赖于 clang 做分析,需要安装最新版的 clang
1
2
sudo apt install clang-20
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100
安装 clangd
clangd 插件自带的 clangd 版本一般较老,我们直接安装最新的:
1
2
sudo apt install clangd-20
sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-20 100
安装 clangd 插件
搜索 vscode 插件市场,安装 clangd 插件
关闭 C/C++ 插件的 IntelliSense
安装好 clangd 插件后会自动提示是否关闭 C/C++ 插件的 IntelliSense 功能,点确定就行
如果没提示,可以手动关闭:
1
2
3
4
// setting.json
{
"C_Cpp.intelliSenseEngine": "Disabled"
}
clangd 配置
clangd 配置使用的是当前项目目录下的 .clangd 文件:
1
2
3
4
5
6
CompileFlags:
CompilationDatabase: /workspaces/build/ # cmake 的 compile_commands.json 的目录
Add:
- "-ferror-limit=0" # 不限制错误数量
Diagnostics:
Suppress: ["*"] # 关闭所有诊断。如果需要显示错误,就删了这两行
更多配置可以看官方文档
本文由作者按照 CC BY-SA 4.0 进行授权