貌似微軟想讓所有的IDE都最小化安裝了,實現全部插件化,VSCode 中居然連最基本的C環境都需要配置,最新版的Visual Studio也是可以不安裝任何東西,直接運行空殼子。
VSCode中配置環境大概分以下幾步:
- 下載安裝VSCode
- 安裝 C/C++ for Visual Studio Code
- 安裝MinGW、配置系統環境變量
- 修改VSCode配置文件
首先打開VSCode
安裝微軟官方C/C++ for Visual Studio Code
在VSCode界面中快捷鍵Ctrl+P 呼出輸入框輸入
ext install c
彈出擴展商店選擇第一個微軟官方插件
使用MinGW安裝g++編譯
確認好安裝目錄後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