一、下载vscode
这里不多赘述,下载及安装相关插件即可
二、下载编译器并安装
这里有个坑,推荐大家下载 MinGW-w64
这个博主将安装介绍的很详细 — https://blog.csdn.net/jjxcsdn/article/details/123058745
MinGW编译器有点问题 尤其是STL的vector,set等数据结构,debug时会出现只能打印容器地址的问题,像下面这样非常影响体验
查了资料,说是要开什么petty-printer,反正我是折腾了半天也没成功,有成功的欢迎在评论区交流
完成安装后可以在 命令行输入 gcc -v
看是否安装成功,有以下打印代表配置成功
三、配置文件
vscode 通过以下4个文件来指导编译器如何去编译你的源文件,我们需要重点关心的三个文件是
- c_cpp_properties.json
- launch.json
- tasks.json
settings.json 编译时系统会自动生成
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/mingw64/include/**",
"C:/mingw64/lib/gcc/x86_64-w64-mingw32/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"browse": {
"path": [
"${workspaceRoot}",
"C:/mingw64/include/**"
]
},
"compilerPath": "C:/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
以上绝对路径的语句,全部换为第二步中你安装MinGW-w64的路径,其余相同
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",//配置类型,只能为cppdbg
"request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
"args": [],//调试传递参数
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": false,//true显示外置的控制台窗口,false显示内置终端
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true ,
},
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" //与tasks.json 的"label"的内容保持一致,表示运行前所需要执行的任务
}
]
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: C:/mingw64/bin/g++.exe"
},
],
"version": "2.0.0"
}
四、测试
你可以按F5 并打断点测试,如果程序被正常编译成exe,并开始调试证明配置均正确,可以快乐的编码了!!
如果debug报错
ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run”
解决:一般是因为 libstdc++ -6.dll该库存在冲突可以全局搜索一下,是否在其他PATH路径下也有这个库导致调用出错
可以将MinGW的环境变量调到最上层解决。