Partilhar via


IntelliSense no Visual Studio

O IntelliSense é uma ferramenta de autocompletar código que inclui recursos para ajudá-lo a compreender melhor o código que está a usar, seguir os parâmetros que escreve e adicionar chamadas a propriedades e métodos com apenas alguns toques de teclas.

Esses recursos incluem:

Muitos aspetos do IntelliSense são específicos do idioma. Para obter mais informações sobre o IntelliSense para diferentes idiomas, consulte os artigos listados na seção de conteúdo relacionado.

Além do IntelliSense, o Visual Studio oferece completações de código alimentadas por IA através do GitHub Copilot. As sugestões em linha do Copilot funcionam em conjunto com o IntelliSense para fornecer completamentos de linhas inteiras e múltiplas linhas. Para saber mais, consulte Introdução às completações do GitHub Copilot.

Lista de Membros

Uma lista de membros válidos de um tipo ou namespace aparece após digitar um carácter trigger, como um ponto (.) em código gerido ou :: em C++. Se continuares a escrever caracteres, a lista filtra para incluir apenas os membros que começam com esses caracteres ou onde o início de qualquer palavra dentro do nome começa com esses caracteres. O IntelliSense também faz correspondência de camel case, por isso pode digitar apenas a primeira letra de cada palavra em camel case no nome do membro para ver as correspondências.

Depois de selecionar um item, pode inseri-lo no seu código pressionando Tab ou escrevendo um espaço. Se selecionar um item e digitar um ponto, o item aparecerá seguido pelo ponto, o que exibirá outra lista de membros. Quando selecionas um item, mas antes de o inserires, recebes Informações Rápidas para o item.

Na lista de membros, o ícone à esquerda representa o tipo de membro, como namespace, classe, função ou variável. A lista pode ser longa, então você pode pressionar PgUp e PgDn para subir ou descer na lista.

Captura de tela do recurso de membros da lista do IntelliSense.

Você pode invocar o recurso Membros da Lista manualmente digitando Ctrl+J, escolhendo Editar>IntelliSense>Membros da Listaou escolhendo o botão Membros da Lista na barra de ferramentas do editor. Quando invocas numa linha em branco ou fora de um âmbito reconhecível, a lista mostra símbolos no namespace global.

Para desativar os Membros da Lista por padrão para que ela não apareça a menos que seja especificamente invocada, vá para Ferramentas Opções>Opções>Editor de Texto> Todos os Idiomas e desmarque Membros da lista automática. Para desligar o List Members Only para uma língua específica, vá às Definições Gerais dessa língua.

Para desligar os Membros da Lista por predefinição, de modo a que não apareçam a menos que sejam especificamente invocados, vá a Ferramentas>Opções>Idiomas>Predefinidos>Concluir Instrução Geral>e desmarqueMembros da lista automática. Para desligar o List Members Only para uma língua específica, vá às Definições Gerais dessa língua.

Você também pode mudar para o modo de sugestão, no qual apenas o texto digitado é inserido no código. Por exemplo, se introduzires um identificador que não está na lista e carregares em Tab, no modo de conclusão a entrada substitui o identificador digitado. Para alternar entre o modo de conclusão e o modo de sugestão, pressione Ctrl+Alt+Espaço ou escolha Editar>IntelliSense>Alternar entre conclusão automática e conclusão apenas com tab do IntelliSense.

Informações do parâmetro

