O que há de novo no Visual Studio 2022?

Conteúdo

Estúdio visual 2022 está agora em pré-visualização e será lançado em novembro 2021 junto com .NET 6, que será compatível. Inclui muitos novos recursos e melhorias, como AI IntelliCode, que pode preencher automaticamente trechos de código para você.

Você pode baixe a prévia do seu site. Embora ainda seja “Embora ainda seja” Embora ainda seja, ainda estúdio visual, pelo que, a menos que você dependa de extensões que ainda não foram atualizadas, não tenha medo de tentar.

Abordaremos as mudanças mais importantes começando na visualização 3, mas se você quiser ler as notas do patch linha por linha, você pode fazer isso em documentos da Microsoft. Existem também um roteiro descrevendo a direção geral.

Finalmente é de 64 bits

Visual Studio sempre foi 32 bits, o que significa que foi limitado a 4 GB de RAM no processo principal. Em geral, não excede este orçamento para projetos normais, mas alguns usuários podem ter exceções de memória insuficiente com soluções particularmente grandes.

Com VS 2022, foi corrigido e agora é uma aplicação de 64 bits. A Microsoft testou projetos com 1600 projetos e 300k arquivos, e funciona bem.

Em teoria, 64 bits devem correr 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 saber o quanto isso realmente afeta você. De qualquer maneira, uma boa mudança.

Claro, você ainda pode desenvolver aplicativos de 32 bits com VS 2022. Isso só se aplica ao editor.

AI IntelliCode é incrível

Recursos do Visual Studio 2022 uma grande atualização para o seu mecanismo de preenchimento automático IntelliCode. É capaz de autocompletar linhas inteiras e trechos de código, e funciona muito bem.

É um pouco diferente de GitHub Copilot, quem faz um trabalho semelhante. O Copilot irá gerar trechos de código completos e funciona melhor para funções pequenas e contidas com uma solução clara. É genial, mas tem seus próprios problemas, principalmente o fato de que o código que você gera não é garantido ser o que você deseja (e pode extrair código por palavra de repositórios GitHub aleatórios, qual é o outro problema).

IntelliCode tem uma abordagem muito mais restrita e apenas preenche 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 realmente pressionar para dar mais sugestões ao IntelliCode

Depois de usar por duas semanas, é algo que você realmente tem que tentar por si mesmo. É surpreendentemente inteligente, Embora ainda seja “Embora ainda seja, Eu estava prestes a escrever isso!”

Por exemplo, escreva uma função que recebe um número de 1 al 12:

Para entender e fornecer este resultado, IntelliCode está fazendo muito mais do que completar automaticamente a sintaxe; Entenda que estou esperando por uma exceção, Embora ainda seja “Embora ainda seja”, e você pode notar que esta exceção só é lançada se uma comparação de tamanho inteiro falhar. Sabe que Width é um argumento que está sendo verificado antes de o código ser executado, e que estou lançando uma exceção porque algo está errado com o argumento.

Sabendo de tudo isso, dá um palpite extremamente preciso sobre minhas intenções e decide que um ArgumentOutOfRangeException deve ser o que estou tentando escrever, Embora ainda seja “novo”.

E, se você mover uma página, você pode preencher os resultados para diferentes opções. Ainda é um pouco inconsistente (Embora ainda seja “Largura” Embora ainda seja nameof) mas, em geral, funciona bem.

IntelliCode roda o tempo todo, e tudo que você precisa fazer é pressionar tab-tab para aceitá-lo; pelo contrário, você pode continuar escrevendo. Atualmente, só funciona para C #, Embora ainda seja “Embora ainda seja”.

Suporte .NET 6

.INTERNET 6 é a última versão, também na versão de visualização. VS 2022 terá suporte integrado para ele e todos os seus recursos, e será o padrão em .NET 6 para novos projetos.

Em particular, VS 2022 terá suporte total para .NET MAUI, a interface do usuário do aplicativo de plataforma cruzada, Novo padrão da Microsoft para desenvolvimento de aplicativos nativos de plataforma cruzada.

.NET hot reload

Uma das coisas mais irritantes sobre a programação é olhar para a tela, espere o aplicativo compilar, inicia e atualiza com as últimas mudanças. 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 há solução padronizada para .NET.

Não é totalmente universal e requer uma configuração de projeto específica, mas VS 2022 Embora ainda seja “Embora ainda seja, Formulários do Windows, Visualizações do .NET MAUI, Aplicativos ASP.NET Core com code behind, aplicativos de console, WinUI 3 e muitos outros”. Isso exclui bibliotecas de classes usadas por outro aplicativo.

Certos tipos de alterações podem não ser aplicados corretamente, que irá pedir-lhe para reiniciar com sucesso. Podes ver a lista completa deles aqui, mas a essência é:

  • Assinaturas de método não modificadas
  • Não adicione instruções de uso
  • Interfaces não modificadas
  • Sem renomear membros de qualquer tipo

Basicamente, você pode editar o código em qualquer método, mas uma vez que você começa a tocar a estrutura do projeto, você pode precisar reiniciar.

Está bem integrado na experiência de depuração do VS, Embora ainda seja “Embora ainda seja” Embora ainda seja. Você também pode usar o novo dotnet watch comando para recarregar automaticamente a quente em alterações de arquivo.

Aplicativos da web Razor / Blazor atualmente pode fazer uso de recarga quente, mas o Blazor WebAssembly ainda tem algumas coisas para resolver e ainda não está funcionando. Porém, está trabalhando nisso e é possível que chegue à versão final no final de novembro.

Teste remoto

VS 2022 inclui uma prévia experimental que permite que você execute testes em outros ambientes, incluindo contêineres Linux, WSL e até mesmo via SSH.

Tem um pouco de configuração e, claro, você precisará certificar-se de que seu ambiente está configurado para executar seu código corretamente, mas uma vez que eu sou, você poderá selecionar diferentes ambientes ao executar seus testes.

Melhorias gerais

Existem muitas pequenas mudanças em quebrar a partir de notas de patch, então vamos listar alguns dos mais interessantes aqui.

A purificação apresentou algumas melhorias na qualidade de vida, com novas opções de contexto para pontos de interrupção mais avançados, assim como “Força a execução para o cursor”, que irá ignorar todos os pontos de interrupção existentes e parar na linha de código que você selecionou. Isto pode ser muito útil se você quiser testar algo sem remover todos os pontos de interrupção ou pular tudo manualmente de novo.

Menu de contexto do ponto de interrupção

Força a execução para o cursor

Integrações VS Git agora oferecem suporte a vários repositórios por solução, e comprometer-se com muitos repositórios agora é mais fácil.

Todos os ícones foram redesenhados para consistência.

Exemplos de novos ícones com fundos claros e escuros

Comentários XML agora suportam comentários de várias linhas com espaços em branco preservados e blocos CDATA.

Informações rápidas para XML preservam espaços em branco

“Embora ainda seja” Embora ainda seja.

Encontre todos os grupos de referência Projetos multifuncionais

Razor Pages / O Blazor obteve inúmeras integrações de edição e agora funcionará melhor com o IntelliSense, destaque de sintaxe e melhor formatação em blocos @code. Embora ainda seja “Embora ainda seja” Embora ainda seja, o que tem sido uma limitação irritante por um tempo.

Suporte para classificação TagHelpers

E existem mais alguns modelos de projeto, incluindo aplicativos Angular e React hospedados no ASP.NET Core, que pode ser criado com integrações de API automaticamente.

Para obter a lista completa de mudanças, você pode verificar o Notas do patch VS 2022.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.