0%

Neovim常用配置(3) (clangd & CMake)

在使用 Neovim 进行 C/C++的开发时,我们常常使用 clangd 作为 lsp 提供语法高亮/重构等语言服务

其中 clangd 根据自动推断宏的功能也是十分有效,搭配CMake可以达到更加好的效果(如支持 CMake 内置宏,支持自动 include CMake 配置的头文件)

下面提供简要的集成 clangd 与 cmake 的方法

一般来说clangd可以自动识别CMake生成的compile_commands.json来进行头文件的识别与宏的分析

但 compile_commands.json 不会自动生产,故我们可以通过以下命令实现 compile_commands 的自动生产

1
cmake . -G -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

其中 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 是用于导出编译命令的 flag

故我常常会在项目目录下建立一个 build.sh 来构建项目:

1
2
cmake . -G -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
make

构建时只需要输入 build.sh