O que há de novo no Visual Studio 2022?

O Visual Studio 2022 está agora em versão prévia, com lançamento previsto para novembro de 2021 junto com o . NET 6, ao qual oferecerá suporte. Inclui muitos novos recursos e melhorias, como AI IntelliCode, que pode preencher automaticamente pedaços de código para você.
Você pode baixar a visualização de seu site. Embora ainda seja “ experimental, ” e não está pronto para produção, ele ainda é o Visual Studio, então, a menos que você dependa de extensões que ainda não foram atualizadas, não tenha medo de tentar.
Cobriremos as alterações mais importantes a partir da Visualização 3, mas se quiser ler as notas do patch linha por linha, você pode fazer isso nos documentos da Microsoft. Há também um roteiro que descreve a direção geral.
É finalmente 64 bits
O Visual Studio sempre foi de 32 bits, o que significa que foi limitado a 4 GB de RAM no processo principal. Normalmente não ultrapassa este orçamento para projetos normais, mas alguns usuários podem ter exceções de falta de memória com soluções particularmente grandes.
Com o VS 2022, ele foi corrigido e agora é um aplicativo de 64 bits. A Microsoft testou projetos com 1600 projetos e 300 mil arquivos e funciona bem.
Publicidade
O 64 bits deveria teoricamente ser executado mais rápido e parece ser um pouco mais rápido nos tempos de inicialização, mas a Microsoft também tem trabalhado no desempenho em geral, então &’ É difícil dizer o quanto isso realmente o afeta. De qualquer forma, uma boa mudança.
Claro, você ainda pode desenvolver aplicativos de 32 bits com o VS 2022. Isso se aplica apenas ao editor.
AI IntelliCode é incrível
O Visual Studio 2022 apresenta uma atualização importante para seu mecanismo de preenchimento automático IntelliCode. Ele é capaz de preencher automaticamente linhas inteiras e trechos de código e funciona muito bem.
É um pouco diferente do copiloto do GitHub, que faz um trabalho semelhante. O Copilot irá gerar fragmentos inteiros de código e funciona melhor para funções pequenas e contidas com uma solução clara. É ótimo, mas tem seus próprios problemas, principalmente o fato de que o código que ele gera não é garantido nem mesmo ser o que você deseja (e pode extrair código palavra por palavra de forma aleatória Repositórios do GitHub, que é outro problema).
O IntelliCode tem uma abordagem muito mais restrita e simplesmente completa uma única linha, levando em consideração alguns dos seguintes fatores:
- Nomes e posições de variáveis
- Bibliotecas que você está usando
- Funções no código circundante
- A lista suspensa do IntelliSense, que você pode usar tabulação para dar mais sugestões ao IntelliCode
Depois de usá-lo por duas semanas, é realmente algo que você precisa experimentar. É chocantemente inteligente e, muitas vezes, ao usá-lo, me peguei pensando “ uau, estava prestes a digitar isso! ”
Publicidade
Por exemplo, escrever uma função que recebe um número de 1 a 12:

Para entender e fornecer esse resultado, o IntelliCode está fazendo muito mais do que apenas completar a sintaxe automaticamente; Ele entende que estou esperando uma exceção, bastante óbvia, dado que estou digitando “ throw ” e pode descobrir que essa exceção só é lançada se uma comparação de tamanho inteiro falhar. Ele sabe que Largura é um argumento que está sendo verificado antes da execução do código e que estou lançando uma exceção porque algo está errado com o argumento.
Sabendo de tudo isso, ele dá um palpite extremamente preciso sobre minhas intenções e decide que um ArgumentOutOfRangeException deve ser o que estou tentando digitar, antes de até mesmo capaz de começar a digitar “ novo. ”
E, se você descer a página, poderá preencher os resultados com diferentes opções. Ainda é um pouco inconsistente (decidiu codificar permanentemente “ Largura ” e depois usou nameof), mas no geral, funciona bem.

