社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
写在前面的前面:这篇文章vscode和cpp插件版本有点老了,仅供大家参考,最新的和最详细的更新见我的另一篇文章:https://blog.csdn.net/bat67/article/details/76095813
codeblocks-17.12mingw-setup.exe
就ok,就是上边截图里的从上往下数第四个,从下往上数第三个。C:Program Files (x86)CodeBlocks
,里面的MinGW就是安装的编译器了,将里面的bin文件夹加入路径,我的就是C:Program Files (x86)CodeBlocksMinGWbin
,将这个加入路径即可。C:Program Files (x86)CodeBlocksMinGWbin
,如下图:Open with Code
选项了ctrl+shift+x
)然后在搜索框内输入C++
第一个就是,点击安装即可.vscode
文件Open with Code
,在这个文件夹里打开vscode,注意,是用VScode打开文件夹,打开一个单独的cpp是不行的!!也就是说,这个cpp要在一个文件夹里!不像Dev-Cpp和C-Free可以直接调试一个单独的cpp!!要是右键没有Open with Code
这个选项,那就是前面我说的那个选项没有选上,可以考虑重新覆盖安装一遍,选上那两个选项,或者在cmd/powershell里打开文件夹,输入code .
同样道理(注意有一个点最后)#include <iostream>
int main()
{
std::cout<<"hello world";
return 0;
}
launch.json
的启动配置文件: launch.json
用下面的替换:{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"environment": [],
"externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "C:/Program Files (x86)/CodeBlocks/MinGW/bin/gdb32.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
miDebuggerPath
这一项要确保和你安装的路径一致。如果和我一样都是默认安装的那就可以不用改,原封不动复制即可。不过最好需要注意一下miDebuggerPath
这一项中,你的安装路径最后到底是gdb32.exe
还是gdb.exe
。我的是gdb32.exe,视情况更改。tasks.json
,由于版本变化(新版的在此时运行会出现could not find the task 'g++'
),我建议直接在.vscode
文件夹中新建tasks.json
】tasks.json
文件(注意有个s,谢评论区指正,下面的图片是一定正确的),然后里面粘贴用下面的内容{
"version": "0.1.0",
"command": "g++",
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
楼主我想把exe生成到代码所在的文件夹下 那个tasks和launch怎么设置 我直接改地址调试的时候会有1的报错 希望楼主能帮下忙 我不懂怎么配置
回答:
launch.json
中program
改成:"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
task.json
中args
改成:"args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],
具体那些替换变量的意思见下面两篇文章~:
https://blog.csdn.net/bat67/article/details/78302871
https://blog.csdn.net/bat67/article/details/78302870
点击任意键返回
,所以需要我们手动加一个断点,或者程序最后加一个getchar();
,或者加system("pause");
等(注意是双引号,感谢评论区指正,system(‘pause’);不行,因为有语法错误),切换至test.cpp,我在return 0;
处加个断点,点击F5
),既可以开始调试如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!