使用不同的工具視窗來檢視程式碼結構

您可以在 Visual Studio 中使用各種工具視窗 (包括 [類別檢視]、[呼叫階層]、[物件瀏覽器] 及 [程式碼定義] (僅限 C++)) 來檢視類別及其成員。 這些工具視窗可以檢查 Visual Studio 專案、.NET 元件、COM 元件、動態連結程式庫 (DLL) 及型別程式庫 (TLB) 中的程式碼。

您可以在 Visual Studio 中使用各種工具視窗 (包括 [類別檢視]、[呼叫階層]、[物件瀏覽器] 及 [程式碼定義]) 來檢視類別及其成員。 這些工具視窗可以檢查 Visual Studio 專案、.NET 元件、COM 元件、動態連結程式庫 (DLL) 及型別程式庫 (TLB) 中的程式碼。

您也可以使用 [方案總管] 來瀏覽專案中的類型與成員、搜尋符號、檢視方法的呼叫階層、尋找符號參考等,而不需在多個工具視窗之間切換。

如果您有 Visual Studio Enterprise 版,便可使用 Code Map 以視覺化方式呈現整個解決方案的程式碼及其相依性。 如需詳細資訊,請參閱使用 Code Map 來對應相依性 \(機器翻譯\)。

類別檢視 (Visual Basic、C#、C++)

[類別檢視] 可顯示為 [方案總管] 的一部分,也可顯示在另一個視窗中。 [類別檢視] 會顯示應用程式的元素。 上窗格會顯示命名空間、類型、介面、列舉及類別,而下窗格則會顯示屬於上窗格中所選類型的成員。 您使用此視窗可移至原始程式碼中的成員定義 (如果定義在您的方案之外,則會在 [物件瀏覽器] 中)。

您不需要編譯專案,即可在 [類別檢視] 中檢視其項目。 當您修改專案中的程式碼時,視窗會重新整理。

您可以對專案新增程式碼,方法是選取專案節點,然後選擇 [新增] 按鈕,以開啟 [新增項目] 對話方塊。 程式碼會加入至不同的檔案。

如果您的專案已簽入原始程式碼控制項中,則每個 [類別檢視] 項目顯示的圖示即代表該檔案的原始程式碼狀態。 常用的原始程式碼控制命令 (像是 [簽出]、[簽入] 和 [取得最新的版本]),對項目也提供捷徑功能表。

類別檢視工具列

[類別檢視] 工具列包含下列命令:

名稱 描述
新增資料夾 建立一個虛擬資料夾或子資料夾,可供您組織經常使用的元素。 這些項目儲存在作用中的方案 (.suo) 檔案內。 重新命名或刪除程式碼中的項目之後,其可能會以錯誤節點的方式出現在虛擬資料夾中。 若要修正此問題,請刪除該錯誤節點。 如果您重新命名項目,則可將其再一次從專案階層移動到資料夾內。
上一步 巡覽至先前選取的項目。
轉寄 巡覽至下一個選取的項目。
檢視類別圖表 (僅限 Managed 程式碼專案) 選取命名空間或在 [類別檢視] 中鍵入時,會變成可以使用。 選取命名空間時,類別圖將會顯示其中的所有類型。 選取類型時,類別圖僅會顯示該類型。

類別檢視設定

工具列上的 [類別檢視設定] 按鈕具有下列設定:

名稱 描述
顯示基底類型 顯示基底類型。
顯示專案參考 專案參考隨即顯示。
顯示隱藏的類型與成員 隱藏的類型與成員 (不適合用戶端使用) 會以淺灰色文字顯示。
顯示 Public 成員 顯示 Public 成員。
顯示 Protected 成員 顯示受保護的成員。
顯示 Private 成員 顯示 Private 成員。
顯示其他成員 顯示其他類型的成員,包括內部 (在 Visual Basic 中稱為 Friend) 成員。
顯示繼承成員 顯示繼承的成員。

類別檢視捷徑功能表

視所選專案類型而定,[類別檢視] 中的捷徑功能表 (或以滑鼠右鍵按一下) 可能包含下列命令:

名稱 描述
移至定義 如果開啟的專案中未定義該項目,便在原始程式碼或 [物件瀏覽器] 中尋找該項目的定義。
瀏覽定義 在 [物件瀏覽器] 中顯示所選項目。
尋找所有參考 尋找目前所選物件項目,並在 [尋找結果] 視窗中顯示結果。
對類型篩選 (僅限 Managed 程式碼) 僅顯示所選類型或命名空間。 您可以選擇 [尋找] 方塊旁的 [清除尋找] (X) 按鈕來移除篩選。
複製 複製項目的完整名稱。
依字母順序排序 依名稱照字母順序列出類型與成員。
依成員類型排序 依類型列出類型與成員 (例如類別在介面前面、介面在委派前面、方法在屬性前面)。
依成員存取方式排序 依存取類型列出類型與成員,例如 Public 或 Private。
依成員類型群組 將類型與成員依物件類型排序至群組內。
移至宣告 (僅限 C++ 程式碼) 在原始程式碼中顯示類型或成員的宣告 (如果有)。
移至定義 在原始程式碼中顯示類型或成員的定義 (如果有)。
移至參考 在原始程式碼中顯示類型或成員的參考 (如果有)。
檢視呼叫階層 在 [呼叫階層] 視窗中顯示所選方法。

呼叫階層視窗 (Visual Basic、C#、C++)

[呼叫階層] 視窗會顯示呼叫指定方法或屬性的位置。 它也會列出從該方法呼叫的方法。 您可以檢視多個呼叫歷程圖層級,當中會顯示所指定範圍中方法之間呼叫端與被呼叫端的關聯性。

您可以從編輯器中選取方法 (或是屬性或建構函式),然後選擇捷徑功能表上的 [檢視呼叫階層],來顯示 [呼叫階層] 視窗。 顯示畫面應該會與下圖類似:

Call Hierarchy window in Visual Studio

您可以使用工具列上的下拉式清單來指定階層的範圍:方案、目前的專案或目前的文件。

主窗格會顯示呼叫對象與來源方法,而 [呼叫站台] 窗格則會顯示所選呼叫的位置。 若是虛擬或抽象成員,會出現 [覆寫方法名稱] 節點。 若是介面成員,會出現 [實作方法名稱] 節點。

[呼叫階層] 視窗找不到方法群組參考,其中包含會作為事件處理常式或指派至委派位置的方法。 若要尋找這些參考,請使用 [尋找所有參考] 命令。

[呼叫階層] 視窗中的捷徑功能表包含下列命令:

名稱 描述
新增為新根目錄 加入所選節點為新的根節點。
移除根目錄 從樹狀檢閱窗格移除所選根節點。
移至定義 巡覽至方法的原始定義。
尋找所有參考 尋找專案中對所選方法的所有參考。
複製 複製所選節點 (但不複製其子節點)。
重新整理 重新整理資訊。

物件瀏覽器

[物件瀏覽器] 視窗會顯示專案中程式碼的描述。

您可以使用視窗頂端的下拉式清單來篩選您要檢視的元件。 自訂元件可包含受控碼可執行檔、程式庫組件、類型程式庫及 .ocx 檔案。 無法加入 C + + 自訂元件。

自訂設定儲存在 Visual Studio 使用者應用程式目錄 %APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat 中。

[物件瀏覽器] 的左窗格會顯示組件。 您可以展開組件以顯示其包含的命名空間,然後展開命名空間以顯示其包含的類型。 選取類型時,其成員 (例如屬性及方法) 將會列於右窗格中。 右下方的窗格會顯示有關所選項目的詳細資訊。

您可以使用視窗頂端的 [搜尋] 方塊,搜尋特定項目。 搜尋不區分大小寫。 搜尋結果會顯示在左窗格中。 若要清除搜尋,請選擇 [搜尋] 方塊旁的 [清除搜尋]\(X)按鈕。

[物件瀏覽器] 會持續追蹤您選取的項目,您可以使用工具列上的 [向前] 和 [向後] 按鈕,在選取的項目之間巡覽。

您可以使用 [物件瀏覽器] 將組件參考新增至開啟的方案中,方法是選取項目 (組件、命名空間、類型或成員),然後選擇工具列上的 [新增參考] 按鈕。

物件瀏覽器設定

您可以使用工具列上的 [物件瀏覽器設定] 按鈕來指定下列其中一個檢視:

名稱 描述
檢視命名空間 在左窗格中顯示命名空間而非實體容器。 儲存在多個實體容器中的命名空間會合併。
檢視容器 在左窗格中顯示實體容器而非命名空間。 [檢視命名空間] 和 [檢視容器] 是互斥的設定。
顯示基底類型 顯示基底類型。
顯示隱藏的類型與成員 隱藏的類型與成員 (不適合用戶端使用) 會以淺灰色文字顯示。
顯示 Public 成員 顯示 Public 成員。
顯示 Protected 成員 顯示受保護的成員。
顯示 Private 成員 顯示 Private 成員。
顯示其他成員 顯示其他類型的成員,包括內部 (在 Visual Basic 中稱為 Friend) 成員。
顯示繼承成員 顯示繼承的成員。
顯示擴充方法 顯示擴充方法。

物件瀏覽器捷徑功能表命令

視所選項目的類型而定,[物件瀏覽器] 中的捷徑功能表 (或以滑鼠右鍵按一下) 可能包含下列命令:

名稱 描述
瀏覽定義 顯示所選項目的主要節點。
尋找所有參考 尋找目前所選物件項目,並在 [尋找結果] 視窗中顯示結果。
對類型篩選 僅顯示所選類型或命名空間。 您可以選擇 [清除搜尋] 按鈕來移除篩選。
複製 複製項目的完整名稱。
移除 如果範圍是自訂元件集,請將所選元件從範圍中移除。
依字母順序排序 依名稱照字母順序列出類型與成員。
依物件類型排序 依類型列出類型與成員 (例如類別在介面前面、介面在委派前面、方法在屬性前面)。
依物件存取方式排序 依存取類型列出類型與成員,例如 Public 或 Private。
依物件類型分組 將類型與成員依物件類型排序至群組內。
移至宣告 (僅限 C++ 專案) 在原始程式碼中顯示類型或成員的宣告 (如果有)。
移至定義 在原始程式碼中顯示類型或成員的定義 (如果有)。
移至參考 在原始程式碼中顯示類型或成員的參考 (如果有)。
檢視呼叫階層 在 [呼叫階層] 視窗中顯示所選方法。

程式碼定義視窗 (C++)

[程式碼定義] 視窗會在使用中專案內顯示所選 C++ 類型或成員的定義。 類型或成員可以在程式碼編輯器或程式碼檢視視窗中加以選取。

雖然此視窗為唯獨視窗,但您仍可以在其中設定中斷點或書籤。 若要修改顯示的定義,請選擇捷徑功能表上的 [編輯定義]。 這會在程式碼編輯器中開啟原始程式檔,並將插入點移至定義的開始處。

注意

[程式 代碼定義 ] 視窗只能與 C++ 程式代碼搭配使用。

程式碼定義視窗

[程式碼定義] 視窗會在使用中專案內顯示所選 C++、C# 或 Visual Basic 類型或成員的定義。 類型或成員可以在程式碼編輯器或程式碼檢視視窗中加以選取。

雖然此視窗為唯獨視窗,但您仍可以在其中設定中斷點或書籤。 若要修改顯示的定義,請選擇捷徑功能表上的 [編輯定義]。 這會在程式碼編輯器中開啟原始程式檔,並將插入點移至定義的開始處。

[程式碼定義] 捷徑功能表

[程式碼定義] 視窗中的捷徑功能表 (或以滑鼠右鍵按一下) 可能包含下列命令:

名稱 描述
快速動作與重構
重新命名
產生 Include 檔案的圖表
查看定義
移至定義 尋找定義 (或部分類別的定義),並將其顯示在 [尋找結果] 視窗中。
移至宣告
尋找所有參考 在方案中尋找類型或成員的參考。
檢視呼叫階層 在 [呼叫階層] 視窗中顯示方法。
切換標頭/程式碼檔
執行測試 如果專案中含有單元測試,將會執行所選程式碼的測試。
偵錯測試
中斷點 插入中斷點 (或追蹤點)。
執行至游標處 以偵錯模式執行程式,直到指標的位置為止。
程式碼片段
剪下複製貼上
Annotation
大綱 標準大綱命令。
重新掃描
編輯定義 將插入點移至程式碼視窗中的定義。
選擇編碼方式 開啟 [編碼] 視窗,使您能夠設定檔案的編碼方式。

文件大綱視窗

您可以搭配使用 [文件大綱] 視窗與設計工具檢視,例如 XAML 頁面的設計工具或 Windows Forms 設計工具,或搭配 HTML 頁面。 此視窗會以樹狀檢視顯示元素,讓您能夠檢視表單或頁面的邏輯結構,以及尋找深度內嵌或隱藏的控制項。