1. 程式人生 > 其它 >【其他】OIer 五分鐘速通 VSCode 配置

【其他】OIer 五分鐘速通 VSCode 配置

以下內容在 NOI Linux 上均可用

設定工作區

開啟 VSCode,檔案 -> 開啟資料夾,然後把你寫程式碼的目錄找到並開啟。

開啟後差不多是這樣的:

將 g++ 的目錄加入環境變數

這一步其實不做也可,只要你知道你的編譯器在哪。

如果你安裝了 Dev-Cpp,那 g++ 的目錄應該在 C:\Program Files (x86)\Dev-Cpp\MinGW64\bin,將這個目錄加入環境變數即可(可以百度搜如何加)。

安裝 C/C++ 外掛

在 VSCode 的擴充套件商店搜尋 C/C++ 外掛並安裝(NOI Linux 上的 VSCode 是已經裝好這個外掛了的)

配置編譯器和執行選項

隨便建立一個 cpp 檔案,然後按 F5,選擇 C++ (GDB/LLDB)

等待一下,VSCode 會報一些錯,不用管。看到你的工作目錄下面多出了一個 .vscode 資料夾,裡面有 launch.jsontasks.json 檔案。

開啟 launch.json,然後點選 VSCode 左側的編譯與除錯。

點選綠色三角旁邊的候選欄,點選新增配置。

選擇 C/C++ Windows 啟動

這樣你的 launch.json 裡就應該存在了兩種配置,一種是直接執行,一種是除錯:

把除錯配置裡的 preLaunchTask 給複製到上面的配置裡:

除錯的配置如果用不到可以刪除(實際上我也不會用)。

然後把 "program": "輸入程式名稱,例如 ${workspaceFolder}/a.exe", 修改成 "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",,含義在後面有說。

這樣 launch.json 就配置好了。可以直接用我的:

{
    // 使用 IntelliSense 瞭解相關屬性。 
    // 懸停以檢視現有屬性的描述。
    // 欲瞭解更多資訊,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) 啟動",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal",
            "preLaunchTask": "C/C++: g++.exe 生成活動檔案"
        }
    ]
}

然後編輯 tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活動檔案",
            // 如果你把 g++ 加入了環境變數,這裡也可以直接填 g++
            "command": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\g++.exe",
            // 下面是 g++ 的編譯選項
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe", // ${fileDirname} 表示將會被編譯的檔案所在目錄,${fileBasenameNoExtension} 表示去掉副檔名後的檔名
                "-std=c++14", // 視情況而定
                "O2"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "偵錯程式生成的任務。"
        }
    ],
    "version": "2.0.0"
}

然後按 Ctrl+Shift+P,輸入 C/C++ 並選擇編輯配置:

這樣 .vscode 檔案裡會多出一個 c_cpp_properties.json 檔案,編輯它:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
				"HRJ" // 可以新增編譯時 define 的東西
            ],
            "compilerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14", // 視情況而定
            "intelliSenseMode": "gcc-x64" // 就填這個
        }
    ],
    "version": 4
}

大功告成!回到你隨便弄的 cpp 檔案,按 F5,理論上會彈出黑視窗表示編譯並執行成功!

然後因為安裝 C/C++ 擴充套件的時候會自動安裝 clang-format 擴充套件。所以你還可以設定程式碼自動格式化。

首先把 Format On Save 設定為 true

這個時候只要你按 Ctrl + S 儲存檔案就會自動格式化了。

可以在工作區目錄下建立 .clang-format 檔案來進行一些自定義設定:

NamespaceIndentation: All // 縮排所有 namespace 裡的內容
AllowShortBlocksOnASingleLine: true // 允許短程式碼塊寫在一行
AllowShortFunctionsOnASingleLine: All // 允許短函式寫在一行
AllowShortLoopsOnASingleLine: true // 允許短迴圈一行
AllowShortIfStatementsOnASingleLine: AllIfsAndElse // 允許短 if else 語句寫在一行
FixNamespaceComments: false // 不在 namespace 後新增形如“// namespace xxx” 的註釋