新手VSCode設定C++20

2023-11-25 15:00:36

最近買了本C++20的書,想要自己設定下在VScode的環境

例子程式碼:

#include <iostream>
#include <format>

int main()
{
  std::cout << std::format("Hello, world! {0}", 123) << std::endl;
  // 輸出:Hello, world! 123

  std::string str = std::format("The answer is {0}", 42);
  // str 的值為 "The answer is 42"

  int a = 1, b = 2;
  std::cout << std::format("a = {0}, b = {1}", a, b) << std::endl;
  // 輸出:a = 1, b = 2
}

 以下是詳細步驟:

1.首先下vscode的C++外掛

 輸入了程式碼但不能直接編譯執行程式碼,所以我們還需要下載最新版的C++20 MinGW。

2、去官網下載gcc最新版本

官網的地址

 https://www.mingw-w64.org/

點選下面的Downloads

點選進入Downloads頁面後找到這個超連結MingW,再次點選

點選這裡的GitHub按鈕

 跳轉到Github網站頁面中,頁面是這個樣子(本文寫的日期是2023年11月24日,頁面可能不符合,選擇最新版本下載就好)

 找到這個下載

 

如果下載失敗或者無法上GitHub的,可以使用我的連結分享,也能支援C++20

連結:https://pan.baidu.com/s/1E5M-olqoC5d0w465rWYgyA?pwd=qxc2
提取碼:qxc2

 下載完成後就去資料夾中解壓,解壓後大概是這個樣子

設定計算機中的環境變數,在path中新增bin的路徑,我自己是安裝在C槽下,如果你們下載在其他盤中,選擇成自己的路徑,不需要一定C槽

在cmd命令提示字元視窗中輸入gcc -v檢視版本

 出現這些內容就說明你gcc設定環境變數好了

3.去設定VSCode檔案

來到VS Code,去修改cpp的組態檔,去 c_cpp_properties.json 檔案裡,在"includePath"下加入4條標頭檔案路徑,然後把"compilerPath"改掉,"cppStandard"直接換成c++20或c++23 。

這裡的執行就算編譯失敗也無所謂,先編譯生成.vscode資料夾

 

你cpp資料夾中.vscode資料夾中

我的c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "C:\\Program Files\\mingw64\\include",
                "C:\\Program Files\\mingw64\\x86_64-w64-mingw32\\include",
                "C:\\Program Files\\mingw64\\lib\\gcc\\x86_64-w64-mingw32\\12.2.0\\include",
                "C:\\Program Files\\mingw64\\lib\\gcc\\x86_64-w64-mingw32\\12.2.0\\include\\c++",
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++23",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}  

然後進入到 tasks.json ,對args、command和label做一些修改,command也可以直接寫g++;args裡一定要寫"-std=c++2a"或者"-std=c++23"。 

 {
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活動檔案",
            "command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
    "${file}",
                "-std=c++23",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "偵錯程式生成的任務。"
        }
    ],
    "version": "2.0.0"
}  

重新啟動一下vscode,然後編譯應該能執行了

 輸出結果

 4.設定code Runner,以支援C++20

首先去外掛中下載coderunner,下載後重啟vscode,然後右鍵點選codeRunner進去外掛的擴充套件設定中

設定預設程式語言C++

 然後找到Executor Map,點 「在 settings.json 中編輯」, 

 在cpp那一行g++後面加上 -std=c++2a(這裡不能支援23),儲存然後返回程式碼 。

我的那行程式碼

    "cpp": "cd $dir && g++ -std=c++2a $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
 

現在重啟vscode後再次返回cpp程式碼中,右鍵Run Code,現在就能直接編譯執行了

 現在就完成了VSCode對於C++20的設定,希望能幫助到大家。