Funcionalidades do Visual C++ IntelliSenseVisual C++ IntelliSense features

IntelliSense é um nome dado a um conjunto de recursos que tornam a codificação mais conveniente.IntelliSense is a name given to a set of features that make coding more convenient. O IntelliSense para C++ está disponível para arquivos autônomos, bem como para arquivos que fazem parte de um projeto em C++.IntelliSense for C++ is available for stand-alone files as well as for files that are part of a C++ project. Em projetos multiplataforma, alguns recursos do IntelliSense estão disponíveis nos arquivos .cpp e .c no projeto de código compartilhado, mesmo quando você está em um contexto Android ou iOS.In cross-platform projects, some IntelliSense features are available in .cpp and .c files in the shared code project, even when you are in an Android or iOS context.

Este artigo fornece uma visão geral dos recursos C++ IntelliSense.This article provides an overview of C++ IntelliSense features. Para obter informações sobre como configurar seu projeto para o IntelliSense e como solucionar problemas, consulte Configurar um projeto do C++ para o IntelliSense.For information on how to configure your project for IntelliSense and how to troubleshoot problems, see Configure a C++ project for IntelliSense.

Recursos do IntelliSense em C++IntelliSense features in C++

IntelliSense é um nome dado a um conjunto de recursos que tornam a codificação mais conveniente.IntelliSense is a name given to a set of features that make coding more convenient. Uma vez que pessoas diferentes têm ideias diferentes sobre o que é conveniente, praticamente todos os recursos do IntelliSense podem ser habilitados ou desabilitados na caixa de diálogo Opções, em Editor de Texto > C/C++ > Avançado.Since different people have different ideas about what is convenient, virtually all of the IntelliSense features can be enabled or disabled in the Options dialog box, under Text Editor > C/C++ > Advanced. A caixa de diálogo Opções está disponível no menu Ferramentas na barra de menus.The Options dialog box is available from the Tools menu on the menu bar.

Caixa de diálogo Opções de Ferramentas

Você pode usar os itens de menu e os atalhos de teclado mostrados na imagem a seguir para acessar o IntelliSense.You can use the menu items and keyboard shortcuts shown in the following image to access IntelliSense.

Menu IntelliSense

Lista de membro e preenchimento de declaraçãoStatement completion and member list

Quando você começa a digitar uma palavra-chave, um tipo, uma função, um nome de variável ou outro elemento de programa que o compilador reconhece, o editor se oferece para completar a palavra para você.When you start typing a keyword, type, function, variable name, or other program element that the compiler recognizes, the editor offers to complete the word for you.

Para obter uma lista de ícones e seus significados, consulte Modo de Exibição de Classe e ícones do Pesquisador de Objetos.For a list of the icons and their meanings, see Class View and Object Browser icons.

Janela Completar Palavra do Visual C++

Na primeira vez que você invoca a lista de membros, ela mostra apenas membros acessíveis para o contexto atual.The first time that you invoke member list, it only shows members that are accessible for the current context. Se você pressionar Ctrl+J depois disso, ela mostrará todos os membros, independentemente da acessibilidade.If you press Ctrl+J after that, it shows all members regardless of accessibility. Se você invocá-la uma terceira vez, uma lista ainda maior de elementos do programa será mostrada.If you invoke it a third time, an even wider list of program elements is shown. Você pode desativar a lista de membros na caixa de diálogo Opções, em Editor de Texto > C/C++ > Geral > Listar membros automaticamente.You can turn off member list in the Options dialog box, under Text Editor > C/C++ > General > Auto list members.

Lista de membros do Visual C++

Ajuda do parâmetroParameter help

Quando você digita uma chave de abertura de uma chamada de função ou colchete angular em uma declaração de variável de modelo de classe, o editor mostra uma pequena janela com tipos de parâmetro para cada sobrecarga da função ou do construtor.When you type an opening brace of a function call, or angle bracket on a class template variable declaration, the editor shows a small window with the parameter types for each overload of the function or constructor. O parâmetro "atual"—com base no local do cursor—está em negrito.The "current" parameter—based on the cursor location—is in bold. Você pode desativar as informações de parâmetro na caixa de diálogo Opções, em Editor de Texto > C/C++ > Geral > Informações de parâmetro.You can turn off parameter information in the Options dialog box, under Text Editor > C/C++ > General > Parameter information.

