Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Visual Studio ajuda você a atualizar o código C++ herdado com opções de compilador, avisos de análise de código e recursos de editor, como Correções Rápidas, Informações Rápidas e a barra de rolagem aprimorada. O termo "código herdado" refere-se a qualquer uma das categorias:
Código que anteriormente era permitido pelo compilador do Microsoft C++ (MSVC), mas nunca está em conformidade com o padrão C++.
Para atualizar o código MSVC antigo sem conformidade, ative a opção do compilador
/permissive-. Todas as instâncias de uso nsem conformidade são sublinhadas com rabiscos vermelhos no editor de código. As mensagens de erro na janela Lista de Erros incluem uma recomendação de como corrigir o erro. Clique no código de erro para acessar a página de ajuda na documentação. Se corrigir todos os erros de uma vez for impraticável, você poderá atualizar o código não compatível em estágios ativando a opção/permissive-, corrigindo alguns erros e desativando a opção novamente. O código será compilado com as novas melhorias e você poderá voltar e corrigir os problemas restantes posteriormente. Consulte a página/permissive-para obter exemplos de código MSVC não compatível.Código permitido em uma versão anterior do padrão C++, mas que foi preterido ou removido em uma versão posterior.
Para atualizar para um padrão de linguagem mais recente, defina a opção Linguagem C++ padrão como o padrão desejado e corrija os erros de compilação gerados. Em geral, é recomendável definir o padrão de linguagem 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 opção/permissive-.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 em que são recomendadas alterações, execute a Análise de código.
Abrir e converter um projeto herdado
Se seus projetos herdados forem baseados em uma versão mais antiga do Visual Studio, você ainda poderá carregá-los em uma versão mais recente e trabalhar nela, mantendo a compatibilidade com versões anteriores. Quando estiver pronto para mudar permanentemente para a nova versão do Visual Studio, você poderá redirecionar seus projetos. Isso permitirá que você use as ferramentas de build mais recentes e os recursos de projeto no IDE, mas você 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 instalação que aparece na primeira vez que abrir uma solução contendo projetos mais antigos. Você também pode acessá-la clicando com o botão direito do mouse na solução no Gerenciador de Soluções e selecionando a solução Retarget.
Em seguida, o assistente de instalação oferece a opção de permanecer na versão mais antiga e instalar as ferramentas de build ausentes ou os 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 atualizar.
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 do >Projeto>Geral), pressione Ctrl+Shift+B para compilar seu projeto. Você pode esperar encontrar alguns erros e avisos na forma de rabiscos vermelhos em vários locais do 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. Códigos de erro que começam com um "C" são erros do compilador. Os códigos que começam com "MSB" são erros do 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 e melhorias de conformidade do Visual Studio.
- Melhorias de conformidade com C++
- Histórico de alterações do Visual C++ de 2003 a 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 Nativas Recomendadas da Microsoft. Essas regras são uma combinação de regras definidas pela Microsoft e um subconjunto das Diretrizes Principais do C++. Estando em conformidade com elas, 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 ativar regras adicionais em Projeto>Propriedades>Code Analysis. 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.
Erros e avisos de análise de código também aparecem na Lista de erros, assim como 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++.
Use as 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 colorização semântica padrão. A imagem também mostra a dica da ferramenta QuickInfo exibida quando o cursor do mouse passa o mouse sobre ela:
Como o uso de macros é desencorajado no C++ moderno, o Visual Studio facilita a conversão de macros em funções constexpr:
Clique com o botão direito do mouse em
AVERAGEe escolha Ir para definição.Clique no ícone de chave de fenda e escolha Converter macro em constexpr
A macro é convertida conforme 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 erros sérios. 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
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 inseridos. Clique com o botão direito do mouse em uma cadeia de caracteres e escolha Ações Rápidas para convertê-la em um literal de cadeia de caracteres bruta.
A cadeia de caracteres é convertida em: R"(C:\Users\bjarnes\demo\output.txt)".