VS Code 在“运行代码”和“运行 C/C++ 文件”时使用不同的 C++ 版本,我希望这两个项目都使用 c++ 17

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

如您所见,当我点击“运行代码”时,VS Code 编译 C++ 文件并立即在终端中运行它。所有这些都可以解决一个问题:它使用 C++ 98。

但是当我点击“运行 C/C++ 代码”时,它可以很好地使用 C++ 17 功能进行编译。但我需要一个额外的步骤来运行输出的文件。我需要一键编译(使用 C++ 功能)并运行该文件。

我想点击“运行代码”,它会用 C++ 17 编译代码,并运行代码。

注意:这是我的

tasks.json
配置

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++17",
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}
visual-studio-code c++17 g++ vscode-tasks
1个回答
0
投票

我找到了答案。我可以添加到配置

"&&",
"./${fileBasenameNoExtension}"

成为

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++17",
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "&&",
                "./${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": ["$gcc"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}
© www.soinside.com 2019 - 2024. All rights reserved.