具體說明細節和安裝體驗能夠在《⑨也懂系列:MinGW-w64安裝教程》這裏查看。這裏只記錄一下安裝設置和變量設置。ios
若是剛 Next 就出現 Cannot download reposytory.txt[0]
錯誤,能夠嘗試關閉殺毒軟件(包括 Windows Defender),並以管理員方式運行。c++
x86_64
,32 位選 i686
win32
,開發 Linux、Unix、Mac OS 等其餘 posix 協議的操做系統程序選 posix
seh
:性能優化好,優選sjlj
:穩定性好dwarf
:性能優化好sjlj
:穩定性好打開 此電腦-屬性-高級系統設置-高級-環境變量
,在 系統變量-Path
編輯並新建添加你 MinGw-w64 安裝目錄下的 bin 文件夾路徑,例如 C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin
。保存便可。git
能夠在 cmd
或 powershell
中運行 gcc --version
判斷是否安裝正確。(安裝正確會輸出版本號)github
重啓 VS Code。shell
這裏須要先注意的是,這裏的全部配置都是基於一個工做區(文件夾)的(由於編輯器編譯調試須要配置文件),固然你也能夠直接打開文件夾。但若要直接編譯 .c&.cpp
文件,能夠直接執行 ~gcc {.c}
, ~g++ {.cpp}
進行編譯。json
先新建並打開你的工做(代碼運行)區。segmentfault
這裏還須要注意的是,添加好環境變量後必定要重啓 VS Code。必須退出後從新啓動,不然編輯器沒法識別編譯指令。windows
C/C++ 拓展供了針對 C/C++ 的 IntelliSense 與調試等功能,搜索「C/C++」便可直接安裝。性能優化
Ctrl+Shift+P
打開命令面板,運行 C/Cpp: Edit configurations
,插件會在當前目錄下建立 .vscode/c_cpp_properties.json
配置文件,只針對本次的項目。架構
若你係統已安裝 Visual Studio,它會自動將編譯器等設置連接過去,但咱們這不須要它。能夠參考如下配置:
{ "configurations": [ { "name": "MinGW", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "{your_mingw-w64_bin_gcc.exe_path}", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }
上面的 {your_mingw-w64_bin_gcc.exe_path}
替換成你須要的編譯器路徑。例如:
C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe
C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe
/
, \\
都是可行的)關於庫文件設置,C/C++ 擴展已經能夠經過 compilerPath
自動推斷頭文件以及庫文件所在的目錄,因此無需手動配置。
配置好上述文件後,能夠先寫一段 C/C++ 代碼,測試編譯並調試一下。(如下全部展現的配置只適用於單文件的編譯並調試)
#include <stdio.h> int main() { printf("hello world"); return 0; }
編譯以前,須要先建立 .vscode/tasks.json
(無需手動建立)。這個配置文件提供命令行構建配置,讓編譯器調用而後終端執行。
Ctrl+Shift+P
打開命令面板,運行 Tasks: Configure Task
,選擇 使用模板建立 tasks.json 文件
,選擇 Others 運行任意外部命令的示例
。至此,編輯器會生成 .vscode/tasks.json
文件。編輯文件,例如:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { // 任務標籤名 "label": "compile", // 任務類型 "type": "shell", // 編譯器選擇 "command": "gcc", // 編譯預執行的命令集 "args": [ "-g", "\"${file}\"", "-o", "\"${fileDirname}\\${fileBasenameNoExtension}\"" ], // 任務輸出配置 "presentation": { "reveal": "always", "panel": "shared", "focus": false, "echo": true }, // 任務所屬組名 "group": { "kind": "build", "isDefault": true }, // 編譯問題輸出匹配配置 "problemMatcher": { "owner": "cpp", "fileLocation": "absolute", "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] }
簡單地註釋了一下每個配置的目的,具體能夠在 Tasks in Visual Studio Code 查看。
以上是 gcc 編譯器配置,若要編譯 C++ ,將 command
改成 g++
便可。
至此,編輯器的編譯設置已經完成了。能夠在 Ctrl+Shift+P
中輸入 Tasks: Run Build Task
進行編譯,但只會生成 exe 文件,並不會啓動調試。
光編譯在有些時候確定是不夠的,那就須要調試功能了。就是所謂的 Debug 。
Ctrl+Shift+P
打開命令面板,輸入 Debug: Open launch.json
,選擇 C++ (GDB/LLDB)
,編輯器會建立調試配置文件 .vscode/launch.json
。但須要稍加修改,例如(基於 MinGW-w64 的 GDB):
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { // 調試名 "name": "debug", // 調試器類型 "type": "cppdbg", // 請求類型 "request": "launch", // 調試的可執行文件(tasks.json 中配置的編譯輸出的文件) "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 調試參數 "args": [], "stopAtEntry": false, // 當前工做區 "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "{your_mingw-w64_bin_gdb.exe_path}", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], // 調試前啓動的任務 // 要與 tasks.json 中配置的 label 一致 // 老是要先編譯再調試的嘛 "preLaunchTask": "compile", } ] }
上面的 {your_mingw-w64_bin_gdb.exe_path}
替換成你 MinGW-w64-GDB 路徑。例如:
C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gdb.exe
簡單註釋了一下,更多能夠在 Debugging in Visual Studio Code 查看。
至此,基本配置已所有完成。能夠按 F5
開始調試代碼。或者也能夠在 VS Code 的調試界面點擊左上角按鈕進行調試。
另外,畢竟都用 VS Code 這類輕量編輯器寫代碼了嘛,那就推薦一款超好用的代碼調試工具:Code Runner。
它可讓咱們直接在 VS Code 運行各類語言代碼,缺點就是,它很輕量,不支持複雜工程編譯。 搜索「Code Runner」便可直接安裝。接下來,咱們須要設置一下 Code Runner 。
進入 VS Code 設置,右上角坐起第二個按鈕(打開設置),在右欄中輸入相關設置的 json 便可直接進行設置替換。
// 在終端中運行編譯命令,不然咱們沒法與程序經過標準輸入交互 "code-runner.runInTerminal": true, // 若是你全局設置中的默認終端是 WSL 之類的,那麼能夠在工做區設置中改回 PowerShell "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", // 運行代碼以前清除以前的輸出 "code-runner.clearPreviousOutput": true, // 開啓這個後在運行編譯命令以前會自動 cd 至文件所在目錄 "code-runner.fileDirectoryAsCwd": true, // 由於上面那個選項會自動 cd,因此我刪除了默認編譯命令中的 cd 語句 // 這裏只保留了 C 和 C++ 的編譯命令,有須要其餘語言的請自行添加 "code-runner.executorMap": { "c": "gcc $fileName -o $fileNameWithoutExt && .\\$fileNameWithoutExt", "cpp": "g++ $fileName -o $fileNameWithoutExt && .\\$fileNameWithoutExt", }, // 運行代碼後切換焦點至終端,方便直接輸入測試數據 "code-runner.preserveFocus": false, // 在運行代碼以前保存文件 "code-runner.saveFileBeforeRun": true,
若是沒有特殊要求,編輯保存便可。
而後咱們就能夠直接在代碼界面按下 Ctrl+Alt+N
便可進行編譯調試輸出,或者也能夠直接 右鍵-Run Code。
文件
->首選項
->用戶代碼片斷
->cpp.json
中添加{ "codeforce": { "prefix": "cf", "body": [ "// Author : RioTian", "// Time : ${CURRENT_YEAR_SHORT}/${CURRENT_MONTH}/${CURRENT_DATE}", "#include <bits/stdc++.h>", "using namespace std;", "typedef long long ll;", "int main() {", " // freopen(\"in.txt\",\"r\",stdin);", " ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);", " $0", "}" ], "description": "cf" }, "filein": { "prefix": "in", "body": [ "freopen(\"in.txt\", \"r\", stdin);" ], "description": "in" }, }
VS Code 代碼格式化工具clang-format:[click here](./VS Code 代碼格式化工具clang-format.md)
方法轉自:wutaoの博客
下載安裝想要更換的字體,這裏以 Fira Code 字體爲例。
Fira Code 字體的下載地址:https://github.com/tonsky/FiraCode
下載解壓後安裝字體,windows 能夠選擇 ttf 文件夾,安裝裏面的所有字體。
打開 VSC,點擊左下角的圖標,選擇 Settings,而後搜索font,在 Font Family 加上 「Fira Code」。
重啓 VS code 就能看到字體設置成功了。
注:
settings 中 Font Size 能夠修改字體大小
Font Ligatures 啓用連字
Font Size 控制字號
Font Weight 控制字體粗細
爲何要配置 Windows VS Code 的 C/C++ 開發環境呢,總的來講仍是想要輕量。目前爲止的 C 程序徹底用不着 VS 這麼龐大的 IDE 寫(只有在認知實習任務中被要求寫地鐵項目),儘管刷刷 ACM 題VS很爽。但其實只須要輕量的 VS Code (顏值高😂) 就夠了(並且比賽中是不被容許使用VS的)。
配置文件代碼來自 https://blessing.studio/。