--- tags: vscode, mingw, c, c++ --- # Windows VSCode MinGW C 語言開發攻略 > [<small><i class="fa fa-fw fa-github"></i>VJ</small>](https://github.com/twjmy) 參考微軟官方文件 * [Get Started with C++ and Mingw-w64 in Visual Studio Code](https://code.visualstudio.com/docs/cpp/config-mingw) [toc] ## 安裝 1. 下載並安裝 [Windows VS Code](https://code.visualstudio.com/docs/?dv=win) 2. 給 VS Code 安裝 [C/C++延伸模組](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack). 3. 按[此頁](https://www.msys2.org/)指示,下載並安裝 MSYS2 * 安裝完後於 MinGW 執行以下指令,安裝 Mingw-w64 時,`-y` 可跳過詢問輸入 `[Y/n]` 的步驟 ```bash pacman -Sy -y mingw-w64-x86_64-gcc ``` * :::spoiler [可選] 將 MinGW 語系改為中文 > **逐行**執行以下命令可將 MinGW 語系改為中文 > ```bash > export LANG=zh_TW.UTF-8 > export LC_ALL="zh_TW.UTF-8" > export LC_TIME="zh_TW.UTF-8" > export LC_CTYPE="zh_TW.UTF-8" > export LC_NUMERIC="zh_TW.UTF-8" > export LC_COLLATE="zh_TW.UTF-8" > export LC_MONETARY="zh_TW.UTF-8" > export LC_MESSAGES="zh_TW.UTF-8" > ``` ::: * **我以前以為跑完MSYS2官網的步驟VS Code就可以跑了,請把下面步驟做完** 4. 執行以下指令安裝 Mingw-w64 工具組,`-y` 可跳過詢問輸入 `[Y/n]` 的步驟 ```bash pacman -Sy -y --needed base-devel mingw-w64-x86_64-toolchain ``` * 接受預設(default)選項,預設就按 <kbd>Enter ↲</kbd> ![](https://i.imgur.com/Eu7O9mL.png) ## 將 Mingw64 加入環境變數 1. 按下 <kbd><i class="fa fa-fw fa-windows"></i></kbd>+<kbd>R</kbd> 後在執行視窗**輸入**下面指令後不要按**確認** ```bash rundll32 sysdm.cpl,EditEnvironmentVariables ``` 2. 按 <kbd>Ctrl</kbd>+<kbd>Shift ⇧</kbd>+<kbd>Enter ↲</kbd> 以:shield:系統管理員身分執行 3. 在「系統變數」找到變數`Path`後按「編輯」,再按「新增」 4. 輸入*預設安裝路徑*: `C:\msys64\mingw64\bin` 後點擊空白處確認,若裝在其他地方記得改 ![](https://i.imgur.com/ByAVsEu.png) ## 新增終端機 > 下面步驟參考[這個gist](https://gist.github.com/dhkatz/106891324c9624074a84d11e2691144b),但 VS Code 的設定變數更新了,以下步驟為寫這篇文章時成功的設定 > [time=2022,10,6 12:00 PM] 在你的 VS Code 設定 JSON 檔中的 `terminal.integrated.profiles.windows` 變數清單中加上 ```bash "MINGW64": { "path": "C:\\msys64\\usr\\bin\\bash.exe", "label": "MSYS2", "args": [ "--login", "-i" ], "env": { "MSYSTEM": "MINGW64", "CHERE_INVOKING": "1", "MSYS2_PATH_TYPE": "inherit" } }, ``` ![](https://i.imgur.com/2PDMMWA.png) 完成 ![](https://i.imgur.com/M5SYkQu.png) :::spoiler [可選] 預設 VS Code 終端機為 MINGW64 > 若希望將 MINGW64 設為預設終端機可以將 `terminal.integrated.defaultProfile.windows` 的值改為 `"MINGW64"` > ```bash > "terminal.integrated.defaultProfile.windows": "MINGW64", > ``` > ![](https://i.imgur.com/4nmolzP.png) > :::danger > :warning:**但是!如果要跑 C/C++ 請不要將 MINGW64 設為預設終端機,VS Code 在 `./.vscode` 生成的指令不適用 MINGW64,請改用原本的 Powershell** > ::: ::: ## Hello world ```cpp #include<stdio.h> int main() { printf("Hello World!"); return 0; } ``` 撰寫上面 C 語言文件,按下執行鍵 ![](https://i.imgur.com/L2bfdZ3.png) 選第一個 ![](https://i.imgur.com/PacLe8P.png) 雖然會有一些編譯步驟和一長串指令,但還是執行完了 ![](https://i.imgur.com/GiFL0IM.png) 注意每次執行完**都會生出這些檔案**: 1. EXE 執行檔 2. VS Code 建置工作參數文件 `.vscode/tasks.json` ![](https://i.imgur.com/3LJjwSM.png) ## 完成 好了現在你的 VS Code 能跑 C/C++ 程式了,欲知更多開發時用的功能如偵錯、環境參數設置等內容,請參考最上面的[官方文件](https://code.visualstudio.com/docs/cpp/config-mingw)。