Windows VS Code 配置 C/C++ 開發環境


准備

安裝 MinGw-w64

離線文件下載:網盤鏈接,提取碼:a3mk

具體說明細節和安裝體驗可以在《⑨也懂系列:MinGW-w64安裝教程》這里查看。這里只記錄一下安裝設置和變量設置。

如果剛 Next 就出現 Cannot download reposytory.txt[0] 錯誤,可以嘗試關閉殺毒軟件(包括 Windows Defender),並以管理員方式運行。

安裝設置說明

  • Version:GCC 版本,若無特殊需求優選最高
  • Architecture:系統架構,64 位系統選 x86_64,32 位選 i686
  • Threads:操作系統 API,開發 Windows 程序選 win32,開發 Linux、Unix、Mac OS 等其他 posix 協議的操作系統程序選 posix
  • Exception:異常處理模型
    • 64 位系統
    • seh:性能優化好,優選
    • sjlj:穩定性好
    • 32 位系統
    • dwarf:性能優化好
    • sjlj:穩定性好
  • Build revision:修訂版本,保持默認即可

環境變量添加

打開 此電腦-屬性-高級系統設置-高級-環境變量,在 系統變量-Path 編輯並新建添加你 MinGw-w64 安裝目錄下的 bin 文件夾路徑,例如 C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin。保存即可。

環境變量添加

可以在 cmdpowershell 中運行 gcc --version 判斷是否安裝正確。(安裝正確會輸出版本號)

重啟 VS Code

VS Code

這里需要先注意的是,這里的所有配置都是基於一個工作區(文件夾)的(因為編輯器編譯調試需要配置文件),當然你也可以直接打開文件夾。但若要直接編譯 .c&.cpp 文件,可以直接執行 ~gcc {.c} , ~g++ {.cpp} 進行編譯。

先新建並打開你的工作(代碼運行)區。

這里還需要注意的是,添加好環境變量后一定要重啟 VS Code。必須退出后重新啟動,否則編輯器無法識別編譯指令。

C/C++ 拓展

C/C++拓展

C/C++ 拓展供了針對 C/C++ 的 IntelliSense 與調試等功能,搜索「C/C++」即可直接安裝。

如果只是 Code Runner 簡單的ACM解題運行的話配置下面這個即可

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} 替換成你需要的編譯器路徑。例如:

  • gcc:C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe
  • g++: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;
}
編譯設置:tasks.json

編譯之前,需要先創建 .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 文件,並不會啟動調試。

調試設置:launch.json

光編譯在有些時候肯定是不夠的,那就需要調試功能了。就是所謂的 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 的調試界面點擊左上角按鈕進行調試。

調試代碼

另外

Code Runner 拓展

Code Runner簡介

另外,畢竟都用 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 (顏值高😂) 就夠了(而且比賽中是不被允許使用VSC的)。

現在很多 ICPC 區域賽都支持VS Code了

參考

配置文件代碼來自 https://blessing.studio/。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM