Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Visual Studio fornece várias ferramentas para ajudá-lo a escrever, editar e refatorar seu código.
IntelliSense
O IntelliSense é uma poderosa ferramenta de autocompletar código que sugere símbolos e trechos de código para você enquanto digita. O C++ IntelliSense no Visual Studio é executado em tempo real, analisando sua base de código à medida que você a atualiza e fornecendo recomendações. À medida que você digita mais caracteres, a lista de resultados recomendados diminui.
Alguns símbolos são omitidos automaticamente para ajudar a reduzir os resultados. Por exemplo, ao acessar os membros de um objeto de classe de fora da classe, você não poderá ver membros privados por padrão ou membros protegidos (se não estiver no contexto de uma classe filha). Você pode ajustar a filtragem usando os botões na parte inferior.
Depois de escolher o símbolo na lista suspensa, você pode preenchê-lo automaticamente com Tab, Enter ou um dos outros caracteres de confirmação (por padrão: { } [ ] ( ) . , : ; + - * / % & | ^ ! = ? @ # \). Para adicionar ou remover caracteres desta lista, procure por "IntelliSense" no Início Rápido (Ctrl + Q) e escolha a opção Editor > de Texto C/C++ > Avançado . A opção Caracteres de confirmação da lista de membros permite que você personalize a lista com as alterações desejadas.
A opção Modo de Filtro da Lista de Membros controla os tipos de sugestões de preenchimento automático do IntelliSense que você vê. Por padrão, ele é definido como Fuzzy. Em uma pesquisa difusa, se você tiver um símbolo chamado MyAwesomeClass, você pode digitar "MAC" e encontrar a classe em suas sugestões de preenchimento automático. O algoritmo difuso define um limite mínimo que os símbolos devem cumprir para aparecer na lista. A filtragem inteligente exibe todos os símbolos que contêm substrings que correspondem ao que você digitou. A filtragem de prefixos procura cadeias de caracteres que começam com o que você digitou.
Para obter mais informações sobre C++ IntelliSense, consulte Visual Studio C++ IntelliSense e Configurar um projeto C++ para IntelliSense.
IntelliCode [en]
O IntelliCode é um IntelliSense assistido por IA. Coloca o candidato mais provável no topo da sua lista de conclusão. As recomendações do IntelliCode são baseadas em milhares de projetos de código aberto no GitHub, cada um com mais de 100 estrelas. Quando combinada com o contexto do seu código, a lista de conclusão é adaptada para promover práticas comuns.
Ao escrever C++, o IntelliCode ajudará ao usar bibliotecas populares, como a Biblioteca Padrão C++. O contexto do seu código é usado para fornecer as recomendações mais úteis primeiro. No exemplo a seguir, a size função de membro é comumente usada com a sort função, portanto, ela aparece no topo da lista de resultados.
No Visual Studio 2022 e no Visual Studio 2019, o IntelliCode está disponível como um componente opcional na carga de trabalho C++ Desktop Development . Para certificar-se de que o IntelliCode está ativo para C++, vá para Opções de Ferramentas>>IntelliCode>Geral e defina o modelo base C++ como Ativado.
No Visual Studio 2017, o IntelliCode está disponível como uma extensão no Visual Studio Marketplace.
IntelliSense Preditivo (Experimental)
O IntelliSense preditivo é um recurso experimental que usa consciência contextual para limitar o número de resultados exibidos na lista suspensa do IntelliSense. O algoritmo aplica a correspondência de tipo para mostrar apenas os resultados que correspondem ao tipo esperado. No caso mais simples, se você digitar int x = e invocar a lista suspensa IntelliSense, verá apenas inteiros ou funções retornando inteiros. Esse recurso está desativado por padrão porque ainda está em desenvolvimento. Funciona melhor com símbolos globais; As funções de membro ainda não são suportadas. Você pode ativá-lo digitando "Preditivo" no Início Rápido ou indo para Ferramentas>Opções>Editor de Texto>C/C++>Experimental>Ativar IntelliSense Preditivo.
Para substituir o Predictive IntelliSense e mostrar a lista mais longa, pressione Ctrl + J. Se o IntelliSense Preditivo estiver ativado, invocar Ctrl + J removerá o filtro Preditivo. Pressionar Ctrl + J novamente remove o filtro de acessibilidade dos resultados da Lista de Membros, quando relevante. O botão ([+]) na lista suspensa IntelliSense faz a mesma coisa que Ctrl + J. Passe o cursor sobre o botão para ver as informações da dica de ferramenta sobre o que está sendo mostrado.
A captura de tela anterior mostra vários botões na lista suspensa. Estes permitem filtros IntelliSense para diferentes tipos de resultados:
- Variáveis e constantes
- Funções
- Tipos
- Macros
- Enums
- Namespaces
Um botão só será exibido se for relevante para sua sessão atual do IntelliSense. Normalmente, você não vê todos os botões ao mesmo tempo.
Modelo IntelliSense
A barra de modelos é um elemento da interface do usuário que aparece quando o cursor está em uma definição de modelo. É útil porque você pode fornecer argumentos de modelo de exemplo para o intellisense que aparecerão quando você editar o corpo do modelo. Por exemplo, você pode especificar que um argumento de modelo é do tipo std::vector<int>. Então, quando você usar esse argumento no corpo do modelo, você verá os membros do std::vector<int>in intellisense.
Clique no <ícone T> para expandir/recolher a Barra de modelos. Clique no ícone de lápis ou clique duas vezes na Barra de modelos para abrir a janela Editar onde você especifica tipos de argumento para os parâmetros.
A Barra de modelos pode preencher automaticamente tipos de parâmetros com base em instanciações do modelo em seu código. Clique em Adicionar todas as instanciações existentes para ver uma lista de todos os argumentos concretos que foram usados para instanciar o modelo em toda a sua base de código.
Uma janela na parte inferior do editor mostra onde cada instanciação foi encontrada e quais eram seus argumentos. Você pode selecionar uma instanciação para ir para o local em seu código onde essa instanciação foi encontrada.
As informações da Barra de Modelos são específicas do usuário. Ele é armazenado na pasta e não está comprometido com o .vs controle do código-fonte.
Erros e correções rápidas
Se o editor detetar problemas com seu código, ele adicionará rabiscos coloridos sob o problema. Rabiscos vermelhos indicam código que não será compilado. Os rabiscos verdes indicam outros tipos de problemas que ainda podem ser potencialmente graves. Você pode abrir a janela Lista de Erros para obter mais informações sobre os problemas.
Para alguns tipos de erros e padrões de codificação comuns, o editor oferecerá uma Correção Rápida na forma de uma lâmpada que aparece quando você passa o mouse sobre o rabisco. Clique na seta para baixo para ver as sugestões.
No exemplo a seguir, um vector foi declarado, mas nenhuma definição foi encontrada, então o editor se oferece para incluir o arquivo de cabeçalho necessário:
O editor também oferece correções rápidas para algumas oportunidades de refatoração. Por exemplo, se você declarar uma classe em um arquivo de cabeçalho, o Visual Studio oferecerá para criar uma definição para ela em um arquivo .cpp separado.
Acompanhamento de alterações
Sempre que você faz uma alteração em um arquivo, uma barra amarela aparece à esquerda para indicar que as alterações não salvas foram feitas. Quando você salva o arquivo, a barra fica verde. As barras verde e amarela são preservadas desde que o documento esteja aberto no editor. Eles representam as alterações feitas desde a última vez que você abriu o documento.
Mover código
Você pode mover linhas de código para cima e para baixo selecionando-as, mantendo pressionada a tecla Alt e pressionando as teclas de seta para cima/baixo .
Inserir trechos
Um trecho é uma parte predefinida do código-fonte. Clique com o botão direito do mouse em um único ponto ou no texto selecionado e selecione Trecho para inserir um trecho ou cercar o texto selecionado com o trecho. A ilustração a seguir mostra as três etapas para cercar uma instrução selecionada com um loop for. Os destaques amarelos na imagem final são campos editáveis que você acessa com a tecla tab. Para obter mais informações, consulte trechos de código.
Uma função é selecionada. Na lista suspensa que aparece após um clique com o botão direito do mouse no nome da função, Surround With... é realçado a amarelo. No menu suspenso Surround with:, o trecho de um loop 'for' é selecionado. Isso resulta em colocar um loop for em torno da função. A variável de loop e o limite são mostrados em amarelo para indicar que são campos editáveis.
Adicionar classe
Adicione uma nova classe no menu Project ou no menu de contexto no Solution Explorer:
Você também pode usar o Assistente de classe para modificar ou examinar uma classe existente.
Para obter mais informações, consulte Adicionando funcionalidade com assistentes de código (C++).
Refatorização
As refatorações estão disponíveis no menu de contexto Ação rápida ou clicando em uma lâmpada no editor. Alguns também são encontrados no menu Editar > Refator . Estas funcionalidades incluem:
- Mudar o nome
- Função Extrair
- Implementar Pure Virtuals
- Criar Declaração / Definição
- Mover definição de função
- Converter em literal de cadeia de caracteres bruta
- Alterar assinatura
Aplicação de estilo de código com ClangFormat e EditorConfig
O Visual Studio 2017 e posterior vem com suporte interno para ClangFormat, um utilitário popular de formatação de código para C++ baseado em Clang/LLVM. Digite "ClangFormat" no Início Rápido para configurá-lo para usar um destes formatos comuns:
- LLVM
- Crómio
- Mozilla
- WebKit
- Visual Studio
Você também pode fornecer seu próprio .clang-format arquivo ou _clang-format para aplicar regras personalizadas a todos os arquivos de código no mesmo nível ou abaixo.
Os arquivos são facilmente compartilháveis via controle do código-fonte, para que você possa impor convenções de codificação em toda a sua equipe de desenvolvimento.
O Visual Studio 2017 e posterior também oferece suporte ao EditorConfig, que funciona de maneira semelhante. ClangFormat, no entanto, tem mais opções de estilo do que EditorConfig, incluindo regras que são específicas para C++. Com EditorConfig, você cria arquivos .editorconfig e os coloca em diferentes pastas de sua base de código para especificar estilos de código para essas pastas e suas subpastas. Um arquivo .editorconfig substitui quaisquer outros arquivos .editorconfig nas pastas pai e substitui todas as configurações de formatação configuradas por meio dasOpções de >. Você pode definir regras para guias versus espaços, tamanho de recuo e muito mais. Para obter mais informações, consulte Criar configurações de editor portáteis e personalizadas com EditorConfig.
Outras opções de formatação
A caixa de pesquisa Início Rápido fornece a maneira mais rápida de encontrar uma configuração ou ferramenta. Ele está localizado no menu principal. Basta começar a digitar e a lista de preenchimento automático filtrará os resultados.
Para definir opções de formatação, como recuos, conclusão da chave e colorização, digite "Formatação C++" na janela Início Rápido .
Outras opções de formatação encontram-se em Editar>Avançado no menu principal.
As opções para habilitar e configurar recursos de edição específicos do C++ estão localizadas em Opções de Ferramentas>> Editor >C/C++. Depois de escolher qual opção deseja definir, você pode obter mais ajuda pressionando F1 quando a caixa de diálogo estiver em foco. Para opções gerais de formatação de código, digite Editor C++ Início Rápido.
Recursos experimentais, que podem ou não ser incluídos em uma versão futura do Visual Studio, são encontrados na caixa de diálogo Experimental C++ do Editor de Texto . No Visual Studio 2017 e posterior, você pode habilitar o Predictive IntelliSense nesta caixa de diálogo.
Ver também
Leia e compreenda o código
C++Navegar na base de código C++ no Visual Studio
Colabore com o Live Share para C++