一、 MinGw的下載與安裝
首先這個博客的基礎建立在你已經有VSCode的基礎上,因爲windows下VSCode不直接具備對於C語言的編譯調試工具,所以要下載集成gcc等工具的MinGw以提供擴展支持。
下載地址:https://sourceforge.net/projects/mingw-w64/files/
下載後解壓到待安裝文件夾即可,注意下載過程可能有些漫長,不過已經比在線安裝要快很多了。
接下來就是配置環境變量,可以看到bin文件夾下gcc和gdb都有,溫馨提示不要圖快去CSDN下載這種包,很容易缺失文件,還乖乖用官方的比較全。
補充:這裏的環境變量是在win10下配置的。
以上完成後,按win+r鍵打開運行,輸入cmd回車後,可在控制檯下輸入gcc -v
查看當前計算機mingw是否安裝成功,如果顯示以下結果,說明你安裝成功了。
二、 配置VSCode運行和調試
首先要下載插件Code Runner,然後勾選這兩個選項
然後來個測試代碼,建立一個文件夾,再新建一個C語言文件就可以。【請忽略我截圖中的Project1,那個是在VStudio中運行建的工程】
運行測試代碼:
#include <stdio.h>
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 <stdio.h>
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