Coc-Clangd 配置

使用 vim 进行 c 项目开发时,使用 Coc-Clangd 作为语言服务器实现自动补全。当对项目结构进行调整后(.h 和.c 文件分离到了不同的目录),Coc-Clangd 需要一定的配置才能找到相关的.h 文件,否则会出现错误:

'*.h' file not found [clang: pp_file_not_found]

具体需要在项目根目录生成compile_commands.json文件或者compile_flags.txt文件:

  1. 当使用 cMake 时,可以运行cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1生成compile_commands.json
  2. 当使用 make 时,需要安装Bear(apt 等包管理即可安装)。运行make clean && bear make即可生成compile_commands.json
  3. 对于其它情况(只使用 clang,没有构建工具和 make)时。可以创建compile_flags.txt文件参考 2进行相关配置。

参考

  1. ProgrammAbel (u/ProgrammAbel) - Reddit
  2. Getting started with clangd --- Extra Clang Tools 8 documentation (llvm.org)