将 VSCode 更新为 C++20

分享于2022年07月17日 c++ clangd visual-studio-code 问答
【问题标题】:将 VSCode 更新为 C++20(Update VSCode to C++20)
【发布时间】:2022-07-10 15:07:26
【问题描述】:

我正在尝试将 Visual Studio Code 与 C++20 与 clangd 一起使用。

不幸的是,它似乎在 C++98 中运行。 使用 std::function 之类的基本内容时出现以下错误 Update VSCode to C++20

我已将尽可能多的设置更新到 C++20, __cplusplus 宏现在也显示 2020。但是这个问题仍然存在。

我可以毫无问题地编译使用: g++ --std c++20 main.cpp -o main

我还缺少一些 .json 文件。我的 .vscode 文件夹中只有 tasks.json

  • 如果你想配置智能感知,你需要设置cpp属性json,你读过 documentation 吗?
  • @AlanBirtles 是的,但是当我运行 code . 时,它只会打开 VSCode 而不会创建 json 文件。我缺少 c cpp 属性和编译命令文件。我也说过我想使用clangd,而不是Intellisense
  • 您阅读过文档吗?文件不是自动创建的
  • 我能够手动创建 c cpp 属性文件。但是,当我更改“cppStandard”时,它对使用的 C++ 版本没有任何影响。这也是 IntelliSense 的设置,无法使用,因为它与 clangd 冲突
  • 你关注clangd了吗 instructions

【解决方案1】:

Clangd 不使用 c_cpp_properties.json 进行配置,该文件特定于 Microsoft 的 vscode-cpptools 扩展。

要配置您的项目以使用 clangd,您需要遵循此处描述的过程: https://clangd.llvm.org/installation#project-setup