共用方式為


如何: 識別文件庫中的符號

 

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

符號瀏覽工具顯示符號的階層式的檢視。 符號表示命名空間、 物件、 類別、 類別成員和其他語言項目。

在階層中的每個符號,可識別符號程式庫所傳遞的瀏覽資訊的Visual Studio物件管理員,透過下列介面︰

IVsNavInfo

IVsNavInfoNode

IVsEnumNavInfoNodes

在階層中符號的位置來區分符號。 它可讓符號瀏覽工具來瀏覽至特定的符號。 唯一的完整路徑,該符號會決定的位置。 在路徑中的每個項目是一個節點。 路徑開頭的最上層節點,及特定符號的結尾。 例如,如果 M1 方法 C1 類別的成員,而且 C1 是 N1 命名空間中,M1 方法的完整路徑是 N1。C1。M1。 此路徑包含三個節點︰ N1 C1 和 M1。

瀏覽資訊可讓Visual Studio物件管理員來找出、 選取並保留選取階層中的符號。 它可讓兩種瀏覽工具巡覽到另一個。 同時使用物件瀏覽器瀏覽中的符號Visual C++專案中,您可以以滑鼠右鍵按一下方法,並開始呼叫瀏覽器工具以顯示呼叫圖形中的方法。

兩種形式說明符號位置。 標準格式根據符號的完整路徑。 它代表階層中的符號之唯一位置。 它是獨立的符號瀏覽工具。 若要取得標準格式的資訊,Visual Studio物件管理員呼叫EnumCanonicalNodes方法。 簡報表單描述特定的符號瀏覽工具內符號的位置。 符號的位置是相對於 hierarchicy 中其他符號的位置。 指定的符號可能會有數個簡報路徑,但只有一個標準的路徑。 例如,如果 C1 類別繼承自 C2 類別,而這兩個類別是 N1 命名空間、物件瀏覽器會顯示下列階層樹狀結構︰

N1  
    C1  
        Bases and Interfaces  
            C2  
    C2  
        Bases and Interfaces  
. . . . . . . . . . .  
  

C2 類別,在此範例中,標準路徑是 N1 + C2。 C2 的簡報路徑包括 C1 和 「 基底和介面 」 節點︰ N1 + C1 + 「 基底和介面"+ C2。

若要取得簡報表單資訊物件管理員呼叫EnumPresentationNodes方法。

識別階層中的符號

若要取得標準,並展示形成資訊

  1. 實作EnumCanonicalNodes方法。

    物件管理員會呼叫此方法來取得標準的符號路徑中包含的節點清單。

    Public Function EnumCanonicalNodes(ByRef ppEnum As Microsoft.VisualStudio.Shell.Interop.IVsEnumNavInfoNodes) As Integer  
        Dim EnumNavInfoNodes As CallBrowserEnumNavInfoNodes = _New CallBrowserEnumNavInfoNodes(m_strMethod)  
        ppEnum = CType(EnumNavInfoNodes, IVsEnumNavInfoNodes)  
        Return 0  
    End Function  
    
    public int EnumCanonicalNodes(out Microsoft.VisualStudio.Shell.Interop.IVsEnumNavInfoNodes ppEnum)  
    {  
        CallBrowserEnumNavInfoNodes EnumNavInfoNodes =  
            new CallBrowserEnumNavInfoNodes(m_strMethod);  
        ppEnum = (IVsEnumNavInfoNodes)(EnumNavInfoNodes);  
        return 0;  
    }  
    
  2. 實作EnumPresentationNodes方法。

    物件管理員會呼叫此方法來取得包含在符號的簡報路徑中的節點清單。

另請參閱

支援符號瀏覽工具
如何︰ 使用物件管理員註冊程式庫
如何︰ 公開 (expose) 的程式庫物件管理員提供的符號清單