Ajuda de parâmetro do Visual C++

Informação RápidaQuick Info

Quando você passa o cursor do mouse sobre uma variável, aparece uma pequena janela embutida que mostra as informações de tipo e o cabeçalho no qual o tipo é definido.When you hover the mouse cursor over a variable, a small window appears inline that shows the type information and the header in which the type is defined. Passe o cursor do mouse sobre uma chamada de função para ver a assinatura da função.Hover over a function call to see the function's signature. Você pode desativar as Informações Rápidas na caixa de diálogo Opções, em Editor de Texto > C/C++ > Avançado > Informações Rápidas Automáticas.You can turn off Quick Info in the Options dialog box, under Text Editor > C/C++ > Advanced > Auto Quick Info.

QuickInfo do Visual C++

Linhas onduladas de erroError squiggles

Linhas onduladas em um elemento de programa (variável, palavra-chave, chave, nome do tipo e assim por diante) chamam a atenção para um erro ou erro em potencial no código.Squiggles under a program element (variable, keyword, brace, type name, and so on) call your attention to an error or potential error in the code. Uma linha ondulada verde é exibida quando você escreve uma declaração de encaminhamento para lembrá-lo de que você ainda precisa escrever a implementação.A green squiggle appears when you write a forward declaration, to remind you that you still need to write the implementation. Uma linha ondulada roxa aparece em um projeto compartilhado quando há um erro no código que não está ativo no momento, por exemplo, quando você está trabalhando no contexto do Windows, mas digita algo que seria um erro em um contexto do Android.A purple squiggle appears in a shared project when there is an error in code that is not currently active, for example when you are working in the Windows context but enter something that would be an error in an Android context. Uma linha ondulada vermelha indica um erro do compilador ou aviso no código ativo que você precisa resolver.A red squiggle indicates a compiler error or warning in active code that you need to deal with.

Rabiscos de erros do Visual C++

Colorização e fontes de códigoCode colorization and fonts

As fontes e cores padrão podem ser alteradas na caixa de diálogo Opções, em Ambiente > Fontes e Cores.The default colors and fonts can be changed in the Options dialog box, under Environment > Fonts and Colors. Você pode alterar as fontes para muitas janelas da interface do usuário aqui, não apenas para o editor.You can change the fonts for many UI windows here, not just the editor. As configurações específicas do C++ começam com "C++"; as outras configurações são para todas as linguagens.The settings that are specific to C++ begin with "C++"; the other settings are for all languages.

IntelliSense multiplaformaCross-platform IntelliSense

Em um projeto de código compartilhado, alguns recursos do IntelliSense, como linhas onduladas, estão disponíveis, mesmo quando você está trabalhando em um contexto Android.In a shared code project, some IntelliSense features such as squiggles are available even when you are working in an Android context. Se você escrever algum código que resultaria em um erro em um projeto inativo, o IntelliSense ainda mostrará linhas onduladas, mas elas estarão em uma cor diferente das linhas onduladas para erros no contexto atual.If you write some code that would result in an error in an inactive project, IntelliSense still shows squiggles, but they are in a different color than squiggles for errors in the current context.

Considere um aplicativo OpenGLES configurado para compilação no Android e no iOS.Consider an OpenGLES Application that's configured to build for Android and iOS. A ilustração mostra o código compartilhado que está sendo editado.The illustration shows shared code being edited. Nesta imagem, o projeto ativo é iOS.StaticLibrary:In this image, the active project is iOS.StaticLibrary:

O iOS está selecionado como o projeto ativo.

