# 用 Visual Studio Code 寫 C/C++ ## 前言 This is for Windows 雖然 Windows 環境問題一律建議裝 wsl 再用 Vscode 遠端連線進去 ## 安裝 Visual Studio Code * [Visual Studio Code](https://vscode.dev.org.tw/download) 延伸模組也裝一裝 ![image](https://hackmd.io/_uploads/SJpiYqth0.png) ## 裝 MSYS2 因為 Visual Studio Code 本身只是個文字編輯器,所以編譯器要自己裝。 這邊透過 MSYS2 來裝。 去 [MSYS2](https://www.msys2.org/) 可以找到一個安裝檔,載下來執行。 安裝過程會要選安裝的位置,底下的內容都是假設讀者是裝在預設的位置。 安裝完之後會跳出一個黑黑的視窗 ![image](https://hackmd.io/_uploads/HJc8jctnR.png) 如果沒有的話就請手動把它打開 ![image](https://hackmd.io/_uploads/ryr5n5Kh0.png) 這樣就成功了,下一步是要來裝 MinGW-w64 toolchain ## 安裝 MinGW-w64 toolchain 在剛剛那個 terminal 裡面輸入以下指令 ```shell pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain ``` 出現 `Enter a selection (default=all): ` 時按 `Enter`, 然後稍微等一下就好了 如果跑出錯誤訊息的話可以試試看把剛剛的 terminal 關掉,改成用管理員身分執行。 ## 設定環境變數 ![image](https://hackmd.io/_uploads/B1xqR5KnC.png) 點進去後選環境變數 -> 上面的框框選 Path -> 編輯 進去後新增 -> 輸入 `C:\msys64\ucrt64\bin` -> 一路按確定 這樣就好了,重開機讓環境變數生效 ## 確認安裝結果 打開 powershell 或 cmd,輸入 ```shell gcc --version g++ --version gdb --version ``` 應該要看到類似這樣的訊息 ![image](https://hackmd.io/_uploads/rJ4elsFhC.png) ## 編寫 C++ 程式 打開 Visual Studio Code,開啟資料夾後新增檔案 `hello.cpp` ![image](https://hackmd.io/_uploads/HksDgjY3R.png) 就可以開始寫了 ## 編譯並執行 如果是寫 C 語言的話就把 `g++` 改成 `gcc` 就好 ```cpp= #include <iostream> using namespace std; int main() { cout << "hello, world" << endl; return 0; } ``` 寫完程式之後 ctrl + ~ 叫出 terminal 輸入 `g++ hello.cpp -o hello.exe` 這時候應該會發現側邊欄多了一個 `hello.exe`,那個就是編譯出來的檔案 在 terminal 輸入 `./hello.exe` 以執行它 好,這樣就完成了 ## 不用 terminal 的方法 這個方法會同步使用 gdb,對於 debug 的時候很方便 右上角的播放鍵旁邊有個選單,按下去 ![image](https://hackmd.io/_uploads/B1-Rbjt20.png) 選擇執行 C/C++ 檔案後會看到以下選單 ![image](https://hackmd.io/_uploads/ByAG7iF3R.png) 選 g++ 的那個,然後 terminal 會開始跑出一堆字 結束之後如果停在這個畫面 ![image](https://hackmd.io/_uploads/ByAg4itnR.png) 按回終端機就可以看到執行結果了 ![image](https://hackmd.io/_uploads/BysZ4jF2A.png) ## Code Runner 或者選擇用 Code Runner 這個延伸模組 ![image](https://hackmd.io/_uploads/r1FUVsYhR.png) 安裝之後右上角播放鍵的選單會多一個 Run Code,按下去就好 ![image](https://hackmd.io/_uploads/BkD9EsF2C.png) 記得要去設定把 `code-runner.runInTerminal` 打開 ## reference <https://vscode.dev.org.tw/docs/cpp/config-mingw>