我正试图使用vscode clangd扩展将clangd与VS Code集成,但我在配置包含路径时遇到问题。。。
我在VS代码设置中创建了额外的配置:
"clangd.path": "path_to_clangd/bin/clangd",
"clangd.arguments": [
"-compile-commands-dir=path_to_commands/compile_commands.json"
]
但是该扩展报告了大量的遗漏包括错误。
我也试过:
"-compile-commands-dir=path_to_commands"
但这也没有奏效。
有人知道如何配置这个扩展吗?目前我找不到任何文件。
问候
您的路径应该是compile_commands.json的目录,而不是文件,您需要通过vscode clangd扩展重新启动clangd
settings.json
{
"cmake.buildDirectory": "${workspaceFolder}/debug",
"clangd.arguments": [
"-background-index",
"-compile-commands-dir=debug"
],
}
重新启动
- 在您的项目根目录下更改一点.clang整洁文件,如果没有,请用一些东西创建一个
- vscode clangd将提示您重新启动clangd
- 检查clangd过程,它应该类似于
❯ ps -Af | grep clangd
awei 285478 282126 0 10:42 ? 00:00:03 /opt/llvm-10.0.0/bin/clangd -background-index -compile-commands-dir=debug
compile_commands.json似乎必须在Folder根目录中,扩展才能找到它。
我只是添加了一个符号链接:
ln -s /path-to-build-dir/compile_commands.json /path-to-src-root-dir/
这是我的答案,它有效:
"clangd.path": "/Users/jiewang/Library/Application Support/Code/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/11.0.0/clangd_11.0.0/bin/clangd",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/build",
"--completion-style=detailed",
"--header-insertion=never"
],