当前位置: 代码网 > it编程>编程语言>C/C++ > VS Code clangd 替换 C/C++插件

VS Code clangd 替换 C/C++插件

2026年08月25日 C/C++ 我要评论
前期概要vs code 连接 wsl 远程开发,c/c++ cpptools 插件容易终端卡顿,内存耗尽。差异区别clangd:增量索引 + 后台索引(--background-index),首次建索

前期概要

vs code 连接 wsl 远程开发,c/c++ cpptools 插件容易终端卡顿,内存耗尽。

差异区别

  • clangd:增量索引 + 后台索引(--background-index),首次建索引后跳转/重命名接近瞬时,rss 通常比 cpptools 低,跳转定义/引用准确率高,适合大型代码量开发场景
  • cpptools:常驻 ast 缓存,10 万行以上项目容易吃 2gb+ 内存,wsl2/远程开发下易卡顿甚至 oom,补全延迟可达 500ms+,适合需要断点/变量/调用栈的场景

流程对比

cpptools:vs code 扩展宿主 ↔ cpptools-srv(原生后台进程)↔ intellisense 引擎,走 lsp(json-rpc)

clangd:vs code clangd 扩展 ↔ clangd 独立进程 ↔ clang 前端(llvm),走标准 lsp

维度

cpptools intellisense

clangd

解析内核

微软自研语义引擎(非编译器)

clang 编译器前端(llvm)

编译参数来源

c_cpp_properties.json 手配 / 自动探测 / provider

compile_commands.json 强制依赖

ast 可信度

近似,复杂宏/模板易偏

与 clang 编译一致

索引存储

ipch + tu cache(内存 lru)

.cache/clangd 持久 idx + 后台索引

静态分析

自带基础诊断

原生 clang-tidy / clang-format

大型项目

常驻内存高、易 oom

增量索引、内存可控

调试

自带强大 debug adapter

不负责调试

配置流程

1.禁用c/c++插件

直接禁用或卸载插件,避免冲突

也可以修改配置文件settings.json禁用,该部分不一定存在

// setting.json
{
    "c_cpp.intellisenseengine": "disabled"
}

2.安装clangd

扩展里搜索对应插件直接安装

首次还需要下载 clangd 语言服务器二进制

ctrl + shift + p 输入以下内容,哪个能下载选哪个,速度较慢

clangd:reset language server
clangd:download language server

linux环境通常自带,但可能版本较低,可用自己下载新版本

sudo apt-get install clangd

可用在vs code里看到ide实际使用的clangd版本

3.编译配置

clangd 依赖 compile_commands.json,编译要生成此文件才能生效,本质上它是一个"编译器视角"的标准化快照。

compile_commands.json 是一个"编译命令数据库",它记录了项目中每个源文件是用什么命令编译的——包括用了什么编译器、什么标准、哪些头文件路径、定义了哪些宏。

cmkae

# 方法一:命令行
cmake -dcmake_export_compile_commands=on ..
# 方法二:写在 cmakelists.txt 里
set(cmake_export_compile_commands on)
# 方法三:用 cmake-tools 扩展,在 settings.json 里
"cmake.exportcompilecommands": true

make

bear -- make          # 拦截 make 的编译命令,自动生成
bear -- make clean all

到此这篇关于vs code clangd 替换 c/c++插件的文章就介绍到这了,更多相关clangd替换c++插件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com