O IntelliCode roda o tempo todo, e tudo que você precisa fazer é pressionar tab-tab para aceitá-lo, caso contrário, você pode continuar digitando. Atualmente, ele funciona apenas para C #, mas mais idiomas “ em breve. ”
Suporte . NET 6
. NET 6 é a versão mais recente, também em versão prévia. O VS 2022 terá suporte integrado para ele e todos os seus recursos, e o padrão é . NET 6 para novos projetos.
Publicidade
Mais notavelmente, o VS 2022 terá suporte total para . NET MAUI, ou Multi-platform App UI, o novo padrão da Microsoft para desenvolvimento de aplicativos nativos em várias plataformas.

Recarregamento ativo do . NET
Uma das coisas mais irritantes na programação é ficar olhando para a tela, esperando que seu aplicativo seja compilado, iniciado e atualizado com as últimas alterações. Hot Reloading é um recurso de muitas outras linguagens, como JavaScript, e tem sido usado por estruturas da web como React para fazer mudanças rápidas. Porém, até agora, não havia uma solução padronizada para . NET.
Não é completamente universal e requer uma configuração de projeto específica, mas o VS 2022 inclui recarregamento a quente para “ WPF, Windows Forms, visualizações . NET MAUI, aplicativos ASP. NET Core code-behind, Console aplicativos, WinUI 3 e muitos outros. ” Isso exclui bibliotecas de classes usadas por outro aplicativo.
Certos tipos de alterações podem não se aplicar corretamente, o que solicitará que você reinicie corretamente. Você pode ver a lista completa deles aqui, mas a essência é:
- Sem modificação de assinaturas de método
- Sem adição de declarações usando
- Sem modificação de interfaces
- Sem renomeação de membros de qualquer tipo
Basicamente, você pode editar o código em qualquer método, mas assim que começar a mexer na estrutura do projeto, pode ser necessário reiniciá-lo.
Está bem integrado na experiência de depuração do VS, com um novo ícone para “ Aplicar alterações de código ” isso irá desencadear o recarregamento a quente. Você também pode usar o novo comando dotnet watch para recarregar automaticamente nas alterações de arquivo.
Publicidade
Os aplicativos da web Razor / Blazor podem atualmente fazer uso de recarregamento a quente, mas o Blazor WebAssembly ainda tem algumas coisas a serem resolvidas e atualmente não está funcionando ainda. No entanto, ele está sendo trabalhado e pode chegar à versão final no final de novembro.
Teste remoto
O VS 2022 inclui uma visualização experimental que permite executar testes em outros ambientes, incluindo contêineres Linux, WSL e até mesmo por SSH.

Ele está um pouco configurado e, é claro, você precisará verificar se o seu ambiente está configurado para executar o código corretamente, mas assim que estiver, você poderá selecionar diferentes ambientes ao executar seus testes.
Melhorias gerais
Há várias pequenas mudanças para analisar a partir das notas do patch, então listaremos algumas das mais interessantes aqui.
A depuração teve algumas melhorias na qualidade de vida, com novas opções de contexto para pontos de interrupção mais avançados, bem como “ Forçar execução no cursor ” que irá ignorar todos os pontos de interrupção existentes e parar na linha de código que você selecionou. Isso pode ser muito útil se você quiser testar algo sem remover todos os pontos de interrupção ou pular tudo de novo manualmente.


As integrações Git do VS &’ agora oferecem suporte a vários repositórios por solução, e comprometer-se em muitos repos agora é mais fácil.

Todos os ícones foram reprojetados para consistência.

Publicidade
Comentários XML agora oferecem suporte a comentários de várias linhas com espaço em branco preservado e blocos CDATA.

“ Encontre todas as referências ” não produz mais saída repetida de lixo quando em um projeto de múltiplos alvos.

O Razor Pages / Blazor obteve inúmeras integrações de edição e agora funcionará melhor com IntelliSense, realce de sintaxe e formatação melhor em blocos @code. Agora você também pode usar “ Exibir código ” nos arquivos do Razor, o que tem sido uma limitação irritante por um tempo.

E há mais alguns modelos de projeto, incluindo aplicativos Angular e React hospedados no ASP. NET Core, que podem ser feitos com integrações de API automaticamente.

Para a lista completa de mudanças, você pode consultar as notas do patch do VS 2022.
Nenhum comentário