【其他】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.json
和 tasks.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” 的註釋