VS Code
簡介
Visual Studio Code(以下簡稱 VS Code)是一個由微軟開發,同時支持 Windows、Linux 和 macOS 等操作系統且開放源代碼的代碼編輯器。它是用 TypeScript 編寫的,並且採用 Electron 架構。它帶有對 JavaScript、TypeScript 和 Node.js 的內置支持,併為其他語言(如 C、C++、Java、Python、PHP、Go)提供了豐富的擴展生態系統。
官網:Visual Studio Code - Code Editing. Redefined
使用 Code Runner 擴展運行代碼
VS Code 安裝並配置擴展後可實現對 C/C++ 的支持,但配置過程比較複雜。一個簡單的編譯與運行 C++ 程序的方案是安裝 Code Runner 擴展。
Code Runner 是一個可以一鍵運行代碼的擴展,在工程上一般用來驗證代碼片段,支持 Node.js、Python、C、C++、Java、PHP、Perl、Ruby、Go 等 40 多種語言。
安裝的方式是在擴展商店搜索 Code Runner 並點擊 Install;或者前往 Marketplace 並點擊 Install,瀏覽器會自動打開 VS Code 並進行安裝。

安裝完成後,打開需要運行的文件,點擊右上角的小三角圖標即可運行代碼;按下快捷鍵Ctrl+Alt+N(在 macOS 下是Control+Option+N)也可以得到同樣的效果。
Warning
如果安裝了 VS Code 與 Code Runner 後,代碼仍然無法運行,很有可能是因為系統尚未安裝 C/C++ 的運行環境,參考 Hello, World! 頁面 以安裝。
記得勾選設置中的 Run In Terminal 選項,如圖:
使用 C/C++ 擴展編譯並調試/智能補全代碼
安裝擴展
在 VS Code 中打開擴展商店,在搜索欄中輸入 C++ 或者 @category:"programming languages",然後找到 C/C++,點擊 Install 安裝擴展。

Warning
在配置前,請確保系統已經安裝了 G++ 或 Clang,並已添加到了 PATH 中。請使用 CMD 或者 PowerShell,而不是 Git Bash 作為集成終端。
配置 GDB/LLDB 調試器
GDB
在 VS Code 中新建一份 C++ 代碼文件,按照 C++ 語法寫入一些內容(如 int main(){}),保存並按下F5,進入調試模式。
如果出現了「選擇調試器」的提示,選擇 C++ (GDB/LLDB)。在「選擇配置」中,G++ 用户選擇 g++.exe - 生成和調試活動文件;Clang 用户選擇 clang++ - 生成和調試活動文件。
Warning
配置名稱並非固定,而是可以自定義的。不同的操作系統可能具有不同的配置名稱。
完成後,VS Code 將自動完成初始化操作在下方的集成終端中啓動調試。至此,GDB 所有的配置流程已經完畢。
LLDB
如果需要採用 LLDB,需要安裝另外一款擴展1——CodeLLDB。從該項目的 Release 頁面下載 .vsix 文件後2,從 VS Code 的擴展頁面安裝。

先按照上文 GDB 的配置過程操作一遍,然後刪除 .vscode/launch.json,按下F5,選擇 LLDB,再把 launch.json 中的 ${workspaceFolder}/<executable file> 更改為 ${fileDirname}/${fileBasenameNoExtension}.exe 即可。
至此,LLDB 配置完成。再次按下F5即可看到軟件下方的調試信息。
若要在以後使用 VS Code 編譯並調試代碼,所有的源代碼都需要保存至這個文件夾內。若要編譯並調試其他文件夾中存放的代碼,需要重新執行上述步驟(或將舊文件夾內的 .vscode 子文件夾複製到新文件夾內)。
開始調試代碼
使用 VS Code 打開一份代碼,將鼠標懸停在行數左側的空白區域,並單擊出現的紅點即可為該行代碼設置斷點。再次單擊可取消設置斷點。
按下F5進入調試模式,編輯器上方會出現一個調試工具欄,四個藍色按鈕從左至右分別代表 GDB 中的 continue,next,step 和 until:

