Partilhar via


Navegar pelo código C++ no Visual Studio

O Visual Studio fornece um conjunto de ferramentas que você pode usar para navegar pela base de código de forma rápida e eficiente.

Abrir um arquivo incluído

Clique com o botão direito do mouse em uma diretiva #include e selecione Ir para o Documento. Ou selecione F12 com o cursor sobre essa linha para abrir o arquivo.

Captura de tela da opção de menu Ir para Documento do C++ no contexto de algumas instruções de inclusão.

Ativar/Desativar Arquivo de Cabeçalho/Código

Você pode alternar entre um arquivo de cabeçalho e seu arquivo de origem correspondente. Clique com o botão direito do mouse em qualquer lugar do seu arquivo e selecione Ativar/Desativar Arquivo de Cabeçalho/Código. Ou selecione Ctrl+K, Ctrl+O.

Ir para definição/declaração

Você pode acessar a definição de um elemento de código clicando com o botão direito do mouse no editor e selecionando Ir para Definição ou pressionando F12. Navegue até uma declaração da mesma forma, clicando com o botão direito do mouse para abrir o menu de contexto ou selecionando Ctrl+F12.

Captura de tela das opções que aparecem quando você clica com o botão direito do mouse em um elemento de código. Inclui Ir para Definição, Espiar Definição e Ir para Declaração.

Ir para

Ir para se refere a um conjunto de recursos de navegação em que cada recurso fornece um resultado específico com base nos filtros especificados.

Abra Ir para com Ctrl+,. Esta ação criará uma caixa de pesquisa sobre o documento que você está editando.

Captura de tela da caixa de pesquisa que aparece quando você abre a opção Ir para. Há uma caixa de texto para os termos de pesquisa e filtros para tipos, arquivos recentes etc.

Ir para inclui estes filtros de pesquisa:

  • Ir para Linha (Ctrl+G): ir rapidamente para outra linha do documento atual.
  • Ir para Todos (Ctrl+,) ou (Ctrl+T): os resultados da pesquisa incluem todos os itens a seguir.
  • Ir para Arquivo (Ctrl 1, F): pesquisar arquivos na solução.
  • Ir para Tipo (Ctrl 1, T): os resultados da pesquisa incluem:
    • Classes, structs e enumerações.
    • Interfaces e representantes (somente código gerenciado).
  • Ir para Membro (Ctrl 1, M): os resultados da pesquisa incluem:
    • Variáveis globais e funções globais.
    • Variáveis de membro de classe e funções de membro.
    • Constantes.
    • Itens de enumeração.
    • Propriedades e eventos.
  • Ir para Símbolo (Ctrl 1, S): os resultados da pesquisa incluem:
    • Resultados de Ir para Tipos e Ir para Membros.
    • Todos os constructos de linguagem C++ restantes, que incluem macros.

Quando você invoca Ir para pela primeira vez com Ctrl+, Ir para Todos é ativado (sem filtro nos resultados da pesquisa). Em seguida, você pode selecionar o filtro desejado, usando os botões ao lado da caixa de pesquisa. Invoque um filtro específico usando o atalho de teclado correspondente. Esta ação abre a caixa de pesquisa Ir para com esse filtro pré-selecionado. Todos os atalhos de teclado são configuráveis.

Para aplicar um filtro de texto, inicie a consulta de pesquisa com o caractere correspondente do filtro, seguido por um espaço. (Ir para linha pode omitir opcionalmente o espaço). Os filtros de texto estão disponíveis são:

  • Ir para Todos: (sem filtro de texto)
  • Ir para Número de Linha: :
  • Ir para Arquivo: f
  • Ir para Tipo: t
  • Ir para Membro: m
  • Ir para Símbolo: #

O seguinte exemplo mostra os resultados de uma operação Ir para Arquivos usando o filtro “f”:

Captura de tela dos resultados de Ir para Arquivos. O usuário digitou 'f str' e são exibidas as opções string_utils.cpp e string_utils.h que contêm str no nome.

Para ver a lista de filtros de texto, digite um ? seguido por um espaço. Também é possível acessar os comandos Ir para com o menu Editar. Essa é outra maneira de se lembrar dos principais atalhos de teclado de Ir para.

Captura de tela do menu Ir para, com opções como Ir para Linha (Ctrl + G), Ir para Arquivo (Ctrl + 1, Ctrl + F) e outras.

