如您所见,当我点击“运行代码”时,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"
}
我找到了答案。我可以添加到配置
"&&",
"./${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"
}