Notas sobre a versão do Visual Studio 2022 Preview
Versão 17.12 Versão prévia 1
Lançado em 13 de agosto de 2024
Temos o prazer de anunciar a disponibilidade do Visual Studio 2022 v17.12. Esta atualização se concentra em fornecer experiências fantásticas ao desenvolvedor para trabalhar com projetos do .NET 9 e novos recursos de produtividade de IA, juntamente com melhorias contínuas em todos os aspectos.
Produtividade | Da comunidade |
---|---|
Copiar da visualização da lista de erros 1 | Tíquete de comentários |
Ir para a linha em qualquer lugar na Visualização da Pesquisa de Código 1 | Tíquete de comentários |
Encaixar a janela Pesquisa de código Visualizar 1 | Tíquete de comentários |
Gerenciar a renomeação de arquivos com o Git Preview 1 | Tíquete de comentários |
Criar repositórios internos do GitHub Versão Versão Prévia 1 | Tíquete de comentários |
Depuração & diagnóstico | Da comunidade |
---|---|
Depuração do Blazor WebAssembly Versão Prévia 1 |
IDE | Da comunidade |
---|---|
Avisos de segurança do MotW Preview 1 |
Desktop | Da comunidade |
---|---|
Pesquisa de componentes WinUI aprimorados Versão Prévia 1 |
Web | Da comunidade |
---|---|
Suporte a arquivos HTTP para variáveis de solicitação Versão Prévia 1 | Tíquete de comentários |
Suporte Vitest em JavaScript e TypeScript Versão Prévia 1 | Tíquete de comentários |
Suporte a dicas de embutimento para mais idiomas Versão Prévia 1 | Tíquete de comentários |
.NET | Da comunidade |
---|---|
Obtenha mais com o .NET 9 Versão Prévia 1 | |
NuGet audita pacotes transitivos Versão Prévia 1 | Tíquete de comentários |
Principais correções de bug | Da comunidade |
---|---|
Erro em pipelines do Azure DevOps com o VSTest@2 Versão Prévia 1 | Tíquete de comentários |
Realçar a chave aberta não realça a chave de fechamento Versão Prévia 1 | Tíquete de comentários |
Localizar e substituir continua revertendo a seleção para o documento atual Versão Prévia 1 | Tíquete de comentários |
O MSVC considera incorretamente a referência a um tipo de função qualificado por cv/ref como ... Versão Prévia 1 | Tíquete de comentários |
Assert acionado em ResourceManager.cpp no de CPU de núcleo alto Versão Prévia 1 | Tíquete de comentários |
Bug no destruidor de embutimento de compilação x86 com SPGO habilitado Versão Prévia 1 | Tíquete de comentários |
Observação
Confira a lista completa de solicitações de recursos e correções de bug relatadas pelo usuário que estão nesta versão.
Produtividade
Copiar da lista de erro Versão Prévia 1
Copiar um erro da Lista de Erros agora copia apenas a descrição em vez de toda a linha para a área de transferência.
Você vê um erro na Lista de Erros que não sabe como corrigir. Então, você o seleciona e clica em Ctrl+C
para copiar a descrição para uma pesquisa na web. Depois de colá-lo no mecanismo de pesquisa, você percebe que ele copiou todos os cabeçalhos de coluna e valores de linha em vez de apenas a descrição. Agora você deve excluir tudo, exceto a descrição do erro, antes de realizar a pesquisa na web. Isso é complicado, mas agora temos uma solução!
Quando você copia um erro da Lista de Erros usando Ctrl+C
, somente a descrição é copiada para a área de transferência. Isso facilita a pesquisa do erro online ou o compartilhamento com outras pessoas.
Você ainda pode copiar a linha inteira clicando com o botão direito do mouse no erro e selecionando Copiar linha no menu de contexto ou pressionando Ctrl+Shift+C
.
Se o que você queria fazer com a descrição do erro era fazer uma pesquisa na web, basta clicar em Ctrl+F1
para pesquisar informações sobre o erro online.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Ir para a linha em qualquer lugar na Pesquisa de Código Versão Prévia 1
Na Pesquisa de Código, agora você pode navegar até uma linha específica no documento atual ou em outro documento especificado.
Às vezes, você sabe que há um problema em uma determinada linha do código e deseja resolvê-lo rapidamente. Talvez você tenha sido informado sobre um erro sendo lançado na linha 43 de algum arquivo ou queira chegar ao final de um arquivo específico.
A Pesquisa de código agora dá suporte à navegação rápida para uma linha específica em seu código.
Abra Pesquisa de código e vá para uma linha no documento atual usando dois-pontos + número da linha. Por exemplo, :39
navegará até a linha 39 no arquivo ativo.
Você também pode ir para uma linha em um documento diferente usando nome do arquivo + dois-pontos + número da linha. Por exemplo, Order:43
navegará até a linha 43 em Order.cs. Se você não especificar o nome exato do arquivo, a pesquisa tentará encontrar a melhor correspondência.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Encaixar a janela Pesquisa de código Versão Prévia 1
Agora você pode posicionar livremente a janela Pesquisa de código com recursos como encaixe e ocultação automática.
Se você precisar que a Pesquisa de Código ou Recurso fique fora do seu caminho, agora você tem mais controle sobre o comportamento da janela de pesquisa.
Agora você pode encaixar a janela de pesquisa e executar ações da janela de ferramentas com ela, como o Gerenciador de Soluções e outros.
Depois de abrir a Pesquisa de Código ou a Pesquisa de Recursos, clique no ícone da caixa no canto superior direito para convertê-lo em uma janela de ferramentas. Você pode optar por encaixá-lo em outro lugar, retirá-lo, ocultar automaticamente, etc. Você pode reverter para a janela dispensável fechando a janela de ferramentas e reabrindo a pesquisa.
Também simplificamos e limpamos a experiência de visualização na pesquisa. Agora há um botão, indicado com um ícone de olho, para ativar e desativar a visualização.
A posição do painel de visualização também será ajustada com base nas dimensões da janela de pesquisa.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Gerenciar a renomeação de arquivos com o Git Versão Prévia 1
Fique tranquilo ao renomear arquivos com uma nova notificação.
Ao renomear arquivos do gerenciador de soluções, você será lembrado de preparar suas alterações para ver as renomeações no Git. Isso aumenta sua confiança de que o Git está reconhecendo a alteração do arquivo e rastreando-a corretamente. Descobrimos que isso era um ponto de confusão para muitos clientes, então trabalhamos com o pessoal da Comunidade de Desenvolvedores para produzir uma nova notificação.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Criar repositórios internos do GitHub Versão Prévia 1
O Visual Studio agora dá suporte à criação de repositórios internos e inclui diretrizes para cada tipo de repositório para dar a você mais confiança ao iniciar um novo projeto.
O Visual Studio agora dá suporte a repositórios internos para suas organizações do GitHub. Também incluímos orientações para cada tipo de repositório para fornecer mais clareza sobre a visibilidade do novo projeto, dependendo de qual conta você está usando.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Depuração & diagnóstico
Depuração do Blazor WebAssembly Versão prévia 1
Uma prévia da experiência de depuração aprimorada para aplicativos Blazor WebAssembly direcionados ao .NET 9 ou posterior.
O Visual Studio agora oferece uma prévia de uma experiência de depuração aprimorada para aplicativos Blazor WebAssembly direcionados ao .NET 9 ou posterior:
- Os tipos de dados mostrados no depurador agora correspondem aos tipos de dados .NET esperados.
- Digite membros e a visibilidade dos membros use os ícones esperados.
- A pilha de chamadas exibida é limpa para mostrar apenas a pilha de chamadas .NET e respeitar corretamente a configuração Apenas Meu Código.
- A janela de módulos agora é suportada.
- O suporte à avaliação de expressões na janela Imediata e para inspeções e pontos de interrupção condicionais foi expandido e aprimorado.
Para habilitar a nova experiência de depuração de visualização:
- Habilite a configuração Habilitar novo depurador .NET 9+ Mono.
- Instale o SDK do .NET 9 mais recente.
- Atualize seu aplicativo Blazor para direcionar o .NET 9.
Limitações conhecidas:
- A recarga a quente durante a depuração ainda não está totalmente funcional. Isso será abordado em uma ou duas semanas.
IDE
Avisos de segurança do MotW Versão Prévia 1
Os avisos de segurança da Marca da Web (MotW) agora estão integrados à funcionalidade geral de confiança.
O Visual Studio mostrará um aviso de segurança quando detectar que você está tentando abrir o conteúdo marcado com o identificador MotW (Marca da Web).
Este novo aviso relacionado à confiança transmite os riscos de abrir conteúdo de fontes potencialmente inseguras, como downloads da Internet.
Você pode modificar a experiência de confiança padrão acessando as Configurações de Confiança em Ferramentas > Opções > Ambiente.
Área de trabalho
Pesquisa de componentes WinUI aprimorada Versão Prévia 1
Aprimore a configuração do projeto WinUI com a pesquisa aprimorada do Instalador do Visual Studio, simplificando a localização do componente para desenvolvedores.
Simplifique ainda mais a configuração do seu projeto WinUI com nossa atualização mais recente do instalador do Visual Studio! Os desenvolvedores agora podem localizar rapidamente componentes relacionados ao WinUI, eliminando a frustração anterior de navegar por um resultado de pesquisa vazio. Esse aprimoramento simplifica a configuração do ambiente de desenvolvimento, permitindo uma experiência de usuário mais intuitiva e eficiente.
Abra o Instalador do Visual Studio, vá para a guia de componentes individuais e pesquise palavras-chave relacionadas ao WinUI (WinUI, WinRT)!
Web
Suporte a arquivos HTTP para variáveis de solicitação Versão Prévia 1
Os arquivos HTTP agora suportam variáveis de solicitação. É aí que você pode enviar uma solicitação e, em seguida, usar os dados da resposta ou solicitação em solicitações futuras.
Ao trabalhar com arquivos HTTP, um cenário comum é chamar um ponto de extremidade e obter um valor da resposta e enviar uma solicitação subsequente. Por exemplo, você pode chamar um ponto de extremidade para autenticar um usuário e, em seguida, em chamadas posteriores, pode passar o token que foi retornado do ponto de extremidade de logon. Antes desta versão, isso não era possível no Visual Studio. No trecho abaixo, você pode ver um exemplo de como isso funciona em um arquivo HTTP.
# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json
{
"username": "{{myusername}}",
"password": "{{mypassword}}"
}
###
GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}
###
No trecho acima, há duas solicitações, a primeira chamando o ponto de extremidade /users/token
para autenticar o usuário. Imediatamente acima da linha de solicitação, você verá o comentário # @name login
. Essa sintaxe dá um nome à solicitação (login
neste caso) e a configura como uma variável de solicitação. Quando a solicitação é enviada, você pode acessar os valores da resposta ou solicitação em qualquer solicitação futura enviada desse arquivo HTTP.
Como esta é uma solicitação de login, você deve ter cuidado para proteger seus segredos.
No Visual Studio, temos suporte para acessar segredos de maneira segura. Consulte esta seção sobre os documentos para obter mais informações sobre como lidar com segredos.
A segunda solicitação chama um endpoint autenticado, /todos
, que retornará os itens todo
para esse usuário. Na solicitação, o token é passado como um cabeçalho com a linha.
Authorization: Bearer {{login.response.body.$.token}}
O ponto de extremidade /users/token
retorna uma resposta em JSON. O token é extraído com uma expressão JSON Path, $.token, no corpo da resposta. Se você estiver usando um ponto de extremidade que retorna XML, em vez de uma expressão JSON Path, poderá passar uma expressão XPath.
O suporte no Visual Studio foi inspirado na extensão OSS existente para Cliente REST que está disponível para Visual Studio Code. Você pode saber mais sobre as variáveis de solicitação lá. Adicionaremos documentos em breve para discutir esse suporte com muito mais detalhes.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Suporte Vitest em JavaScript e TypeScript Versão Prévia 1
Ao usar projetos JavaScript e TypeScript, agora você pode criar casos de teste com o Vitest.
Em projetos JavaScript e TypeScript (JSTS), projetos que possuem a extensão .esproj, adicionamos suporte para descobrir e executar testes criados com o Vitest. Para começar a usar os testes do Vitest, em um projeto JSTS, adicione o pacote vitest usando o npm no Gerenciador de Soluções e, em seguida, modifique o arquivo de projeto para que as propriedades a seguir sejam declaradas.
<JavaScriptTestRoot>test\</JavaScriptTestRoot>
<JavaScriptTestFramework>Vitest</JavaScriptTestFramework>
Verifique se o valor de JavaScriptTestRoot tem o caminho relativo correto para onde seus arquivos de teste estão localizados.
Adicione seus testes à pasta correta e crie o projeto/solução. Depois disso, você deverá ver os casos de teste no Gerenciador de Testes.
No Gerenciador de Testes, você pode ver os diferentes casos de teste descobertos e executá-los.
Ainda não adicionamos suporte para depuração, mas adicionaremos esse suporte em breve. Outro problema conhecido é quando você clica duas vezes em um caso de teste no Gerenciador de Testes, ele o levará para a primeira linha do arquivo onde o caso de teste está definido. Aprimoraremos essa experiência também.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Suporte para dicas de embutimento para mais idiomas Versão Prévia 1
O suporte a Inlay Hint foi adicionado a JavaScript, TypeScript, Python e Razor, bem como uma configuração para controlar seu comportamento.
As dicas de embutimento mostram informações adicionais sobre o código-fonte que é renderizado embutido. Isso geralmente é usado para mostrar tipos inferidos, nomes de parâmetros e outras informações implícitas do código diretamente no editor.
Adicionamos suporte para mostrar dicas de embutimento em JavaScript, TypeScript, Razor e Python. Também adicionamos uma nova configuração para que você possa personalizar o comportamento das dicas nesses idiomas. Essa configuração ainda não se aplica a C# e C++. Para habilitar Dicas de Embutimento para esses idiomas, você pode usar a nova configuração em Ferramentas > Opções > Editor de Texto > Todos os idiomas > Dicas de embutimento. Você pode ver a nova opção na imagem a seguir.
Existem três valores diferentes para dicas de embutimento.
- Sempre mostre sempre as dicas de embutimento.
- Ao pressionar Alt+F1 mostra apenas as dicas de embutimento enquanto Alt e F1 são pressionados. Este é o valor padrão.
- Nunca As dicas de embutimento nunca são mostradas.
Para JavaScript e TypeScript, há uma página de opções adicional para configurar o comportamento de dicas de embutimento. Isso pode ser encontrado em Ferramentas > Opções > Editor de Texto > JavaScript/TypeScript > Avançado > Geral.
Essas opções são mostradas na imagem a seguir.
Por padrão, todas essas opções estão desabilitadas, você deve habilitar as dicas que está interessado em visualizar para arquivos JavaScript e TypeScript. Em uma atualização futura, podemos alterar os valores padrão para essas opções. Na imagem abaixo você pode ver um arquivo JavaScript que mostra Dicas de embutimento.
Na imagem anterior, as Dicas de embutimento mostradas são as caixas cinzas com : number
para indicar o tipo da variável.
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
.NET
Obtenha mais com o .NET 9 Versão Prévia 1
O .NET 9 eleva o desenvolvimento de aplicativos nativos da nuvem e inteligentes, concentrando-se em aprimoramentos de produtividade, implantações simplificadas e integração acelerada de IA.
O .NET 9 eleva o desenvolvimento de aplicativos nativos de nuvem e inteligentes, com foco em aprimoramentos de produtividade, implantações simplificadas e integração acelerada de IA, garantindo desempenho superior para desenvolvedores em vários aplicativos. E o Visual Studio 17.12 oferece suporte total ao desenvolvimento do .NET 9, facilitando o aproveitamento total de todas as melhorias que ele tem a oferecer.
Além disso, você encontrará atualizações para recursos em torno do IDE que tornam o trabalho com o .NET e ASP.NET mais agradável do que nunca.
NuGet audita pacotes transitivos Versão Prévia 1
O NuGet está alterando as configurações de auditoria padrão para incluir pacotes transitivos.
A Auditoria do NuGet, adicionada pela primeira vez no Visual Studio 17.8 (e no .NET 8), fornece avisos durante a restauração se algum pacote usado pelo projeto tiver vulnerabilidades conhecidas.
Para obter mais informações sobre a Auditoria do NuGet, incluindo todas as opções de configuração, consulte a documentação sobre a Auditoria do NuGet.
Nesta versão, os padrões de Auditoria do NuGet para NuGetAuditMode foram alterados. Anteriormente, apenas referências diretas de pacotes eram relatadas por padrão (<NuGetAuditMode>direct</NuGetAuditMode>
).
Agora, por padrão, ele avisará sobre pacotes diretos e transitivos (<NuGetAuditMode>all</NuGetAuditMode>
) com vulnerabilidades conhecidas.
Para manter os padrões anteriores, você pode definir explicitamente o valor preferencial de NuGetAuditMode em seu projeto ou arquivo Directory.Build.props.
Como alternativa, você pode definir SdkAnalysisLevel como um número de versão inferior a 9.0.100, mas lembre-se de que isso afetará todos os recursos que usam SdkAnalysisLevel.
A Auditoria do NuGet requer uma fonte de pacote que forneça um banco de dados de vulnerabilidade. NuGet.org fornece vulnerabilidades do GitHub Advisories Database.
A partir do Visual Studio 17.12, agora é possível especificar fontes de auditoria em arquivos NuGet.Config, portanto, não é mais necessário usar nuget.org como uma fonte de pacote.
Se você não estiver usando o nuget.org como uma fonte de pacote e quiser usar a Auditoria do NuGet para relatórios de pacotes vulneráveis durante a restauração, adicione o seguinte a um arquivo NuGet.Config no diretório da solução:
<confiuration>
<!-- any existing config, including <packageSources> -->
<auditSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</auditSources>
</configuration>
Confira o tíquete do recurso para compartilhar seu comentário e continuar a conversa.
Dica
Se houver algum recurso que você gostaria de ver em atualizações futuras do Visual Studio, informe-nos enviando um tíquete de recurso.
Observação
Nosso roteiro mostra as prioridades e o direcionamento do futuro do Visual Studio, portanto, confira-o.
Observação
Essa atualização pode incluir um novo software da Microsoft ou de terceiros licenciado separadamente, conforme definido nos Avisos de terceiros ou na licença que o acompanha.
De todos nós da equipe, agradecemos por escolher o Visual Studio. Se você tiver alguma dúvida, entre em contato conosco no Twitter ou na Developer Community.
Boa codificação!
A equipe do Visual Studio