【问题标题】:clangd for vscode with multiple build directories具有多个构建目录的 vscode 的 clangd
【发布时间】:2021-10-23 08:56:42
【问题描述】:

我正在尝试使用 clangd 在 vscode 中完成代码。我正在使用 CMake 进行项目设置,并且正在创建一个编译数据库。但是,我有几个具有不同标志(调试、发布...)的构建目录,并且 clangd 需要在源目录中有编译数据库。这是不可能的,因为每种构建类型的编译数据库都不同...

当你有多种构建类型时,有什么方法可以使用clangd?

【问题讨论】:

    标签: visual-studio-code clangd


    【解决方案1】:

    我通常通过将一个编译数据库符号链接到源目录来解决这个问题。哪一个取决于我做什么——主要是我最常使用的“标准”版本。还有其他专门的构建,但如果我真的需要不同的设置,我只会切换到相应的 compdb。

    【讨论】:

      【解决方案2】:

      我使用 VSCode cmake 工具功能解决了这个问题。

      在我添加的工作区设置中

          "cmake.copyCompileCommands": "${workspaceFolder}/compile_commands.json"
      

      这会将构建目录的 compile_commands.json 复制到工作空间文件夹,在我的情况下,这恰好是 clangd 正在寻找 compile_commands.json 文件的位置。

      如果我更改预设,新的 compile_commands.json 会再次复制,从而更新 clangd 模型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        • 2017-05-21
        • 2021-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多