You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VS Code Cpptools的clang-tidy使用CMake生成的compile_commands.json

让VS Code的clang-tidy自动识别Yocto/CMake生成的compile_commands.json

VS Code的clang-tidy默认会在项目根目录或常见构建目录(比如.build、build)自动查找compile_commands.json,但Yocto的构建目录通常层级很深,不用手动输入长路径的话,可以用以下两种方法解决:

方法一:创建软链接到项目根目录

进入你的项目根目录,执行软链接命令,把Yocto构建目录里的compile_commands.json链接到根目录下:

ln -s /实际的Yocto构建目录路径/compile_commands.json ./

这样VS Code打开项目时,clang-tidy会直接在根目录找到该文件,无需额外配置路径。

方法二:在VS Code设置中指定路径(支持变量/相对路径)

  1. 打开VS Code,按Ctrl+,(Windows/Linux)或Cmd+,(Mac)打开设置面板
  2. 搜索C_Cpp.clang-tidy.compileCommands选项
  3. 这里可以用VS Code内置变量或相对路径来简化配置:
    • 如果构建目录在项目根下,比如yocto-build,直接填${workspaceFolder}/yocto-build/compile_commands.json
    • 如果是外部构建目录,也可以用绝对路径,但更推荐配合软链接用根目录的路径${workspaceFolder}/compile_commands.json
  4. 也可以直接在项目的.vscode/settings.json里手动添加配置:
{
    "C_Cpp.clang-tidy.compileCommands": "${workspaceFolder}/compile_commands.json"
}

额外注意事项

  • 确保已安装VS Code的C/C++扩展,clang-tidy功能依赖该扩展
  • 如果使用Yocto交叉编译工具链自带的clang-tidy,需要在设置中指定C_Cpp.clang-tidy.path为工具链中的clang-tidy路径,避免用本地版本导致兼容性问题
  • 软链接会自动同步构建目录中更新后的compile_commands.json,无需重新创建

内容的提问来源于stack exchange,提问作者parsley72

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:47:14