Compartilhar via


Exibir a estrutura do código usando janelas de ferramentas diferentes

Você pode examinar classes e seus membros no Visual Studio usando várias janelas de ferramentas, incluindo Exibição de Classe, Hierarquia de Chamadas, Navegador de Objetos e Definição de Código. Essas janelas de ferramentas podem examinar o código em projetos do Visual Studio, componentes do .NET, componentes COM, bibliotecas de vínculo dinâmico (DLL) e bibliotecas de tipos (TLB).

Você também pode usar o Gerenciador de Soluções para procurar os tipos e membros em seus projetos, pesquisar símbolos, exibir a hierarquia de chamadas de um método, encontrar referências de símbolo e muito mais, sem precisar alternar entre várias janelas de ferramentas.

Se você tiver o Visual Studio Enterprise Edition, poderá usar mapas de código para visualizar a estrutura do código e suas dependências em toda a solução. Para obter mais informações, confira Mapear as dependências com mapas de código.

Exibição de classe (Visual Basic, C#, C++)

O Modo de Exibição de Classe é mostrado como parte do Gerenciador de Soluções e como uma janela separada. O Modo de Exibição de Classe exibe os elementos de um aplicativo. O painel superior exibe namespaces, tipos, interfaces, enumerações e classes, e o painel inferior exibe os membros que pertencem ao tipo selecionado no painel superior. Usando essa janela, você pode mover para definições de membro no código-fonte (ou no Pesquisador de Objetos se o elemento for definido fora da sua solução).

Você não precisa compilar um projeto para exibir seus elementos no Modo de Exibição de Classe. A janela é atualizada à medida que você modifica o código em seu projeto.

Você pode adicionar código ao seu projeto selecionando o nó do projeto e escolhendo o botão Adicionar para abrir a caixa de diálogo Adicionar Novo Item . O código é adicionado em um arquivo separado.

Se o projeto for verificado no controle do código-fonte, cada elemento de Exibição de Classe exibirá um ícone que indica o status do código-fonte do arquivo. Comandos comuns de controle do código-fonte, como Check-out, Check-In e Get Latest Version , também estão disponíveis no menu de atalho do elemento.

Barra de ferramentas do Modo de Exibição de Classe

A barra de ferramentas exibição de classe contém os seguintes comandos:

Nome Description
Nova Pasta Cria uma pasta virtual ou subpasta na qual você pode organizar elementos usados com frequência. Eles são salvos no arquivo de solução ativa (.suo). Depois de renomear ou excluir um elemento em seu código, ele poderá aparecer em uma pasta virtual como um nó de erro. Para corrigir esse problema, exclua o nó de erro. Se você renomeou um elemento, poderá movê-lo da hierarquia do projeto para a pasta novamente.
Voltar Navega até o item selecionado anteriormente.
Encaminhar Navega até o próximo item selecionado.
Exibir Diagrama de Classe (somente projetos de código gerenciado) Fica disponível quando você seleciona um namespace ou digita no Modo de Exibição de Classe. Quando um namespace é selecionado, o diagrama de classe mostra todos os tipos nele. Quando um tipo é selecionado, o diagrama de classe mostra apenas esse tipo.

Configurações do Modo de Exibição de Classe

O botão Configurações de Exibição de Classe na barra de ferramentas tem as seguintes configurações:

Nome Description
Mostrar tipos base Os tipos base são exibidos.
Mostrar referências de projeto As referências do projeto são exibidas.
Mostrar tipos e membros ocultos Tipos e membros ocultos (não destinados ao uso por clientes) são exibidos em texto cinza claro.
Mostrar Membros Públicos Membros públicos são exibidos.
Mostrar membros protegidos Os membros protegidos são exibidos.
Mostrar membros privados Membros privados são exibidos.
Mostrar outros membros Outros tipos de membros são exibidos, incluindo membros internos (ou amigos no Visual Basic).
Mostrar membros herdados Os membros herdados são exibidos.

Menu de atalho exibição de classe

O menu de atalho (ou clique com o botão direito do mouse) no Modo de Exibição de Classe pode conter os seguintes comandos, dependendo do tipo de projeto selecionado:

Nome Description
Ir para Definição Localiza a definição do elemento no código-fonte ou no Pesquisador de Objetos, se o elemento não estiver definido no projeto aberto.
Procurar definição Exibe o item selecionado no Pesquisador de Objetos.
Localizar todas as referências Localiza o item de objeto selecionado no momento e exibe os resultados em uma janela Localizar Resultados .
Filtrar para digitar (somente código gerenciado) Exibe apenas o tipo ou namespace selecionado. Você pode remover o filtro escolhendo o botão Limpar Localizar (X) ao lado da caixa Localizar .
Copy Copia o nome totalmente qualificado do item.
Classificar em ordem alfabética Lista tipos e membros em ordem alfabética por nome.
Classificar por tipo de membro Lista tipos e membros em ordem por tipo (de modo que as classes precedem interfaces, interfaces precedem delegados e métodos precedem propriedades).
Classificar por acesso de membro Lista tipos e membros em ordem por tipo de acesso, como público ou privado.
Agrupar por tipo de membro Classifica tipos e membros em grupos por tipo de objeto.
Ir para Declaração (somente código C++) Exibe a declaração do tipo ou membro no código-fonte, se disponível.
Ir para Definição Exibe a definição do tipo ou membro no código-fonte, se disponível.
Ir para Referência Exibe uma referência ao tipo ou membro no código-fonte, se disponível.
Exibir hierarquia de chamadas Exibe o método selecionado na janela Hierarquia de Chamadas .

Janela Hierarquia de Chamadas (Visual Basic, C#, C++)

A janela Hierarquia de Chamadas mostra onde um determinado método ou propriedade é chamado. Ele também lista os métodos que são chamados desse método. Você pode exibir vários níveis do grafo de chamadas, que mostra as relações entre o chamador e o receptor entre os métodos em um escopo especificado.

Você pode exibir a janela Hierarquia de Chamadas selecionando um método (ou propriedade ou construtor) no editor e escolhendo Exibir Hierarquia de Chamadas no menu de atalho. A exibição deve ser semelhante à seguinte imagem:

Janela Hierarquia de Chamadas no Visual Studio

Usando a lista suspensa na barra de ferramentas, você pode especificar o escopo da hierarquia: a solução, o projeto atual ou o documento atual.

O painel principal exibe as chamadas de e para o método, e o painel Sites de Chamadas exibe o local da chamada selecionada. Para membros que são virtuais ou abstratos, um nó de nome do método Substituições é exibido. Para membros da interface, um nó de nome do método Implements é exibido.

A janela Hierarquia de Chamadas não encontra referências de grupo de métodos, que incluem locais em que um método é adicionado como um manipulador de eventos ou é atribuído a um delegado. Para localizar essas referências, use o comando Localizar Todas as Referências .

O menu de atalho na janela Hierarquia de Chamadas contém os seguintes comandos:

Nome Description
Adicionar como Nova Raiz Adiciona o nó selecionado como um novo nó raiz.
Remover Raiz Remove o nó raiz selecionado do painel de exibição de árvore.
Ir para Definição Navega até a definição original de um método.
Localizar todas as referências Localiza no projeto todas as referências ao método selecionado.
Copy Copia o nó selecionado (mas não seus subnodos).
Atualizar Atualiza as informações.

Pesquisador de Objetos

A janela Pesquisador de Objetos exibe descrições do código em seus projetos.

Você pode filtrar os componentes que deseja exibir usando a lista suspensa na parte superior da janela. Os componentes personalizados podem incluir executáveis de código gerenciado, assemblies de biblioteca, bibliotecas de tipos e arquivos .ocx . Não é possível adicionar componentes personalizados do C++.

As configurações personalizadas são salvas no diretório do aplicativo de usuário do Visual Studio, %APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat.

O painel esquerdo do Pesquisador de Objetos mostra assemblies. Você pode expandir os assemblies para exibir os namespaces que eles contêm e expandir os namespaces para exibir os tipos que eles contêm. Quando você seleciona um tipo, seus membros (como propriedades e métodos) são listados no painel direito. O painel inferior direito exibe informações detalhadas sobre o item selecionado.

Você pode pesquisar um item específico usando a caixa Pesquisar na parte superior da janela. As pesquisas não diferenciam maiúsculas de minúsculas. Os resultados da pesquisa são exibidos no painel esquerdo. Para limpar uma pesquisa, escolha o botão Limpar Pesquisa (X) ao lado da caixa Pesquisar .

O Pesquisador de Objetos controla as seleções feitas e você pode navegar entre suas seleções usando os botões Avançar e Voltar na barra de ferramentas.

Você pode usar o Pesquisador de Objetos para adicionar uma referência de assembly a uma solução aberta selecionando um item (assembly, namespace, tipo ou membro) e escolhendo o botão Adicionar Referência na barra de ferramentas.

Configurações do Pesquisador de Objetos

Usando o botão Configurações do Pesquisador de Objetos na barra de ferramentas, você pode especificar uma das seguintes exibições:

Nome Description
Exibir namespaces Exibe namespaces em vez de contêineres físicos, no painel esquerdo. Namespaces armazenados em vários contêineres físicos são mesclados.
Exibir contêineres Exibe contêineres físicos em vez de namespaces, no painel esquerdo. Exibir namespaces e exibir contêineres são configurações mutuamente exclusivas.
Mostrar tipos base Exibe tipos base.
Mostrar tipos e membros ocultos Exibe tipos e membros ocultos (não destinados ao uso por clientes), em texto cinza claro.
Mostrar Membros Públicos Exibe membros públicos.
Mostrar membros protegidos Exibe membros protegidos.
Mostrar membros privados Exibe membros privados.
Mostrar outros membros Exibe outros tipos de membros, incluindo membros internos (ou amigos no Visual Basic).
Mostrar membros herdados Exibe membros herdados.
Mostrar métodos de extensão Exibe métodos de extensão.

Comandos de menu de atalho do Pesquisador de Objetos

O menu de atalho (ou clique com o botão direito do mouse) no Pesquisador de Objetos pode conter os seguintes comandos, dependendo do tipo de item selecionado:

Nome Description
Procurar definição Mostra o nó primário do item selecionado.
Localizar todas as referências Localiza o item de objeto selecionado no momento e exibe os resultados em uma janela Localizar Resultados .
Filtrar para digitar Exibe apenas o tipo ou namespace selecionado. Você pode remover o filtro escolhendo o botão Limpar Pesquisa .
Copy Copia o nome totalmente qualificado do item.
Remove Se o escopo for um conjunto de componentes personalizado, removerá o componente selecionado do escopo.
Classificar em ordem alfabética Lista tipos e membros em ordem alfabética por nome.
Classificar por tipo de objeto Lista tipos e membros em ordem por tipo (de modo que as classes precedem interfaces, interfaces precedem delegados e métodos precedem propriedades).
Classificar por acesso a objetos Lista tipos e membros em ordem por tipo de acesso, como público ou privado.
Agrupar por tipo de objeto Classifica tipos e membros em grupos por tipo de objeto.
Ir para Declaração (somente projetos do C++) Exibe a declaração do tipo ou membro no código-fonte, se disponível.
Ir para Definição Exibe a definição do tipo ou membro no código-fonte, se disponível.
Ir para Referência Exibe uma referência ao tipo ou membro no código-fonte, se disponível.
Exibir hierarquia de chamadas Exibe o método selecionado na janela Hierarquia de Chamadas .

Janela de Definição de Código

A janela Definição de Código exibe a definição de um tipo ou membro do C++, C#ou Visual Basic selecionado no projeto ativo. O tipo ou membro pode ser selecionado no editor de código ou em uma janela de exibição de código.

Embora essa janela seja somente leitura, você pode definir pontos de interrupção ou indicadores nela. Para modificar a definição exibida, escolha Editar Definição no menu de atalho. Isso abre o arquivo de origem no editor de código e move o ponto de inserção para a linha em que a definição começa.

Menu de atalho definição de código

O menu de atalho (ou clique com o botão direito do mouse) na janela Definição de Código pode conter os seguintes comandos:

Nome Description
Ações rápidas e refatorações
Rename
Gerar grafo de arquivos de inclusão
Espiar Definição
Ir para Definição Localiza a definição (ou definições, para classes parciais) e as exibe em uma janela Localizar Resultados .
Ir para a Declaração
Localizar todas as referências Localiza as referências ao tipo ou membro na solução.
Exibir hierarquia de chamadas Exibe o método na janela Hierarquia de Chamadas .
Alternar cabeçalho/arquivo de código
Executar testes Se houver testes de unidade no projeto, executará os testes para o código selecionado.
Testes de depuração
Ponto de interrupção Insere um ponto de interrupção (ou um ponto de rastreamento).
Executar para o Cursor Executa o programa no modo de depuração até o local do cursor.
Snippet
Recortar, Copiar, Colar
Annotation
Esboço Comandos de estrutura de tópicos padrão.
Rescan
Editar Definição Move o ponto de inserção para a definição na janela de código.
Escolher Codificação Abre a janela codificação para que você possa definir uma codificação para o arquivo.

Janela Estrutura de Tópicos de Documento

Você pode usar a janela Estrutura de Tópicos do Documento em conjunto com exibições de designer, como o designer de uma página XAML ou um designer de Formulário do Windows ou com páginas HTML. Essa janela exibe os elementos em um modo de exibição de árvore, para que você possa exibir a estrutura lógica do formulário ou da página e localizar controles profundamente inseridos ou ocultos.