我是 clang 工具的新手,我正在学习 c/c++。
我有一些基于使用其数据结构和构建系统(OpenFOAM)的框架的代码。我在主目录的文件夹中编译了框架的库。该框架有一堆目录,将所有类的头文件作为符号链接保存在其中。我使用neovim和coc扩展作为客户端,并使用clangd作为语言服务器。
问题是,在我的代码中,clangd 找到了一些头文件,而不是全部。这种行为的原因可能是什么?以及如何修复它或摆脱编辑器中的诊断。
我阅读了 clangd ( clangd --help
) 提供的帮助,结果发现有一个标志 ,--header-insertion=<string>
如果我将其设置<string>
为iwyu
(对于,包括你使用的内容),我可以摆脱这样的警告。根据帮助,我可以通过config.yaml
文件~/.config/clangd
夹中的文件( linux中的xdg系统)配置clangd。问题是,我怎样才能编辑这个文件以获得上述标志的效果。我只是将该标志放在文件中,但没有任何改变。基本上我想要的是,要么配置 clangd 以递归方式搜索目录中的头文件,要么如果这不可能摆脱它无法找到的丢失头文件的诊断警告。
我不知道的另一件事是,如何重新启动服务器以重新读取配置。我应该终止当前进程并重新运行它吗?
随意编辑问题。
更多信息:
- 操作系统:artixlinux
- NVIM:v0.5.0-dev+1225-gbbdd00203
- CLANGD:v11.1.0