O Parameter Info mostra-lhe o número, nomes e tipos de parâmetros que um método, parâmetro genérico de tipo de atributo (em C#) ou template (em C++) precisa.

O parâmetro a negrito mostra o próximo parâmetro de que precisas enquanto escreves a função. Para funções sobrecarregadas, use as setas Cima e Baixo para ver outras informações de parâmetros para as sobrecargas de funções.

Captura de tela do recurso IntelliSense Parameter Info.

Quando adicionas comentários de Documentação XML a funções e parâmetros, a Informação de Parâmetro mostra esses comentários. Para obter mais informações, consulte Fornecer comentários de código XML.

Pode abrir manualmente a Informação do Parâmetro escolhendo Editar>Informação do Parâmetro>, pressionando Ctrl+Shift+Space, ou escolhendo o botão Parameter Info na barra de ferramentas do editor.

Informações rápidas

Informações Rápidas exibe a declaração completa para qualquer identificador no código.

Captura de tela do recurso Informações rápidas do IntelliSense.

Quando você seleciona um membro na caixa Membros da lista, as Informações Rápidas também aparecem.

Captura de tela do recurso Informações rápidas e Informações de parâmetro do IntelliSense.

Você pode invocar manualmente as Informações Rápidas escolhendo Editar>IntelliSense>Informações Rápidas, pressionando Ctrl+K, Ctrl+I, ou escolhendo o botão Informações Rápidas na barra de ferramentas do editor.

Se uma função estiver sobrecarregada, o IntelliSense pode não exibir informações para todas as formas de sobrecarga.

Para desligar Informação Rápida, vá a Ferramentas>Opções> Editor >Todas as Línguas e desmarque Mostrar Informação Rápida ao passar o rato na secção de Definições.

Para desativar a Informação Rápida, vá a Ferramentas>Opções>Línguas e desmarque Mostrar Informação Rápida ao passar o cursor na secção Geral .

Palavra Completa

Palavra Completa completa o restante de uma variável, comando ou nome de função depois de você inserir caracteres suficientes para desambiguar o termo. Você pode invocar o Completar Palavra escolhendo Editar>IntelliSense>Completar Palavra, pressionando Ctrl+Espaço, ou escolhendo o botão Completar Palavra na barra de ferramentas do editor.

Opções do IntelliSense

As opções do IntelliSense estão ativadas por padrão.

Para os desligar, vá a Ferramentas>Opções>Idiomas>Padrões>Conclusão de Instruções Geral> e desmarque Informações de Parâmetro ou Lista automática de membros.

Para os desativar, vá a Ferramentas>Opções>Editor de Texto>de Todas as Línguas e desmarque Informação de Parâmetro ou Lista Automática de Membros.

Dica

Para alterar a aparência dos elementos da interface do utilizador no Visual Studio, vá a Ferramentas>Opções>de Ambiente>Fontes e Cores. Para obter mais informações sobre essas configurações e como interagir com elas, consulte Fontes e cores, Ambiente, caixa de diálogo Opções.

Ícones do IntelliSense

Os ícones no IntelliSense transmitem significado adicional através de modificadores de ícones. Estes ícones, que incluem estrelas, corações e cadeados, sobrepõem-se ao ícone do objeto para indicar protegido, interno ou privado, respetivamente.

Ícone Acessibilidade Descrição
Modificador de ícone público Classe pública O acesso não é restrito.
Modificador de ícones protegidos Classe protegida O acesso é limitado à classe que contém ou tipos derivados da classe que contém.
modificador de ícone interno protegido Classe interna protegida O acesso é limitado ao assembly atual ou aos tipos derivados da classe que contém.
modificador de ícone interno Classe interna O acesso é limitado ao assembly atual.
Modificador de ícone privado Aula privada O acesso é limitado à classe que a contém ou aos tipos derivados dessa classe dentro do conjunto atual. (Disponível desde C# 7.2.)
Ícone Acessibilidade Descrição
Modificador de ícone público Classe pública O acesso não é restrito.
Modificador de ícones protegidos Classe protegida O acesso é limitado à classe que contém ou tipos derivados da classe que contém.
modificador de ícone interno protegido Classe interna protegida O acesso é limitado ao assembly atual ou aos tipos derivados da classe que contém.
modificador de ícone interno Classe interna O acesso é limitado ao assembly atual.
Modificador de ícone privado Aula privada O acesso é limitado à classe que a contém ou aos tipos derivados dessa classe dentro do conjunto atual. (Disponível desde C# 7.2.)

Solução de problemas do IntelliSense

As opções do IntelliSense podem não funcionar como esperado em certos casos.

  • O cursor está abaixo de um erro de código: Talvez você não consiga usar o IntelliSense se existir uma função incompleta ou outro erro no código acima do cursor porque o IntelliSense pode não ser capaz de analisar os elementos de código. Você pode resolver esse problema comentando o código aplicável.

  • O cursor está em um comentário de código: Não é possível usar o IntelliSense se o cursor estiver em um comentário no arquivo de origem.

  • O cursor está em um literal de cadeia: Não é possível usar o IntelliSense se o cursor estiver entre as aspas de um literal de cadeia, como no exemplo a seguir:

    MessageBox( hWnd, "String literal|")
    
  • As opções automáticas estão desativadas: Por padrão, o IntelliSense funciona automaticamente, mas você pode desativá-lo. Mesmo que o preenchimento automático de instruções esteja desativado, você pode invocar um recurso IntelliSense.