Localizar ou Localizar nos Arquivos

Execute uma pesquisa de texto de qualquer item na solução com Localizar (Ctrl+F) ou Localizar nos Arquivos (Ctrl+Shift+F).

A opção Localizar pode ter o escopo definido para uma seleção, o documento atual, todos os documentos abertos, o projeto atual ou a solução inteira. Você pode usar expressões regulares e texto sem formatação. Ela também realça todas as correspondências automaticamente no IDE.

Captura de tela da caixa de diálogo Localizar. O usuário pesquisou channel. Os realces amarelos no arquivo mostram todos os locais em que channel foi encontrado.

A opção Localizar nos Arquivos é uma versão mais eficiente de Localizar que exibe os resultados na janela Localizar Resultados. Você pode pesquisar dependências de código externas, filtrar por tipos de arquivos e muito mais.

Captura de tela da caixa de diálogo Localizar e Substituir. A página Localizar em Arquivos está selecionada. São mostradas opções de correspondência de maiúsculas e minúsculas, de palavra inteira e assim por diante.

Organize os resultados de Localizar nos Arquivos em duas janelas. Acrescente os resultados de várias pesquisas juntos. Selecione um resultado para ir até essa localização no arquivo.

Captura de tela mostrando o resultado da pesquisa Localizar em Arquivos listando arquivos que contêm o texto corresponde à cadeia de caracteres de pesquisa e a um trecho de cada correspondência.

Para obter mais informações, confira Localizar nos Arquivos na documentação do Visual Studio.

Localizar Todas as Referências

Para localizar todos os usos de um símbolo na base de código, coloque o cursor no símbolo ou logo após ele, clique com o botão direito do mouse e, em seguida, selecione Localizar Todas as Referências. Você pode filtrar, classificar ou agrupar os resultados de várias maneiras diferentes. Os resultados são populados de maneira incremental. Eles são classificados como Leituras ou Gravações para ajudar você a ver o que existe na solução, em vez de cabeçalhos do sistema ou outras bibliotecas.

Captura de tela dos resultados de Localizar todas as referências que mostra a linha em que o símbolo foi encontrado, em qual arquivo e projeto ele está localizado e assim por diante.

Você pode agrupar os resultados pelas seguintes categorias:

  • Projeto, então Definição
  • Somente Definição
  • Definição, então Projeto
  • Definição, então Caminho
  • Definição, Projeto e, então, Caminho

Resultados do filtro

Para filtrar os resultados, passe o mouse sobre uma coluna e selecione o ícone de filtragem exibido. Filtre os resultados da primeira coluna para ocultar itens como referências de cadeias de caracteres e comentários que talvez você não deseje ver.

Captura de tela das opções de filtragem. Inclui Confirmado, Confirmação cancelada, Em comentário e Não processado. Cada uma mostra quantos resultados se aplicam à categoria.

  • Resultados confirmados: referências de código real para o símbolo que está sendo pesquisado. Por exemplo, a pesquisa de uma função de membro chamada Size retorna todas as referências a Size que correspondem ao escopo da classe que define Size.

  • Resultados desconfirmados: Esse filtro está desativado por padrão porque mostra os símbolos cujos nomes correspondem aos símbolos pesquisados, mas que não são referências reais a eles. Por exemplo, se você tiver duas classes, com cada uma definindo uma função de membro chamada Size, e executar uma pesquisa por Size em uma referência de um objeto de Class1, todas as referências a Size de Class2 serão exibidas como desconfirmadas.

  • Resultados não processados: as operações Localizar Todas as Referências podem levar tempo para serem concluídas em bases de código maiores, portanto, a lista de resultados mostra os resultados "não processados" aqui. Os resultados não processados correspondem ao nome do símbolo que está sendo pesquisado, mas que ainda não foi confirmado como uma referência de código real. Ative esse filtro para obter resultados mais rápidos. Alguns resultados podem não ser referências reais.

Classificar resultados

Classifique os resultados por qualquer coluna, selecionando essa coluna. Alterne entre ordem ascendente ou decrescente selecionando a coluna novamente.

Navegue até a definição de um tipo em um arquivo ou até membros de tipo, usando a barra de navegação acima da janela do editor.

Captura de tela da Barra de Navegação acima da janela do editor. Ela mostra cryptlib > ChannelSwitch > ChannelMessageSeriesEnd().

Confira também