首先这个博客的基础建立在你已经有VSCode的基础上,因为windows下VSCode不直接具备对于C语言的编译调试工具,所以要下载集成gcc等工具的MinGw以提供扩展支持。
下载地址:https://sourceforge.net/projects/mingw-w64/files/
下载后解压到待安装文件夹即可,注意下载过程可能有些漫长,不过已经比在线安装要快很多了。
接下来就是配置环境变量,可以看到bin文件夹下gcc和gdb都有,温馨提示不要图快去CSDN下载这种包,很容易缺失文件,还乖乖用官方的比较全。
补充:这里的环境变量是在win10下配置的。
以上完成后,按win+r键打开运行,输入cmd回车后,可在控制台下输入gcc -v
查看当前计算机mingw是否安装成功,如果显示以下结果,说明你安装成功了。
首先要下载插件Code Runner,然后勾选这两个选项
然后来个测试代码,建立一个文件夹,再新建一个C语言文件就可以。【请忽略我截图中的Project1,那个是在VStudio中运行建的工程】
运行测试代码:
#include
int main()
{
printf("Luminary");
return 0;
}
两种运行方法,gcc命令行和直接点击运行按钮,现在不出意外的话应该都可以运行成功。
下面我们来研究下调试吧,新建一个.vscode的配置文件夹,新建一个launch.json文件,写入以下内容,注意路径需要修改,命令要和下面的task.json文件对应
launch.json文件内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "G:\\MinGW2020\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
修改路径名改成你自己的mingw文件夹bin下的gdb路径,命令g++或gcc都可以。
再新建一个tasks.json文件,写入以下内容,注意g++那里与上面内容对应。
tasks.json文件内容:
{
"version": "2.0.0",
"command": "g++", // 注意对应
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
现在应该可以调试了,试一下。为了看调试效果,我们来换一段测试代码
调试测试代码:
#include
int main()
{
int n;
printf("This is a test file!\r\nInput a number: ");
scanf("%d",&n);
printf("The number is %d",n);
return 0;
}
菜单-调试-启动调试(快捷键F5),记得打一个断点,可以调试了,稳妥。
小提示:如果你想在windows自带的命令窗口看结果【就是那个长方黑框框】,可以在return处打断点。
参考博客:https://www.cnblogs.com/czlhxm/p/11794743.html