我正在尝试clangd
使用 Neovim 内置的 LSP Config 进行设置,它工作正常。问题是,通常我用标志编译所有东西,在分析代码并提示错误时-Wall -Wextra -Werror
如何使用这些标志?clangd
提前致谢 :)
我正在尝试clangd
使用 Neovim 内置的 LSP Config 进行设置,它工作正常。问题是,通常我用标志编译所有东西,在分析代码并提示错误时-Wall -Wextra -Werror
如何使用这些标志?clangd
提前致谢 :)
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
.
clangd
通过 接受全局配置$XDG_CONFIG_HOME/clangd/config.yaml
。您可以添加编译标志:
CompileFlags:
Add: [-Wall, -Wextra, -Werror]