Observe o seguinte:Notice the following:

  • O branch #ifdef na linha 6 é esmaecido para indicar uma região inativa, pois __ANDROID__ não está definido para o projeto iOS.The #ifdef branch on line 6 is grayed out to indicate an inactive region, because __ANDROID__ is not defined for the iOS project.

  • A variável de saudação na linha 11 é inicializada com o identificador HELLO, que agora tem uma linha ondulada vermelha.The greeting variable at line 11 is initialized with the identifier HELLO, which now has a red squiggle. Isso ocorre porque nenhum identificador HELLO está definido no projeto iOS atualmente ativo.This is because no identifier HELLO is defined in the currently active iOS project.

  • A linha 12 tem linha ondulada roxa no identificador BYE, pois esse identificador não está definido no projeto Android.NativeActivity inativo (no momento).Line 12 has a purple squiggle on the identifier BYE because this identifier isn't defined in the (currently) inactive Android.NativeActivity project. Embora essa linha seja compilada quando iOS é o projeto ativo, ela não será compilada quando Android for o projeto ativo.Even though this line compiles when iOS is the active project, it won't compile when Android is the active project. Uma vez que esse é um código compartilhado, você precisa corrigir o código, embora ele seja compilado na configuração ativa no momento.Since this is shared code, you should correct the code even though it compiles in the currently active configuration.

Se você alterar o projeto ativo para Android, as linhas onduladas mudarão:If you change the active project to Android, the squiggles change:

  • O branch #else na linha 8 é esmaecido para indicar uma região inativa, pois __ANDROID__ está definido para o projeto Android.The #else branch on line 8 is grayed out to indicate an inactive region, because __ANDROID__ is defined for Android project.

  • A variável de saudação na linha 11 é inicializada com o identificador HELLO, que tem uma linha ondulada roxa.The greeting variable at line 11 is initialized with identifier HELLO, which has a purple squiggle. Isso ocorre porque nenhum identificador HELLO está definido no projeto iOS atualmente inativo.This is because no identifier HELLO is defined in the currently inactive iOS project.

  • A linha 12 tem uma linha ondulada vermelha no identificador BYE pois esse identificador não está definido no projeto ativo.Line 12 has a red squiggle on the identifier BYE because this identifier is not defined in the active project.

IntelliSense para arquivos autônomosIntelliSense for stand-alone files

Ao abrir um arquivo único fora de qualquer projeto, você ainda obtém o IntelliSense.When you open a single file outside of any project, you still get IntelliSense. Você pode habilitar ou desabilitar os recursos do IntelliSense específicos na caixa de diálogo Opções, em Editor de Texto > C/C++ > Avançado.You can enable or disable particular IntelliSense features in the Options dialog box, under Text Editor > C/C++ > Advanced. Para configurar o IntelliSense para arquivos únicos que não fazem parte de um projeto, procure a seção IntelliSense e navegação para arquivos que não são de projeto.To configure IntelliSense for single files that aren't part of a project, look for the IntelliSense and browsing for non-project files section.

IntelliSense de arquivo único do Visual C++

Por padrão, IntelliSense de arquivo único usa apenas diretórios de inclusão padrão para localizar arquivos de cabeçalho.By default, single file IntelliSense only uses standard include directories to find header files. Para adicionar mais diretórios, abra o menu de atalho no nó Solução e adicione seu diretório à lista Depurar Código-Fonte, como mostra a seguinte ilustração:To add additional directories, open the shortcut menu on the Solution node, and add your directory to Debug Source Code list, as the following illustration shows:

Adicionando um caminho ao arquivo de cabeçalho.

Habilitar ou desabilitar funcionalidadesEnable or disable features

Uma vez que pessoas diferentes têm ideias diferentes sobre o que é conveniente, praticamente todos os recursos do IntelliSense podem ser habilitados ou desabilitados na caixa de diálogo Opções, em Editor de Texto > C/C++ > Avançado.Since different people have different ideas about what is convenient, virtually all of the IntelliSense features can be enabled or disabled in the Options dialog box, under Text Editor > C/C++ > Advanced. A caixa de diálogo Opções está disponível no menu Ferramentas na barra de menus.The Options dialog box is available from the Tools menu on the menu bar.

Caixa de diálogo Opções de Ferramentas

Consulte tambémSee also