说明:一般来说,安装MinGW后,不配launch.json、tasks.json文件,也可以运行调试了。
参考:
C/C++环境配置(手把手、负责任教你VScode的删除、安装及使用)
注意:一定要按照自己电脑位数来安装。64位电脑安装64的。
可以参考:
1、最新VScode C/C++ 环境配置的详细教程
说明:此链接中,下图中的注2不对,请勿采用。
2、vs code配置c++环境
3、VSCode配置C++进行调试环境
结合多方参考,最终总结了超级简易能懂的编译C使用的launch.json和tasks.json,如下所示:
编译C使用的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"environment": [],
/*可改*/"externalConsole": false,// 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
/*须改*/"miDebuggerPath": "C:\\MinGW\\mingw64\\bin\\gdb.exe",// 修改成你自己的路径,miDebugger的路径,注意这里要与MinGw的路径对应
/*须改*/"preLaunchTask": "gcc", // 调试会话开始前执行的任务,根据程序类型选择,c++为g++, c为gcc ,且该处一定要与tasks.json的lable一致
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
编译C使用的tasks.json
{
"version": "2.0.0",
"tasks": [
{
/*须改*/"label": "gcc", // 一定与launch.json中的preLaunchTask一致,根据程序类型选择,c++为g++, c为gcc
"type": "shell",
/*须改*/"command": "C:\\MinGW\\mingw64\\bin\\gcc.exe",// 改为你自己的路径
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
/*须改*/ "cwd": "C:\\MinGW\\mingw64\\bin" // 改为自己的路径的bin文件夹
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
]
}
说明:一般来说,安装MinGW后,不配launch.json、tasks.json文件,也可以运行调试了。
参考:
C/C++环境配置(手把手、负责任教你VScode的删除、安装及使用)
注意:一定要按照自己电脑位数来安装。64位电脑安装64的。
可以参考:
1、最新VScode C/C++ 环境配置的详细教程
说明:此链接中,下图中的注2不对,请勿采用。
2、vs code配置c++环境
3、VSCode配置C++进行调试环境
结合多方参考,最终总结了超级简易能懂的**编译C++(CPP)**使用的launch.json和tasks.json,如下所示:
编译C++(CPP)使用的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"environment": [],
/*可改*/"externalConsole": false,// 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
/*须改*/"miDebuggerPath": "C:\\MinGW\\mingw64\\bin\\gdb.exe",// 修改成你自己的路径,miDebugger的路径,注意这里要与MinGw的路径对应
/*须改*/"preLaunchTask": "g++", // 调试会话开始前执行的任务,根据程序类型选择,c++为g++, c为gcc ,且该处一定要与tasks.json的lable一致
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
编译C++(CPP)使用的tasks.json
{
"version": "2.0.0",
"tasks": [
{
/*须改*/"label": "g++", // 一定与launch.json中的preLaunchTask一致,根据程序类型选择,c++为g++, c为gcc
"type": "shell",
/*须改*/"command": "C:\\MinGW\\mingw64\\bin\\g++.exe",// 改为你自己的路径
"args": [
"-g",
"${file}", // 如果是多文件,则需要改成 "${fileDirname}\\*.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
], // 输入的形参,一些情况需要具体撰写
// 具体撰写的例子:
// "args": [
// "-g",
// "*.cpp",
// "-o",
// "main",
// "-fopenmp",
// "-l",
// "msmpi",
// "-L",
// "E:\\new_software\\MPI\\MPI\\Lib\\x64",
// "-I",
// "E:\\new_software\\MPI\\MPI\\Include"
// ],
"options": {
/*须改*/ "cwd": "C:\\MinGW\\mingw64\\bin" // 改为自己的路径的bin文件夹
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
]
}
1、编译路径中一定不能含有中文,中文的桌面也不可以。
举例:
windows下VSCode调试时找不到文件的一种原因
使用gdb进行 debug调试时
报错:Unable to start debugging. Unexpected GDB output from command “-environment-cd X:\Users\江\Desktop\leetcode”. X:\Users\江\Desktop\leetcode: No such file or directory.
原因:调试的程序路径不能含有中文名。windos用户名设置为中文名后(建议别设置成中文),在桌面的源程序会带有中文路径,这种情况把源程序放在不带中文路径的文件中,就能正常进行调试了。
2、设置miDebuggerPath的路径时需要对"“添加转义字符”",否则会出错。
这次配置好的vscode模板,可以先保存好,下次写c/c++代码,直接把这个文件夹复制粘贴到这个.c/.cpp文件所在文件夹即可。