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:
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
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; }
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