如何让 clangd 使用诊断标志?
How to make clangd use diagnostics flags?
我正在尝试使用 Neovim 内置的 LSP 配置设置 clangd
,它工作正常。问题是,通常我用标志 -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]
我正在尝试使用 Neovim 内置的 LSP 配置设置 clangd
,它工作正常。问题是,通常我用标志 -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]