0

我正在尝试clangd使用 Neovim 内置的 LSP Config 进行设置,它工作正常。问题是,通常我用标志编译所有东西,在分析代码并提示错误时-Wall -Wextra -Werror如何使用这些标志?clangd

提前致谢 :)

4

2 回答 2

0

clangd 自动从名为 的文件中读取编译数据库compile_commands.json,并从那里重用编译器标志。无需在 Neovim 中做任何特别的事情。例如,一个compile_commands.json文件可能如下所示:

[{
  "directory": ".",
  "file": "test.cpp",
  "arguments": ["g++", "-c", "test.cpp", "-Wall", "-Wextra", "-Werror"]
}]

通常你会想要生成这个文件作为你的构建过程的一部分。CMake 可以开箱即用,或者您可以使用clang -MJ compile_commands.json.

于 2021-08-15T18:51:24.157 回答
0

clangd通过 接受全局配置$XDG_CONFIG_HOME/clangd/config.yaml。您可以添加编译标志:

CompileFlags:
    Add: [-Wall, -Wextra, -Werror]
于 2021-08-16T10:50:45.393 回答