之前分享過在 Windows 使用 Visual Studio Code 寫 C/C++ 的開發環境安裝方法。小閃光這學期學 C/C++ 想用 VSCode 開發,跟我說她看了文章但沒安裝成功...

登楞! 身為 Windows / VSCode 推坑人,這如同 KPI 沒達成,況且還在我眼皮子底下發生,那可不成!

立即成立緊急應變小組,研擬改善方針。

經過研究測試,我發現新版 VSCode 只需 MinGW 跟 C/C++ Extension Pack 就能編譯及偵錯 C++ 程式,不再需要 Clang、Code Runner 擴充套件。參考: Using GCC with MinGW

小閃光的問題卡在 MinGW 不知如何下載安裝,我打算用 CLI 安裝工具簡化。Chocolatey 可安裝 MinGWVSCode,C/C++ Extension Pack 也可以透過指令安裝,理論上可從頭到尾全用 CLI 指令搞定。

我整理出以下 PowerShell 腳本,完全使用指令在 Winodws 安裝 MinGW、VSCode,最後還生出一個 helloworld.cpp 以實測 C++ 程式偵錯:

# 安裝 Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 安裝 MinGW
choco install -y mingw
# 安裝 VSCode (若已裝好可省略本步驟)
choco install -y vscode
# 不重開 PowerShell,原地更新 Path
$env:Path=(
    [System.Environment]::GetEnvironmentVariable("Path","Machine"),
    [System.Environment]::GetEnvironmentVariable("Path","User")
) -match '.' -join ';'
# 安裝 C/C++ 開發套件組
code --install-extension ms-vscode.cpptools-extension-pack
# 建立資料夾測試 C++ 程式 (請依環境自行修改路徑)
cd c:\
mkdir vscode-cpp-demo
cd vscode-cpp-demo
# C++ 範例程式 
$code = @"
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}
"@
$code | Out-File helloworld.cpp -Encoding utf8
code .

註:在 VSCode 編譯及偵錯 C++ 細節可參考 VSCode 官網範例

靠著以上的安裝腳本懶人包,理論上只需在 Winodows 開個具管理者權限的 PowerShell 視窗,貼上按 Enter 執行即可無腦裝好開發環境。

而依 Windows 版本不同,開啟管理者權限 PowerShell 視窗的做法略有不同:

通用做法則是在搜尋輸入 PowerShell,再點選以系統管理員身分執行。參考:如何啟動 PowerShell?

最後,用在 Windows 沙箱的全新環境從無到有安裝 VSCode + MinGW 並偵錯第一支 C++ 程式作為結尾。

安裝示範


Comments

# by lens303

安裝好也成功編譯了,感謝分享 但是我不知道接下來能幹嘛XD找本書來學?

# by 恩宇

我的媽呀 終於可以脫離dev c++了 之前一直無法在vscode上安裝 明明python都用得很正常 感謝作者!

# by sdfserdwgvf

不能用

# by 紅花

可以安裝,編譯,謝謝囉。 樓上說安裝後不知道能幹嘛, 那可以連線到 w3schools ( https://www.w3schools.com/c/index.php ) 那裡有免費教學 也有其他程式語言可以學習 而且還可以隨堂測試,

# by Vivic

感謝作者分享, 非常有用

# by Luka

讚的 推推

# by CHUUU

感恩作者 超讚

Post a comment