有没有一种方法可以指定clangd的c++标准而不需要重新编译它?

问题描述 投票:0回答:1

我正在尝试使用 c++17(const lambdas)中的一项功能,而不会出现 clangd 错误。我在网上搜索过,每个答案都告诉我用标志重新编译 clangd 。难道真的没有别的办法了吗?

编辑:Clangd 不是编译器。它是一个语言服务器,是一个与 IDE 一起使用的程序,它基本上在编译代码之前检查代码是否有错误和警告。请参阅 https://clangd.llvm.org .

c++ standards clangd
1个回答
19
投票

答案受到n的启发。 1.8e9-我的分享在哪里。

来自 https://clangd.llvm.org/config#compileflags

您可以为 clangd 创建一个配置文件。在配置文件中,您可以指定模仿的编译器选项。对于我的问题,请执行以下操作:

CompileFlags:
  Add: [-std=c++20]

将配置文件作为

.clangd
放入您想要应用的文件的共享父目录中。如果您希望它适用于整个用户,请将其设为操作系统特定目录中的
config.yaml
文件:

  • Windows
    %LocalAppData%\clangd\config.yaml
    ,通常
    C:\Users\Bob\AppData\Local\clangd\config.yaml
  • macOS
    ~/Library/Preferences/clangd/config.yaml
  • Linux 和其他
    $XDG_CONFIG_HOME/clangd/config.yaml
    ,通常
    ~/.config/clangd/config.yaml
© www.soinside.com 2019 - 2024. All rights reserved.