共用方式為


支援符號瀏覽工具

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

物件瀏覽器類別檢視呼叫瀏覽器尋找符號結果工具提供瀏覽功能,Visual Studio 中的符號。 這些工具會顯示階層式樹狀檢視的符號,以及顯示在樹狀目錄中的符號之間的關係。 命名空間、 物件、 類別、 類別成員和其他各種元件中所包含的語言項目,可能表示符號。 這些元件包括 Visual Studio 專案中,外部.NET Framework元件和型別 (.tlb) 程式庫。 如需詳細資訊,請參閱檢視程式碼結構

符號瀏覽程式庫

做為語言實作者,您可以藉由建立程式庫,追蹤您的元件中的符號,以及提供的符號清單至 Visual Studio 物件管理員,透過介面的一組擴充 Visual Studio 符號瀏覽功能。 所描述的程式庫IVsSimpleLibrary2介面。 Visual Studio 物件管理員回應要求新的資料從符號瀏覽工具從程式庫取得資料的組織。 接下來會填入,或以要求的資料更新工具。 若要取得的參考,Visual Studio object manager IVsObjectManager2,傳遞SVsObjectManager服務識別碼GetService方法。

每個程式庫必須向 Visual Studio 物件管理員,以收集所有的程式庫的資訊。 若要註冊的程式庫,呼叫RegisterSimpleLibrary方法。 根據哪一項工具會啟動要求,Visual Studio 物件管理員會尋找適當的程式庫,並要求資料。 程式庫之間的資料會傳送和Visual Studio符號所描述的清單中的物件管理員IVsSimpleObjectList2介面。

Visual Studio物件管理員會負責定期重新整理以反映最新的資料包含在程式庫的符號瀏覽工具。

下圖包含的程式庫和 Visual Studio 物件管理員之間的要求/資料交換程序的重要元素的範例。 在圖表中的介面為 managed 程式碼應用程式的一部分。

程式庫和物件管理員之間的資料流程

若要提供的符號清單至 Visual Studio 物件管理員,您必須先登錄程式庫與 Visual Studio 物件管理員藉由呼叫RegisterSimpleLibrary方法。 此程式庫註冊之後,Visual Studio 物件管理員要求的程式庫功能的相關特定資訊。 例如,要求程式庫旗標,並支援類別藉由呼叫GetLibFlags2GetSupportedCategoryFields2方法。 有些時候,當其中一個工具從文件庫,要求的資料物件管理員要求最上層的符號清單藉由呼叫GetList2方法。 在回應時,媒體櫃製造的符號清單,並公開 (expose) 至 Visual Studio 物件管理員,透過IVsSimpleObjectList2介面。 Visual Studio物件管理員會判斷多少項目是清單中,藉由呼叫GetItemCount方法。 下列的所有要求與指定的項目清單中,並提供每個要求中的項目索引編號。 Visual Studio 物件管理員會繼續收集資訊的類型、 可存取性,以及其他屬性的項目上,藉由呼叫GetCategoryField2方法。

它會判斷項目的名稱,藉由呼叫GetTextWithOwnership方法,並藉由呼叫要求圖示資訊GetDisplayData方法。 顯示的項目名稱左邊的圖示,並且描述項目、 協助工具,以及其他屬性的型別。

Visual Studio物件管理員呼叫GetExpandable3方法,以決定是否可展開的特定的清單項目,並有子系的項目。 物件管理員 UI 傳送要求至展開項目,如果要求符號的子清單,藉由呼叫GetList2方法。 視所建立的樹狀結構的不同部分的程序會繼續執行。

注意

若要實作原生程式碼的符號提供者,請使用IVsLibrary2IVsObjectList2介面。

另請參閱

如何︰ 使用物件管理員註冊程式庫
如何︰ 公開 (expose) 的程式庫物件管理員提供的符號清單
如何︰ 識別文件庫中的符號