首先补充一点,我在网上没有找到中文文件名可以在vscode里面调试的案例,所以中文文件名最多就做到这种程度了,如果想调试,建议额外建一个0debug.cpp文件,将需要调试的文件放到这里面
vscode的三个文件配置
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"preLaunchTask": "C/C++: g++.exe 生成活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\test.exe", // 这里与task.json中的 -o下面的路径保持一致,将中文名的C++文件编译为test.exe并覆盖运行
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false, // 这里修改为false表示不弹黑色命令框,直接在vscode的终端中输出
"MIMode": "gdb",
"miDebuggerPath": "E:\\mingw\\mingw64\\bin\\gdb.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"setupCommands": [{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}],
}
]
}
task.json
{
"tasks": [
{
"type": "cppbuild", // 如果出问题就把cppbuild改成shell
"label": "C/C++: g++.exe 生成活动文件",
"command": "E:\\mingw\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\test.exe" // 这里与launch.json中program保持一致,目的是编译运行中文文件名的程序
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "E:\\mingw\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
前面环境变量的配置我就不写了,其他博主那里很详细,就这仨文件这里不知道为啥,找的很多都或多或少有点问题,找半天才找到能用的