前言
vscode自带的调试选项,经过配置后虽然可以实现编译运行c++程序
但是默认会启动调试控制台,需要手动切换到终端才能看到输出结果
对于编写运行简单的代码而言,本人希望有一种更快的运行方式。
于是配置一个自定义任务,借助快捷键实现一键编译运行。
接下来记录VS Code从零开始配置c/c++环境的步骤,供备忘
编译器环境需求
首先需要下载MinGW,并配置gcc的环境变量。正确配置环境变量后,在任意路径打开命令提示符,执行gcc可以看到版本提示,说明配置成功。
vscode工作区配置
创建打开一个新的vscode工作区,安装启用以下插件以实现自动补全:
配置C/C++调试
这里配置的是默认的生成任务,也就是直接点击这个运行或调试按钮时执行的任务
点击运行按钮,然后选择g++的任务(使用gcc似乎无法编译c++程序,而g++可以编译c程序)
这样点击之后,一般来说是可以直接编译运行了,而且单步调试也可以进行。
在工作区的.vscode/tasks.json
文件中,能看到这样的任务配置:
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\GreenProgram\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
如果不能编译,检查g++路径是否配置为自己电脑的g++路径。
如果不能启动运行,可以尝试自定义启动配置,在.vscode
文件夹中新建文件launch.json
,添加如下配置(其中gdb路径需要自己修改):
{
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\GreenProgram\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
],
"version": "2.0.0"
}
配置自定义编译运行任务
打开.vscode/tasks.json
文件,添加如下两个自定义配置(这里只放出新增的两个配置,在原配置基础上添加时,请注意json格式):
{
"label": "Compile",
"type": "shell",
"command": "g++",
"args": [
"*.cpp",
"-o",
"out.exe"
],
"group": "build",
"problemMatcher": [
"$gcc"
],
"options": {
"cwd": "${fileDirname}"
},
"runOptions": {
"runOn": "default"
}
},
{
"label": "Compile and Run",
"type": "shell",
"command": ".\\out.exe",
"group": "test",
"dependsOn": "Compile",
"options": {
"cwd": "${fileDirname}"
}
}
简要说明:
- 配置了两个任务,一个是编译任务(仅编译),一个是编译并运行任务(依赖于编译任务)。当然还可以添加一个仅运行的任务。
"*.cpp"
用于配置编译任务将编译当前打开的文件所在的文件夹的全部cpp文件。如果是c代码,修改为"*.c"
,并换成gcc编译。需要其他编译参数(如指定语言标准)可以在args中添加。"out.exe"
是输出文件的名称,若修改,注意运行任务处对应修改即可。- 任务的label也可以自己修改,注意第二个任务的
dependsOn
对应修改。
测试上述任务的运行情况
单击搜索框,选择运行任务
这里可以看见我们自己配置的任务,点击任务名字即可运行
这里会显示执行情况。下图为仅编译的任务
下图为编译且运行的任务
这说明,自己编写的任务可以运行。
配置快捷键
为上述任务配置快捷键,方便执行。
按下ctrl+shift+p
打开命令面板,搜索keyboard,选择open keyboard shortcuts (JSON)
会打开一个名字为keybindings.json
的文件。如果之前配置过自定义快捷键,文件可能有其他内容。点击定义键绑定,按下想要的快捷键。
在创建的配置中,编辑command、args内容。args填写想执行的任务的label
{
"key": "ctrl+alt+enter", // 你自定义的快捷键
"command": "workbench.action.tasks.runTask",
"args": "Compile and Run",
"when": "editorTextFocus"
}
这样就完成了快捷键的配置。
转载自CSDN-专业IT技术社区
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhuannnn/article/details/147873739