Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Visual Studio ajuda você a atualizar o código C++ herdado com opções do compilador, avisos de análise de código e recursos do editor, como Correções Rápidas, Informações Rápidas e a barra de rolagem aprimorada. O termo "código legado" refere-se a qualquer uma destas categorias:
Código que anteriormente era permitido pelo compilador Microsoft C++ (MSVC), mas nunca estava em conformidade com o padrão C++.
Para atualizar o código MSVC não conforme mais antigo, ative a
/permissive-opção de compilador. Todas as ocorrências de utilizações não conformes são sublinhadas com rabiscos vermelhos no editor de código. As mensagens de erro na janela Lista de Erros incluem uma recomendação sobre como corrigir o erro. Clique no código de erro para ir para a página de ajuda na documentação. Se corrigir todos os erros de uma só vez for impraticável, você pode atualizar o código não conforme em etapas, ativando a/permissive-opção, corrigindo alguns erros e, em seguida, desativando a opção novamente. O código será compilado com as novas melhorias, e você pode voltar e corrigir os problemas restantes em um momento posterior. Consulte a/permissive-página para obter exemplos de código MSVC não conforme.Código que era permitido em uma versão anterior do padrão C++, mas foi preterido ou removido em uma versão posterior.
Para atualizar para um padrão de linguagem mais recente, defina a opção C++ Language Standard para o padrão desejado e corrija quaisquer erros de compilação gerados. Em geral, recomendamos definir o padrão de idioma como
/std:c++17ou/std:c++20. Os erros gerados ao atualizar para um padrão mais recente não estão relacionados aos erros gerados ao usar a/permissive-opção.Código que está em conformidade com todas as versões do padrão, mas não é mais considerado uma prática recomendada no C++ moderno.
Para identificar o código onde as alterações são recomendadas, execute Análise de código.
Abrir e converter um projeto herdado
Se os seus projetos legados são baseados numa versão mais antiga do Visual Studio, pode ainda carregá-los numa versão mais recente e trabalhar neles, mantendo a compatibilidade com versões anteriores. Quando você estiver pronto para mover permanentemente para a nova versão do Visual Studio, você pode redirecionar seus projetos. Isso permitirá que você use as ferramentas de compilação e os recursos de projeto mais recentes no IDE, mas não poderá mais carregar os projetos redirecionados na versão mais antiga do Visual Studio.
Para redirecionar projetos para o formato do Visual Studio 2026, você pode usar o assistente de configuração que aparece na primeira vez que você abre uma solução contendo projetos mais antigos. Você também pode acessá-lo clicando com o botão direito do mouse na solução no Gerenciador de Soluções e selecionando Redirecionar solução.
O assistente de configuração dá-lhe a opção de permanecer na versão mais antiga e instalar quaisquer ferramentas de compilação em falta ou SDKs do Windows necessários para compilar, ou redirecionar os projetos para atualizá-los. Você pode fazer seleções de redirecionamento para cada projeto na solução ou selecionar Redirecionar tudo>Aplicar para atualização.
Para obter mais informações, consulte Atualizar projetos C++ de versões anteriores do Visual Studio.
Lista de Erros
Depois de definir o padrão de linguagem C++ desejado e quaisquer outras opções do compilador (Propriedades>gerais do >), pressione Ctrl+Shift+B para compilar seu projeto. Você pode esperar ver alguns erros e avisos na forma de rabiscos vermelhos em vários lugares no código. Os erros também aparecem na Lista de Erros. Para obter mais informações sobre um erro específico, clique no código de erro para ir para a página de ajuda na documentação. Os códigos de erro que começam com um "C" são erros do compilador. Códigos que começam com "MSB" são erros MSBuild que indicam um problema com a configuração do projeto.
Indicador de integridade do documento
O indicador de integridade do documento na parte inferior do editor mostra o número de erros e avisos no documento atual e permite que você navegue diretamente de um aviso/erro para o próximo.
Em muitos casos, você pode encontrar mais informações sobre um erro específico na documentação sobre o histórico de alterações do Visual Studio e melhorias de conformidade.
- Melhorias de conformidade com C++
- Histórico de alterações do Visual C++ 2003 - 2015
- Visão geral de possíveis problemas de atualização
Use a análise de código para modernizar seu código
Ao atualizar, recomendamos que você execute a análise de código em seu projeto para que o código esteja em conformidade, no mínimo, com as Regras Recomendadas Nativas da Microsoft. Essas regras são uma combinação de regras definidas pela Microsoft e um subconjunto das Diretrizes Principais do C++. Ao estar em conformidade com estes, você reduzirá ou eliminará muito as fontes comuns de bugs e, ao mesmo tempo, tornará seu código mais legível e, portanto, mais fácil de manter. A Análise de Código usando as Regras Nativas Recomendadas da Microsoft é habilitada por padrão. Você pode habilitar regras adicionais em projeto>propriedades>análise de código. O código que viola uma das regras é sinalizado como um aviso e sublinhado com um rabisco verde no editor de código. Passe o cursor sobre o rabisco para ver uma dica de ferramenta QuickInfo que descreve o problema.
Clique no ícone de filtro na coluna Código para escolher quais avisos serão exibidos.
Os erros e avisos de análise de código também aparecem na Lista de Erros , assim como os erros do compilador.
Você pode alterar quais regras estão ativas e criar conjuntos de regras personalizados. Para obter mais informações sobre como usar a Análise de Código, consulte Visão geral da Análise de código para C/C++.
Usar Ações Rápidas para modernizar o código
O editor de código fornece Ações Rápidas para algumas recomendações comuns. Quando o ícone da lâmpada é exibido, você pode clicar nele para ver as Ações Rápidas disponíveis.
Converter macros em funções constexpr
A imagem a seguir mostra o uso da macro chamada AVERAGE, que tem a coloração semântica padrão. A imagem também mostra o "tooltip" QuickInfo que é exibido quando o cursor do rato passa por cima.
Como o uso de macros é desencorajado no C++ moderno, o Visual Studio facilita a conversão de macros em constexpr funções:
Clique com o botão direito do mouse em
AVERAGEe escolha Ir para Definição.Clique no ícone da chave de fenda e escolha Converter macro em constexpr
A macro é convertida como mostrado abaixo:
E a chamada para AVERAGE agora é colorida como uma chamada de função, e a dica de ferramenta Informações rápidas mostra o tipo deduzido da função:
Inicializar variáveis
Variáveis não inicializadas podem conter valores aleatórios que levam a bugs graves. A análise de código sinaliza essas instâncias e o editor fornece uma Ação Rápida:
Converter em literal de cadeia de caracteres bruta
Os literais de cadeia de caracteres brutos são menos propensos a erros e mais convenientes de digitar do que cadeias de caracteres com caracteres de escape incorporados. Clique com o botão direito do mouse em uma cadeia de caracteres e escolha Ações Rápidas para convertê-la em uma cadeia de caracteres bruta literal.
A cadeia de caracteres é convertida em: R"(C:\Users\bjarnes\demo\output.txt)".