clangd 是基于 Clang 编译器的 C/C++/Objective-C 语言服务器。
它提供类似 IDE 的功能,例如代码补全、跳转导航、重构和诊断,并可在支持 LSP(语言服务器协议)的编辑器中使用,如 VSCode、Neovim、Sublime 等。



请确保在项目根目录下有一个 compile_commands.json 文件。
👉 参考文档:JSON Compilation Database

CMake(2.8.5 及以上版本)支持在使用 Unix Makefile 构建时,通过设置 CMAKE_EXPORT_COMPILE_COMMANDS 选项来生成这个编译数据库。

但是也可以用Bear来生成。

brew install bear
bear -- make clean all

但是我在Mac平台下使用arm-none-eabi-gcc来进行交叉编译的时候,bear生成的compile_commands.json里只有[]

我懒得找解决方法,就直接用compiledb最后生成了compile_commands.json

在VSCode中Ctrl + Shift + P打开 Preferences: Open Settings(JSON)编辑settings.json

或手动去寻找:

关闭 C/C++ 扩展的默认IntelliSense:

"C_Cpp.intelliSenseEngine": "disabled",