在本教程中,將會安裝 Visual Studio Code(后簡稱 VS Code),并在 VS Code 中安裝 C/C++ 相關(guān)插件, 同時也將 VS Code 配置為使用 MinGW-W64 中的 GCC C/C++ 編譯器(gcc/g++)和 GDB 調(diào)試器來創(chuàng)建在 Windows 上運行的程序。配置 VS Code 后,你將編寫、編譯、運行和調(diào)試大多數(shù)的 C/C++ 程序。
本教程所有參考內(nèi)容均來自Documentation for Visual Studio Code。
一、軟件下載
1. 下載 VS Code 安裝工具
官方下載鏈接:Visual Studio Code - Code Editing. Redefined
直接點“Download for Windows”就可以進行下載。
2. 下載 MinGW-W64
MinGW-W64 可以去MinGW-w64的官網(wǎng)下載,也就可以直接去 MinGW-W64 的 GitHub 上下載。由于在官網(wǎng)下載容易下錯,所以我這里給一個 GitHub 的鏈接,也是在 VS Code 上提供的鏈接。(官方認(rèn)證,絕對沒錯?。?/p>
MinGW-W64下載鏈接:Releases · msys2/msys2-installer (github.com)
進入鏈接后,可以看到歷史版本的更替,截至本教程編寫日期,最新版本為 2024-01-13 的版本,單擊日期跳轉(zhuǎn)至下載窗口。
如下圖所示,選擇msys2-x86_64-20240113.exe
(記住前綴是 msys2-x86_64 就行,后面是日期),點擊后面的下載標(biāo)志。
二、安裝 VS Code
雙擊運行VSCodeUserSetup-x64-1.87.2.exe
。
如果出現(xiàn)如下彈窗,單擊運行
即可。
選擇我同意此協(xié)議
并單擊下一步
。
這里提示 VS Code 的安裝位置,我只有一個 C 盤(現(xiàn)在的固態(tài)硬盤可以選擇不分區(qū)),所以選擇默認(rèn)默認(rèn)路徑,直接點擊下一步
。當(dāng)然,你的電腦硬盤要是有分區(qū)的話,可以選擇其他路徑。
這一步是創(chuàng)建快捷方式的名字,可以輸入其他名字,下面的選項如果不勾選,就會把快捷方式添加到開始菜單中。我選擇默認(rèn),直接點下一步
。
默認(rèn)只有最后兩項被選中,我全部選上,單擊下一步
。
最后再確認(rèn)一下信息,確認(rèn)之后直接安裝即可。
大概一分鐘左右就可以安裝完成。
安裝完成后,先暫時不運行 VS Code,把勾選去掉,點擊完成
。
三、安裝 MinGW-W64 及配置環(huán)境變量
雙擊msys2-x86_64-20240113.exe
運行安裝程序。
[!CAUTION]
請注意,MSYS2 需要 64 位 Windows 8.1 及以上版本。
此界面直接點擊下一步
。
選擇安裝的路徑,我這里選擇默認(rèn),同學(xué)們可以根據(jù)自己的情況修改路徑,之后點擊下一步
。
開始菜單中的名字,這個還是可以直接默認(rèn),點擊下一步
。
開始安裝。
待進度條走完,直接點擊下一步
。
默認(rèn)勾選立即運行MSYS2
,單擊完成
。
當(dāng)按下完成
之后,會彈出打開一個 MSYS2 終端窗口。
在此終端中,通過輸入以下命令并按回車鍵,安裝 MinGW-w64 工具鏈:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
出現(xiàn)這個界面,直接按回車鍵,默認(rèn)接受所有的安裝包。
當(dāng)系統(tǒng)提示是否繼續(xù)安裝時,請輸入y
并回車。
之后就進入安裝過程,稍等片刻。
當(dāng)所有的包都安裝好后,直接關(guān)閉終端。
打開安裝 MSYS2 的目錄,先找到ucrt64
文件夾并進入,再找到bin
文件夾并進入,然后在地址欄中,復(fù)制路徑。
如果一開始用默認(rèn)路徑,那路徑就是C:\msys64\ucrt64\bin
。
然后在搜索框中輸入 編輯系統(tǒng)環(huán)境變量
,并打開編輯系統(tǒng)環(huán)境變量的設(shè)置界面。
在系統(tǒng)屬性的彈窗中,點擊環(huán)境變量
。
在彈出的環(huán)境變量彈窗中,找到用戶變量的Path
,并雙擊打開。
此時會彈出編輯環(huán)境變量的窗口,先點擊新建
按鈕,然后會在空白行中出現(xiàn)一個輸入框和一個閃爍的光標(biāo),在這里粘貼上廣告復(fù)制的路徑,最后點擊確定
按鈕回到上層彈窗。
最后逐層彈窗點擊確定
按鈕退出即可。
最后做一下測試,按組合鍵Win + r
之后,輸入cmd
回車。
回車之后,就可以調(diào)出 CMD 的終端窗口了,然后分別輸入下面的命令,每輸入一次命令后回車一次。
gcc --version
g++ --version
gdb --version
出現(xiàn)如下圖一樣的信息,就說明 C/C++ 的編譯環(huán)境已經(jīng)安裝好。
四、配置 VS Code 的 C/C++ 編程運行環(huán)境
1. 漢化 VS Code(選做)
這個配置環(huán)節(jié)并不屬于 C/C++ 編程運行環(huán)境的配置必要環(huán)節(jié),先挑戰(zhàn)或想適應(yīng)英文開發(fā)環(huán)境的同學(xué)可以跳過。
考慮到很多同學(xué)的英文水平可能不是很好,對于全英文的開發(fā)環(huán)境會犯難,這里可以使用 VS Code 自帶的漢化插件來解決這個問題。
首先啟動 VS Code 軟件,按下組合鍵Ctrl + Shift + x
,或者直接點擊左邊的第五個小圖標(biāo),進入Extensions
。
在上方輸入框中鍵入Chinese
,擴展插件的列表會刷新出漢化插件,點擊對應(yīng)的Install
按鈕進行安裝。
安裝好后,軟件界面的右下角會彈出通知,并附帶Change Language and Restart
的按鈕,點擊這個按鈕,即可重啟軟件。
軟件重啟后,就是中文的界面了。
2. 安裝 C/C++ 擴展包
在Extensions
中搜索“C++”,列表第一個擴展包就是我們要的,點擊安裝
即可。
[!TIP]
上圖中的
C/C++ Extension Pack
是 C/C++ 的擴展功能包,里面包含了一些項目管理和代碼構(gòu)建的工具,不是必要的擴展包,可以選擇性安裝。
五、測試 VS Code 的 C/C++ 編程環(huán)境
1. 創(chuàng)建代碼文件夾
VS Code 是一款基于文件夾進行代碼編輯和管理的編輯器,通常我們會把新建一個文件夾來管理同一個項目的代碼,并在 VS Code 中打開。
我新建了一個名為Code
的文件夾,并在里面新建了一個用于專門放 C 語言代碼的文件夾。
[!WARNING]
需要注意的是,這個路徑最好不要存在中文,否則會出現(xiàn)編譯失敗等問題。
打開 VS Code,點擊打開文件夾
的按鈕。
在彈窗中找到剛剛新建的C
文件夾,選中文件夾,再點選擇文件夾
。
選中文件夾后,在新彈出的窗口中,勾選上信任父文件夾"Documents"中所有文件的作者
,再點是,我信任此作者
。
文件添加好后,在左邊的資源管理器中會出現(xiàn)CODE
文件夾以及子文件夾C
,把鼠標(biāo)放在文件夾上面,會出現(xiàn)四個小圖標(biāo)。四個小圖標(biāo)從左往右的作用分別是新建文件、新建文件夾、刷新資源管理器以及在資源管理器中折疊文件夾。
好了,做到這一步,接下來就可以進行代碼的運行和調(diào)試了。
2. 單個 .c 文件的運行和調(diào)試
為了方便管理代碼,我們先選中C
文件夾,再點擊新建文件夾
按鈕。
此時會在C
文件夾的下級出現(xiàn)一個輸入框,我們新建一個名為test
的文件夾。
鼠標(biāo)右鍵test
文件夾,在彈出的菜單中選擇新建文件
。
在輸入框中輸入我們接下來要進行調(diào)試代碼文件名,命名為test.c
,注意,一定要是 .c 結(jié)尾。
接下來就可以輸入一個調(diào)試程序了,我的代碼如下:
#include <stdio.h>
int main()
{
for (int i = 0; i < 5; i++)
printf("Hello Grayson~%d\n", i);
return 0;
}
寫好測試代碼后,點擊右上角的調(diào)試按鈕,這時會彈出調(diào)試程序的選項,選擇第一個,也是本教程前面安裝的 gcc 編譯工具。
這時文件就被編譯并執(zhí)行,如果在右下角彈出如下窗口,點擊是
即可。
運行結(jié)果如圖所示。
如果要進行簡單的斷點調(diào)試,可以在行號前加一個斷點,操作也很簡單,只需用鼠標(biāo)左鍵點一下行號左邊的空白處即可。如下圖所示,是在第六行處加了一個斷點。
這時再去運行程序,搜索框下面就會出現(xiàn)調(diào)試的面板,面板上有六個按鈕,分別是繼續(xù)、逐過程、單步調(diào)試、單步跳出、重啟和停止。
[!IMPORTANT]
以下是 VS Code 中的 C 語言代碼調(diào)試面板功能的解釋:
- 繼續(xù)(Continue):繼續(xù)執(zhí)行程序,直到遇到下一個斷點或程序結(jié)束。
- 逐過程(Step Over):逐行執(zhí)行當(dāng)前行,如果當(dāng)前行是函數(shù)調(diào)用,則進入該函數(shù)并執(zhí)行完畢。
- 單步調(diào)試(Step Into):逐行執(zhí)行當(dāng)前行,如果當(dāng)前行是函數(shù)調(diào)用,則進入該函數(shù)并停在函數(shù)內(nèi)的第一行。
- 單步跳出(Step Out):執(zhí)行完當(dāng)前函數(shù)的剩余部分,并停在當(dāng)前函數(shù)被調(diào)用的下一行。
- 重啟(Restart):重新啟動程序的調(diào)試會話,即從程序的起點開始執(zhí)行。
- 停止(Stop):停止程序的調(diào)試會話,結(jié)束調(diào)試過程并關(guān)閉程序執(zhí)行。
目前這個程序還不能很好說明以上的調(diào)試功能(至少逐過程、單步調(diào)試和單步跳出這三個并不明顯),所以在后面的內(nèi)容將以另一個代碼進行演示。
3. 多個 .c 文件的運行與調(diào)試
如果想要進行多個 .c 文件編譯后的調(diào)試,就需要進行一些配置修改。如果進行過一次編譯運行,我們會發(fā)現(xiàn)在資源管理器的C
文件夾下,多出一個.vscode
的文件夾,這個文件夾里面有個tasks.json
的文件
這個文件是用于定義任務(wù)配置,這些任務(wù)可以在 VS Code 中運行,例如編譯代碼、運行測試、啟動調(diào)試器等。tasks.json
文件是一個 JSON 格式的文件,其中包含了任務(wù)的配置信息,包括任務(wù)名稱、命令、參數(shù)等。通過編輯tasks.json
文件,我們可以自定義項目中的各種任務(wù),并在 VS Code 中方便地執(zhí)行這些任務(wù)。
當(dāng)前的 VS Code 的運行效果還不是很理想,雙擊打開tasks.json
文件修改一下編譯運行功能。下圖是對該 JSON 文件做了部分解釋。
具體修改如下圖所示,我注釋掉了原來的"${file}"
,并新增一行"*.c"
,表示并非指定某一個 .c 文件,而是當(dāng)前文件夾下所有的 .c 文件。同時也把"${fileDirname}\\${fileBasenameNoExtension}.exe"
注釋掉,改成"${fileDirname}\\program.exe"
,那么多個 .c 文件編譯之后的可執(zhí)行文件就是program.exe
。
修改好后,按組合鍵Ctrl + s
保存即可。
然后點擊左側(cè)的運行與調(diào)試
,再點擊創(chuàng)建launch.json文件
。
搜索框會彈出選項,選擇C++(GDB/LLDB)
。
然后 VS Code 會新建一個 JSON 文件,點擊右下角的添加配置
,在彈出的下拉菜單中選擇C/C++:(gdb)啟動
。
此時,JSON 文件會多出一些配置信息,需要我們修改的內(nèi)容如下圖所示的紅框標(biāo)志內(nèi)容。
修改為下圖紅框所示內(nèi)容,“program”
后的內(nèi)容就是前面提到的tasks.json
文件中的編譯后產(chǎn)生的可執(zhí)行文件。"miDebuggerPath"
后面的則是前面安裝的 MinGW-W64 的 gdb 工具的路徑。修改后保持關(guān)閉。
[!NOTE]
在復(fù)制粘貼 gdb 的路徑時,不少小伙伴會忽略掉下圖所示的問題。反斜杠是轉(zhuǎn)義字符的作用,應(yīng)該像上圖一樣多加一個一個反斜杠才表示路徑。
之后,我們進行多文件的編譯調(diào)試,先在C
文件夾下新建一個新的文件夾,我這里命名為test2
,并在這個文件夾里面新建三個文件,分別是test.c
、max.h
和max.c
。
代碼如下:
max.h
#ifndef __MAX_H__
#define __MAX_H__
#include <stdio.h>
int findMaxNum(int num1, int num2);
#endif // __MAX_H__
max.c
#include "max.h"
int findMaxNum(int num1, int num2)
{
return num1 > num2 ? num1 : num2;
}
test2.c
#include <stdio.h>
#include "max.h"
int main()
{
int a = 10;
int b = 20;
int c = findMaxNum(a, b);
printf("%d\n", c);
return 0;
}
代碼寫好后,給test2.c
的第 8 行代碼打一個斷點,再點調(diào)試按鈕旁邊的小三角形,在下拉菜單中選擇調(diào)試C/C++文件
。
調(diào)試面板依舊是之前的那個。如果點擊繼續(xù)
,調(diào)試過程會跳到下一個斷點,不過我們這個程序只打了一個斷點,所以會直接運行到程序結(jié)束并退出調(diào)試。
如果點擊逐過程
,則在不進入函數(shù)內(nèi)部,而是直接輸出函數(shù)的運行結(jié)果,然后跳到下一行。
如果點擊單步調(diào)試
,則會進入被調(diào)用函數(shù)的內(nèi)部,繼續(xù)點擊單步調(diào)試
會一步一步執(zhí)行并返回。如果進入函數(shù)后,點擊單步跳出
則直接帶著函數(shù)的執(zhí)行結(jié)果返回被調(diào)用處。
參考資料
《Running Visual Studio Code on Windows》
《C++ programming with Visual Studio Code》
《Get Started with C++ and MinGW-w64 in Visual Studio Code》文章來源:http://www.zghlxwxcb.cn/news/detail-861413.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-861413.html
到了這里,關(guān)于VS Code 配置 C/C++ 編程運行環(huán)境(保姆級教程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!