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

準備

安裝 MinGw-w64

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

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

安裝設置說明

  • 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。保存便可。git

環境變量添加

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

重啓 VS Codeshell

VS Code

這裏須要先注意的是,這裏的全部配置都是基於一個工做區(文件夾)的(由於編輯器編譯調試須要配置文件),固然你也能夠直接打開文件夾。但若要直接編譯 .c&.cpp 文件,能夠直接執行 ~gcc {.c} , ~g++ {.cpp} 進行編譯。json

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

這裏還須要注意的是,添加好環境變量後必定要重啓 VS Code。必須退出後從新啓動,不然編輯器沒法識別編譯指令。windows

C/C++ 拓展

C/C++拓展

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

  • 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 (顏值高😂) 就夠了(並且比賽中是不被容許使用VS的)。

參考

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

相關文章
相關標籤/搜索