C++ 程式碼的編輯與導覽
本文概述 C/C++ 擴充功能特有的程式碼編輯與導覽功能。如需 Visual Studio Code 中一般編輯與導覽的詳細資訊,請參閱基本編輯和程式碼導覽。
編輯 C++ 程式碼
C/C++ 擴充功能提供的原始碼編輯功能是編輯、格式化及理解程式碼庫的強大工具。
識別標頭檔
為了提供最佳的編輯體驗,C++ 擴充功能需要知道在哪裡可以找到程式碼中參考的每個標頭檔。預設情況下,擴充功能會搜尋目前的原始碼目錄、其子目錄以及一些平台特定的位置。如果找不到參考的標頭檔,則會在 #include
指示詞下方顯示紅色波浪線。
若要指定其他包含目錄,
- 選取沒有參考的
#include
路徑。 - 選取出現的燈泡,然後選擇
編輯 "includePath" 設定
,這會開啟 C/C++ 擴充功能的設定編輯器。 - 在包含路徑區段下,您可以指定任何其他包含目錄的路徑。
列出成員
當您輸入成員存取符號 (.
或 ->
) 時,編輯器會顯示成員清單。當您輸入更多字母時,清單會即時篩選
程式碼格式化
Visual Studio Code 的 C/C++ 擴充功能支援使用 clang-format 和 vc_format 進行原始碼格式化。這兩個格式化選項都包含在擴充功能中,其中 clang-format 是預設選項。
您可以使用格式化文件 (⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) 格式化整個檔案,或僅使用右鍵內容選單中的格式化選取範圍 (⌘K ⌘F (Windows、Linux Ctrl+K Ctrl+F)) 格式化目前的選取範圍。您也可以根據使用者手勢 (例如輸入、儲存和貼上) 觸發格式化,並使用下列設定
editor.formatOnSave
- 在您儲存檔案時格式化。editor.formatOnType
- 在您輸入時格式化 (在 ; 字元上觸發)。
若要深入瞭解格式化,請參閱格式化。
Clang-format
預設情況下,clang-format 樣式設定為 file
。這表示如果在您的工作區中找到 .clang-format
檔案,則檔案中指定的設定會用作格式化參考。否則,格式化會根據 C_Cpp.clang_format_fallbackStyle
設定中指定的預設樣式。
目前,預設格式化樣式為 Visual Studio
,這是 Visual Studio 中預設程式碼格式化器的近似值。它表示下列設定
UseTab: (VS Code current setting)
IndentWidth: (VS Code current setting)
BreakBeforeBraces: Allman
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0
若要使用與擴充功能隨附版本不同的 clang-format 版本,請將 C_Cpp.clang_format_path
設定變更為 clang-format 二進位檔的安裝路徑。
例如,在 Windows 平台上,使用
"C_Cpp.clang_format_path": "C:\\Program Files (x86)\\LLVM\\bin\\clang-format.exe"
vc_format
預設情況下,如果在要格式化的程式碼附近識別到具有相關設定的 .editorconfig
檔案,則會使用 Visual C++ 格式化引擎,而不是 clang-format。否則,請導覽至 C_Cpp.formatting
設定並將其設定為 vc_format
以使用 Visual C++ 格式化引擎。
增強的語意色彩化
啟用 IntelliSense 時,Visual Studio Code C/C++ 擴充功能支援語意色彩化。如需設定類別、函式、變數等等顏色的詳細資訊,請參閱增強的色彩化。如需組態 IntelliSense 的詳細資訊,請參閱IntelliSense 組態。
快速資訊
您可以將滑鼠停留在符號上方,以查看其定義的內嵌檢視
Doxygen 註解
Doxygen 是一種從原始碼產生文件的工具。當您使用註解標註程式碼時,Doxygen 會為這些函式產生文件。對於 doxygen 註解,請輸入 /**
並按 Enter
以產生 doxygen 註解區塊。支援的 doxygen 標籤包括:@brief
、@tparam
、@param
、@return
、@exception
、@deprecated
、@note
、@attention
和 @pre
。
Markdown 註解
預設情況下,C++ 擴充功能支援在您的編輯器中顯示 Markdown 的子集。此子集支援所有 Markdown 註解,除了符號 _
和 *
之外。切換新的註解中的 Markdown 設定以啟用所有 Markdown、保留此 Markdown 子集,或停用 Markdown 支援。
導覽原始碼
原始碼導覽功能可以協助您更深入瞭解程式碼庫。這些功能可讓您快速搜尋程式碼中的符號、導覽至其定義,或尋找對其的參考。
導覽由一組儲存在符號資訊本機資料庫中的標籤提供支援。每當開啟包含 C++ 原始碼檔案的資料夾時,C/C++ 擴充功能會建立這些檔案中定義的符號資料庫。每當檔案變更時,就會更新此資料庫。如果文件在未儲存的情況下關閉,則資料庫會更新為上次儲存的狀態。
搜尋符號
您可以在目前檔案或工作區中搜尋符號,以更快地導覽您的程式碼。
若要在目前檔案中搜尋符號,請按 ⇧⌘O (Windows、Linux Ctrl+Shift+O),然後輸入您要尋找的符號名稱。會出現潛在符合項的清單,並在您輸入時進行篩選。從符合項清單中選擇以導覽至該符號的位置。
若要在目前工作區中搜尋符號,請按 ⌘T (Windows、Linux Ctrl+T),然後輸入符號名稱。將出現潛在符合項的清單。如果您選擇的符合項位於尚未開啟的檔案中,則會先開啟該檔案,然後再導覽至符合項的位置。
您也可以透過命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 存取這些命令來搜尋符號。使用快速開啟 (⌘P (Windows、Linux Ctrl+P)),然後輸入 @
命令以搜尋目前檔案,或輸入 #
命令以搜尋目前工作區。⇧⌘O (Windows、Linux Ctrl+Shift+O) 和 ⌘T (Windows、Linux Ctrl+T) 是 @
和 #
命令的快速鍵。
呼叫階層
「呼叫階層」檢視會顯示對函式的所有呼叫或來自函式的所有呼叫。它可讓您瞭解原始碼中函式之間複雜的呼叫關係。
若要檢視呼叫階層,請選取函式,按一下滑鼠右鍵以顯示內容選單,然後選擇顯示呼叫階層。您也可以使用鍵盤快速鍵 (Windows 上的 Shift+Alt+H
),或叫用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行命令呼叫:顯示呼叫階層。這會在側邊欄中填入呼叫樹狀結構,其中包含您選取的函式所呼叫的所有函式。
切換側邊欄選單中的電話圖示,以切換至傳入呼叫。傳入呼叫會顯示您的函式何時被另一個函式參考。您也可以選取已在呼叫樹狀結構中顯示的函式,然後按一下滑鼠右鍵以檢視可用的命令,藉此探索巢狀呼叫。
預覽
「預覽」功能會在預覽視窗內顯示幾行程式碼,讓您不必離開目前的位置。它適用於快速瞭解符號的內容,而無需離開目前的程式碼。
若要開啟預覽視窗,請導覽至內容選單 (按一下滑鼠右鍵),然後選取預覽。在其中,您可以選擇預覽符號的定義、宣告、類型定義或參考。
在預覽視窗開啟的情況下,您可以瀏覽顯示的結果清單,以尋找您感興趣的結果。如果您想要導覽至其中一個結果的位置,請選取結果,或在預覽視窗左側顯示的原始碼中按兩下。
前往定義
使用前往定義功能,快速導覽至符號在原始碼中定義的位置。選取原始碼中的符號,然後按 F12,或按一下滑鼠右鍵並從內容選單中選擇前往定義。當符號只有一個定義時,您會直接導覽至其位置,否則競爭定義會顯示在預覽視窗中,如上一節所述。
如果找不到您選取之符號的定義,C/C++ 擴充功能會自動搜尋符號的宣告。
前往宣告
使用前往宣告功能,導覽至符號在原始碼中宣告的位置。此功能與前往定義的功能相同,但適用於宣告。選取原始碼中的符號,按一下滑鼠右鍵,然後從內容選單中選擇前往宣告。這會將您導覽至符號宣告的位置。
前往參考
使用前往參考功能,瞭解符號在原始碼中被參考的頻率和位置。選取原始碼中的符號,然後按 ⇧F12 (Windows、Linux Shift+F12) 或按一下滑鼠右鍵並從內容選單中選擇前往參考。如果找到任何參考,它們會顯示在預覽視窗中。
前往類型定義
使用前往類型定義功能,跳至類型在原始碼中定義的位置。選取原始碼中的類型,按一下滑鼠右鍵以開啟內容選單,然後選擇前往類型定義。
後續步驟
繼續閱讀以瞭解
- 偵錯 C++ 程式碼
- 設定 IntelliSense
- 為 MSVC 設定 VS Code
- 為 Mingw-w64 和 GCC 設定 VS Code
- 為 macOS 設定 VS Code
- VS Code 中的基本編輯
- VS Code 中的程式碼導覽
- VS Code 中的工作
如果您有任何其他問題或遇到任何問題,請在 GitHub 上提交問題。您可能會被要求提供擴充功能的記錄資訊,以協助診斷問題。請參閱C/C++ 擴充功能記錄,以取得提供擴充功能記錄的說明。