使用不同的工具視窗來檢視程式碼結構
您可以在 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++)
[呼叫階層] 視窗會顯示呼叫指定方法或屬性的位置。 它也會列出從該方法呼叫的方法。 您可以檢視多個呼叫歷程圖層級,當中會顯示所指定範圍中方法之間呼叫端與被呼叫端的關聯性。
您可以從編輯器中選取方法 (或是屬性或建構函式),然後選擇捷徑功能表上的 [檢視呼叫階層],來顯示 [呼叫階層] 視窗。 顯示畫面應該會與下圖類似:
您可以使用工具列上的下拉式清單來指定階層的範圍:方案、目前的專案或目前的文件。
主窗格會顯示呼叫對象與來源方法,而 [呼叫站台] 窗格則會顯示所選呼叫的位置。 若是虛擬或抽象成員,會出現 [覆寫方法名稱] 節點。 若是介面成員,會出現 [實作方法名稱] 節點。
[呼叫階層] 視窗找不到方法群組參考,其中包含會作為事件處理常式或指派至委派位置的方法。 若要尋找這些參考,請使用 [尋找所有參考] 命令。
[呼叫階層] 視窗中的捷徑功能表包含下列命令:
名稱 | 描述 |
---|---|
新增為新根目錄 | 加入所選節點為新的根節點。 |
移除根目錄 | 從樹狀檢閱窗格移除所選根節點。 |
移至定義 | 巡覽至方法的原始定義。 |
尋找所有參考 | 尋找專案中對所選方法的所有參考。 |
複製 | 複製所選節點 (但不複製其子節點)。 |
重新整理 | 重新整理資訊。 |
物件瀏覽器
[物件瀏覽器] 視窗會顯示專案中程式碼的描述。
您可以使用視窗頂端的下拉式清單來篩選您要檢視的元件。 自訂元件可包含受控碼可執行檔、程式庫組件、類型程式庫及 .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 頁面。 此視窗會以樹狀檢視顯示元素,讓您能夠檢視表單或頁面的邏輯結構,以及尋找深度內嵌或隱藏的控制項。