Partilhar via


Como: identificar os símbolos em uma biblioteca

Ferramentas de navegação de símbolo exibir exibições hierárquicas de símbolos. Os símbolos representam objetos, namespaces, classes, membros de classe e outros elementos de linguagem.

Cada símbolo na hierarquia que pode ser identificado pelas informações de navegação passadas da biblioteca de símbolos para o Visual Studio Gerenciador de objetos por meio das seguintes interfaces:

IVsNavInfo

IVsNavInfoNode

IVsEnumNavInfoNodes.

O local do símbolo na hierarquia distingue um símbolo. Ele permite que ferramentas de navegação de símbolo navegar até um símbolo específico. O caminho exclusivo, totalmente qualificado para o símbolo determina o local. Cada elemento no caminho é um nó. O caminho começa com o nó de nível superior e termina com o símbolo específico. Por exemplo, se o método M1 é um membro da classe C1 e C1 está no namespace de N1, o caminho completo do método M1 é N1.C1.M1. Este caminho contém três nós: N1, C1 e M1.

As informações de navegação permite que o Visual Studio Gerenciador de objetos para localizar, selecionar e manter os símbolos da hierarquia selecionado. Ele permite navegar de uma ferramenta de procura para outro. Ao usar o Pesquisador de objetos para procurar os símbolos em um Visual C++ projeto, pode clique com o botão direito do mouse em um método e iniciar o Navegador de chamada ferramenta para exibir o método em um gráfico de chamada.

Dois formulários descrevem a localização do símbolo. A forma canônica baseia-se no caminho totalmente qualificado do símbolo. Ele representa uma posição exclusiva do símbolo na hierarquia. Ele é independente da ferramenta de navegação de símbolo. Para obter as informações de forma canônica, o Visual Studio chamadas de Gerenciador de objeto EnumCanonicalNodes método. O formato de apresentação descreve o local do símbolo dentro de uma ferramenta específica do símbolo de navegação. A posição do símbolo é relativas à posição de outros símbolos no hierarchicy. Um determinado símbolo pode ter vários caminhos de apresentação, mas apenas um caminho canônico. Por exemplo, se a classe C1 é herdado da classe C2 e ambas as classes estão no namespace N1, o Pesquisador de objetos exibe a seguinte árvore hierárquica:

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

O caminho canônico da classe C2, neste exemplo, é N1 + C2. O caminho da apresentação de C2 inclui nós C1 e "Bases e Interfaces": N1 + C1 + "Bases e Interfaces" + C2.

Para obter as informações de formulário de apresentação, as chamadas de Gerenciador de objeto EnumPresentationNodes método.

Identificando um símbolo na hierarquia

Para obter canônico e informações de formulários de apresentação

  1. Implemente o método EnumCanonicalNodes.

    O Gerenciador de objeto chama esse método para obter a lista de nós contidos no caminho do símbolo canônico.

    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. Implemente o método EnumPresentationNodes.

    O Gerenciador de objeto chama esse método para obter a lista de nós contidos no caminho da apresentação do símbolo.

Consulte também

Tarefas

Como: registrar uma biblioteca com o Gerenciador de objeto

Como: expor as listas de símbolos fornecidos pela biblioteca para o Gerenciador de objetos

Conceitos

Suporte a ferramentas de navegação de símbolo