該文章使用 Google 翻譯處理。
該文章由 Hiyoung 編寫,翻譯自 yexca
其文章 (簡體中文): https://blog.hiyoung.xyz/2022/12/15/997871bc263d/
正文
VSC只是一個純文本編輯器,不是 IDE (集成開發環境),不含編譯器和許多其它功能,所以編譯器要自己裝好
第一步:在 vscode 官網下載軟件,鏈接: Visual Studio Code – Code Editing. Redefined
第二步:我們需要下載一個編譯器,C 語言使用 gcc,鏈接:
MinGW-w64 – for 32 and 64 bit Windows download | SourceForge.net
,選最新版本中的 x86\_64-posix-seh
即可,網站下載可能較慢,下面給出百度網盤鏈接
(以下附上百度網盤秒傳鏈接:b48357234368d9ba439fc0db6e86531d#84cbf1dc60abe4fff77d035540ea3132#140697937#mingw64.zip)
(正常百度網盤鏈接:鏈接: https://pan.baidu.com/s/17FYT\_Y-s-I2yajFc2MICqw 提取碼: ewis )
第三步:將 E:\mingw64\bin 添加到系統變量中(盤符根據自己編譯器安裝的位置)
以 Win11 為例:打開設置->系統->關於->高級系統設置->環境變量->系統變量->點擊Path->編輯-> 瀏覽-> 把對應文件加入即可
第四步:
按 Win+R,運行 cmd(不要跳這一步),輸入 gcc,應該會提示 no input files 而不是“不是內部命令或外部命令”或者“無法將“gcc” 項識別為cmdlet、函數、腳本文件或可運行程序的名稱”。如果是“不是內部命令或外部命令”,說明 gcc 在的文件夾沒有在環境變量的Path中,要加進去才行。如果加了還是這樣,重啟(不要忘記重啟)。如果重啟了還不行,那就是你自己進行的操作有問題。
輸 gcc -v
可以顯示出 gcc 的版本。如果顯示出來的版本與你剛下的不同/更老,說明 Path 裡原本有老版本的編譯器,可能是安裝其它 IDE 時裝上的。則需要去掉 Path 裡原來的那一個 gcc 的路徑。
這兩項驗證一定要符合,否則必須修改環境變量。小心別錯刪了。
第五步:現在打開 vscode,下載相關插件
第六步:我們需要寫兩個 json 文件,下面依次是 launch.json 和tasks.json(兩個文件名也必須是launch.json 和tasks.json ) 注意看代碼註釋,兩個文件都有幾處地方需要將路徑改為自己編譯器的路徑
{
// 使用 IntelliSense 了解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - 生成和調試活動文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\bin\\$ {fileBasenameNoExtension}.exe",//這裡意思生成的二進制代碼會放入當前文件的bin文件夾中,我們需要自己新建一個bin文件夾
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe 生成活動文件"
}
]
}
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活動文件",
"command": "E:\\mingw64\\bin\\gcc.exe",//改成自己的檔案路徑
"args": [
/*"${fileDirname}\\*.c",
"-o",
"${fileDirname}\\bin\\${fileBasenameNoExtension}.exe",
"-g"//多檔編譯*/
"-g",
"${file}",
"-o",
"${fileDirname}\\bin\\${fileBasenameNoExtension}.exe"//這裡意思產生的二進位程式碼會放入目前檔案的 bin 資料夾中,我們需要自己新建一個 bin 資料夾
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always", // 執行任務時是否跳到終端面板,可以為 always,silent,never。具體參見 VSC 的文檔
"focus": true, // 設為 true 後可以使執行 task 時焦點聚集在終端,但對編譯 C/C++ 來說,設為 true 沒有意義
"panel": "shared" // 不同的檔案的編譯資訊共享一個終端面板
},
"detail": "調試器生成的任務。"
},
{
"type": "cppbuild",
"label": "(多文件)gcc.exe - 生成和調試活動文件",
"command": "E:\\mingw64\\bin\\gcc.exe",//改成自己的檔案路徑
"args": [
"${fileDirname}\\*.c",
"-o",
"${fileDirname}\\bin\\${fileBasenameNoExtension}.exe",//這裡意思產生的二進位程式碼會放入目前檔案的 bin 資料夾中,我們需要自己新建一個 bin 資料夾
"-g"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always", // 執行任務時是否跳到終端面板,可以為 always,silent,never。具體參見 VSC 的文檔
"focus": true, // 設為 true 後可以使執行 task 時焦點聚集在終端,但對編譯 C/C++ 來說,設為 true 沒有意義
"panel": "shared" // 不同的檔案的編譯資訊共享一個終端面板
},
"detail": "調試器生成的任務。"
}
],
"version": "2.0.0"
}
至此設置工作基本結束,vscode 有許多好用的插件可以自己探索,未來也會在寫一篇文章推荐一些好用的插件