vscode c++ 编译运行 OI 专用配置
在你的文件夹下建立一个名为 \(\tt .vscode\) 的文件夹。
目录是这样的:
\(\tt .vscode\)
\(\tt |--c\_cpp\_properties.json\)
\(\tt |--launch.json\)
\(\tt |--tasks.json\)
\(\tt .vscode/c\_cpp\_properties.json\)
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${default}"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/MinGW/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17"
}
],
"version": 4
}
\(\tt .vscode/launch.json\)
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "编译",
"type": "cppvsdbg",
"request": "launch",
"program": "cmd",
"args": [
"/C",
"g++",
"${fileDirname}\\${fileBasenameNoExtension}.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
//"&",
//"pause"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"console":"internalConsole"
},
{
"name": "运行",
"type": "cppvsdbg",
"request": "launch",
"program": "cmd",
"args": [
"/C",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"&",
"pause"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"console":"newExternalWindow"
},
{
"name": "编译运行",
"type": "cppvsdbg",
"request": "launch",
"program": "cmd",
"args": [
"/C",
"g++",
"${fileDirname}\\${fileBasenameNoExtension}.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"&",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"&",
"pause"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"console":"newExternalWindow"
}
]
}
\(\tt .vscode/tasks.json\)
{
"version": "2.0.0",
"tasks": [
//build task
{
"type": "shell", //任务类型是shell或者process
"label": "build", //任务名称,run task中就是根据名称来运行不同任务的
"command": "g++", //使用g++编译C++程序,前提是添加了g++的环境变量
"args": [ //g++命令的参数
"-g", //-g是添加调试信息
"${file}", //${file}是一个引用,表示当前文件位置
"-o", //-o表示目标程序
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": [
"$gcc"
],
"group": { //要添加到的任务组,支持build或者test。一个任务组可以包含多个任务
"kind": "build",
"isDefault": true
},
},
//test(run) task
{
"type": "shell",
"label": "run",
"command": "${fileDirname}\\${fileBasenameNoExtension}.exe", //表示当前的可执行程序
"dependsOn": "build", //依赖的任务,要先执行build任务生成可执行文件,才能运行。
//如果每次都在之前手动运行了build任务,就不需要这个依赖了
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "test", //在测试任务组中,在命令行中输入run test task也可以运行
"isDefault": true
},
"presentation": { //结果表示
"echo": true, //是否输出相关结果信息
"reveal": "always", //是否显示终端面板,always表示总是显示
"focus": false, //面板获取键盘输入的焦点
"panel": "shared", //在新的面板输出信息,选择share会和其他结束了的任务共享面板
"showReuseMessage": true,
"clear": false
}
}
]
}
最后按Ctrl+P输入debug
选择 编译、运行、编译运行 中需要的一个即可。