如何更改 VS Code 的 Code Runner 扩展使用的 C++ 标准? [关闭]

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

我正在尝试在 VS Code 中使用 C++20 和 Code Runner 扩展,它允许我使用 ctrl+alt+n 运行代码。

我已经通过 MSYS2 安装程序安装了 MinGW64。 我的编译器版本是 12.0.2.

  • 在我的 c_cpp_properties.json 文件中,我已将
    cppStandard
    设置为
    c++20
    .
  • 为了更好的衡量,在我的 settings.json 文件中,我添加了
    "C_Cpp.default.cppStandard": "c++20"
    .
  • 在我的 tasks.json 文件中,我已将
    "-std=c++20"
    添加到
    args
    字段。

当我在我的 C++ 文件中键入

__cplusplus
并将鼠标悬停在它上面时,悬停信息显示“
# define __cplusplus 202002L
”。

但是 Code Runner 扩展仍然没有使用 C++20。为什么?我怎样才能让它使用 C++20?

c++ visual-studio-code mingw mingw-w64
1个回答
0
投票

您需要编辑

code-runner.executorMap
设置以在其中添加 C++ 标准选择标志。也许是这样的:

"code-runner.executorMap": {
  "cpp": "cd $dir && g++ -std=c++20 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}

您在悬停信息中看到“

# define __cplusplus 202002L
”,因为它由 vscode-cpptools 扩展控制 - Code Runner 扩展的一个单独扩展,它读取您的 c_cpp_properties 相关设置。

tasks.json 是一个 VS 代码功能,我假设您正在使用它来定义构建任务。我认为通常没有太多理由在 tasks.json 中同时拥有构建任务以及使用 Code Runner,因为 Code Runner 将处理构建和运行(但它实际上只适用于极其简单的用例)。

松散相关的问题单:更新 code-runner.executorMap 的默认设置以支持 c++11 或更高版本#397.

© www.soinside.com 2019 - 2024. All rights reserved.