VSCode 配置C、C++環境
貌似微軟想讓所有的IDE都最小化安裝了,實現全部外掛化,VSCode 中居然連最基本的C環境都需要配置,最新版的Visual Studio也是可以不安裝任何東西,直接執行空殼子。
VSCode中配置環境大概分以下幾步:
- 安裝 C/C++ for Visual Studio Code
- 安裝MinGW、配置系統環境變數
- 修改VSCode配置檔案
首先開啟VSCode
安裝微軟官方C/C++ for Visual Studio Code
在VSCode介面中快捷鍵Ctrl+P 撥出輸入框輸入
ext install c
彈出擴充套件商店選擇第一個微軟官方外掛
使用MinGW
確認好安裝目錄後continue到完成,開啟後左側目錄選擇:
All Packages - MinGW - MinGW BaseSystem
- mingw32-gcc-g++勾選。
- mingw32-gdb必選,否則無法除錯 。
其中gcc和g++為c和c++編譯器 。
選擇完全部想要安裝的項後點擊左上角
Installation - Apply Changes
由於是國外的資源可能會是漫長的下載甚至失敗,萬般皆下品惟有把牆翻。
配置系統環境變數Path
我的電腦 - 屬性 - 高階系統設定 - 環境變數 - Path
重啟VSCode
用VSC新建一個資料夾後,再資料夾中建立一個c檔案,輸入測試程式碼:
#include <stdio.h>
int main(int argc , char * args[]){
printf("hello my world \n");
return 0;
}
點選左側除錯按鈕,再點選齒輪。
在彈出的選擇環境中選擇 C++(GDB)
然後會在工作目錄下的.vscode中生成一個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": "E:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應
"preLaunchTask": "g++", // 除錯會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
特別注意替換launch.json中miDebuggerPath為自己的MinGW目錄所對應的路徑。
替換後儲存,然後切換至test.c,按F5進行除錯,此時會彈出一個資訊框要求你配置任務執行程式,點選它,選擇最下面的Others。將彈出的tasks.json內容用下面的json替換
{
"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
}
}
}
儲存後,切換至test.c,再次按F5啟動除錯,如果配置成功可以看到介面一閃而過。
如果需要用到c++的一些函式庫還需要配置 c_cpp_properties.json