如果編輯器未自動跳轉,點擊左側工具欄中的「調試」圖標進入調試窗口,即可在左側看到變量的值。
在調試模式中,編輯器將以黃色底色顯示下一步將要執行的代碼。
配置 IntelliSense
用於調整 VS Code 的智能補全。
如果你使用 Clang 編譯器,在「IntelliSense 模式」中選擇 clang-x64 而非默認的 msvc-x64;如果你使用 G++ 編譯器,選擇 gcc-x64 以使用自動補全等功能。否則會得到「IntelliSense 模式 msvc-x64 與編譯器路徑不兼容。」的錯誤。

配置 clangd
Warning
由於功能衝突,安裝 clangd 擴展後 C/C++ 擴展的 IntelliSense 功能將被禁用(調試等功能仍然使用 C/C++ 擴展)。如果 clangd 擴展的功能出現問題,可以查看是否禁用了 C/C++ 擴展的 IntelliSense 功能。
clangd 簡介
LLVM 官網上對 clangd 的介紹是這樣的:
Clangd is an implementation of the Language Server Protocol leveraging Clang. Clangd’s goal is to provide language "smartness" features like code completion, find references, etc. for clients such as C/C++ Editors.
簡單來説,clangd 是 Clang 對語言服務器協定(Language Server Protocol)的實現,提供了一些智能的特性,例如全項目索引、代碼跳轉、變量重命名、更快的代碼補全、提示信息、格式化代碼等,並且能利用 LSP 與 Vim、Emacs、VSCode 等編輯器協作。雖然官方給出的定義是 LSP 的實現,但 clangd 的功能更接近語言服務器(Language Server)而不僅僅只是協議本身。
VS Code 的 C/C++ 擴展也有自動補全等功能,但在提示信息的易讀程度的準確度等方面與 clangd 相比稍遜一籌,所以我們有時會使用 clangd 代替 C/C++ 擴展來實現代碼自動補全等功能。
安裝
參見 Getting started。
VS Code 擴展
打開 VS Code 擴展商店,在搜索欄中輸入 clangd 找到 clangd 擴展並安裝

如果下方彈出 clangd 要求關閉 Intellisense 的對話框,點擊 "Disable Intellisense",重新加載工作區,就可以享受 clangd 的自動補全等功能了。
編輯
語法設置
在新打開的編輯器中點擊「選擇語言」,即可打開對應的語法高亮,如圖:
快捷鍵
部分快捷鍵:
| 按鍵 | 操作 |
|---|---|
| Ctrl+C/X | 複製/剪切當前行(當沒有選擇內容時) |
| Ctrl+Shift+K | 刪除當前行 |
| Alt+Up/Down | 行上移/下移 |
| Alt+Shift+Up/Down | 行向上/向下複製 |
| Ctrl+/ | 切換行註釋 |
| Ctrl+[/] | 行向左/右縮進 |
| Ctrl+Shift+[/] | 行摺疊/展開 |
| Ctrl+P | 打開最近打開的文件 |
| Alt+Z | 切換自動折行 |
| Alt+F12 | 速覽定義(如函數的定義) |
| Ctrl+Shift+\ | 跳轉到匹配括號 |
| Ctrl+T | 在工作區中查找符號(在文件夾中查找指定名稱函數等) |
多光標
按住Alt並單擊即可在編輯器中添加光標,多數編輯操作都可同時進行;按住鼠標中鍵並在編輯器中移動也可添加多行光標,如圖:

按Ctrl+F2可在編輯器中同時更改所有匹配項,如圖:

注意此時在右上角會有一個工具欄,可在其中開啓查找匹配項時是否開啓大小寫匹配、全字匹配等。
參考資料與註釋
本页面最近更新:,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:NachtgeistW, Ir1d, ouuan, Enter-tainer, Xeonacid, ChungZH, keepthethink, abc1763613206, partychicken, Chrogeek, xkww3n, HeliumOI, Pinghigh, xiaofu-15191
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用