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.
Observação
Esta versão do Visual Studio 2019 não é mais suportada. A última versão suportada é 16.11. Atualize sua instalação ou atualize para a versão mais recente do Visual Studio para permanecer com suporte.
Para obter uma lista de todas as notas de versão do Visual Studio 2019, consulte a página de histórico de versões.
Importante
Esta não é a versão mais recente do Visual Studio. Para baixar a versão mais recente, visite https://visualstudio.microsoft.com/downloads/ e consulte as notas de versão do Visual Studio 2022.
Lançamentos do Visual Studio 2019 versão 16.0
- 12 de janeiro de 2021 — (Versão final) Visual Studio 2019 versão 16.0.22
- 08 de dezembro de 2020 — Visual Studio 2019 versão 16.0.21
- 10 de novembro de 2020 — Visual Studio 2019 versão 16.0.20
- 13 de outubro de 2020 — Visual Studio 2019 versão 16.0.19
- 8 de setembro de 2020 — Visual Studio 2019 versão 16.0.18
- 11 de agosto de 2020 — Visual Studio 2019 versão 16.0.17
- 14 de julho de 2020 — Visual Studio 2019 versão 16.0.16
- 09 de junho de 2020 — Visual Studio 2019 versão 16.0.15
- 12 de maio de 2020 — Visual Studio 2019 versão 16.0.14
- 14 de abril de 2020 — Visual Studio 2019 versão 16.0.13
- 10 de março de 2020 — Visual Studio 2019 versão 16.0.12
- 14 de janeiro de 2020 — Visual Studio 2019 versão 16.0.11
- 10 de dezembro de 2019 — Visual Studio 2019 versão 16.0.10
- Outubro 15, 2019 — Visual Studio 2019 versão 16.0.9
- 10 de setembro de 2019 — Visual Studio 2019 versão 16.0.8
- 13 de agosto de 2019 — Visual Studio 2019 versão 16.0.7
- 9 de julho de 2019 — Visual Studio 2019 versão 16.0.6
- 11 de junho de 2019 — Visual Studio 2019 versão 16.0.5
- 14 de maio de 2019 — Visual Studio 2019 versão 16.0.4
- 30 de abril de 2019 — Visual Studio 2019 versão 16.0.3
- Abril 18, 2019 — Visual Studio 2019 versão 16.0.2
- Abril 09, 2019 — Visual Studio 2019 versão 16.0.1
- Abril 02, 2019 — Visual Studio 2019
Visual Studio 2019 Blog
O Blog do Visual Studio 2019 é a fonte oficial de informações sobre o produto da Equipe de Engenharia do Visual Studio. Você pode encontrar informações detalhadas sobre as versões do Visual Studio 2019 lá.
Visual Studio 2019 versão 16.0.22
lançado em January 12, 2020
Aviso de Segurança para 16.0.22
CVE-2021-1651 / CVE-2021-1680 Vulnerabilidade de elevação de privilégio no serviço de coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente as operações de dados.
CVE-2020-26870 Vulnerabilidade de execução remota de código do instalador do Visual Studio
Existe uma vulnerabilidade de execução remota de código quando o instalador do Visual Studio tenta mostrar marcação mal-intencionada.
Visual Studio 2019 versão 16.0.21
lançado em December 08, 2020
Aviso de Segurança para 16.0.21
CVE-2020-17156 Vulnerabilidade de execução remota de código do Visual Studio
Existe uma vulnerabilidade de execução remota de código quando o Visual Studio clona um repositório mal-intencionado.
do Visual Studio 2019 versão 16.0.20
lançado em November 10, 2020
Aviso de Segurança para 16.0.20
CVE-2020-17100 Vulnerabilidade de violação do Visual Studio
Existe uma vulnerabilidade de violação quando o Python Tools for Visual Studio cria a pasta python27. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.
Visual Studio 2019 versão 16.0.19
lançado em October 13, 2020
Nesta versão de 16.0.19
- .NET Code SDK 2.1.616 adicionado ao Visual Studio 2019.
Visual Studio 2019 versão 16.0.18
lançado em September 8, 2020
Problema corrigido em 16.0.18
- As versões sem suporte do .NET Core não serão mais reinstaladas durante um reparo ou atualização se tiverem sido removidas fora da instalação do VS.
Aviso de Segurança para 16.0.18
CVE-2020-1130 Vulnerabilidade de elevação de privilégio do coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de aumento de privilégio quando operações de dados são manipuladas incorretamente pelo Coletor Padrão do Hub de Diagnóstico. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.
CVE-2020-1133 Vulnerabilidade de Elevação de Privilégio no Coletor Standard do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Standard Collector do Hub de Diagnósticos lida incorretamente com operações de ficheiro. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar processos num contexto elevado.
CVE-2020-16856 Vulnerabilidade de execução remota de código do Visual Studio
Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente objetos na memória. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código arbitrário no contexto do utilizador atual.
CVE-2020-16874 Vulnerabilidade de execução remota de código do Visual Studio
Existe uma vulnerabilidade de execução remota de código no Visual Studio quando ele manipula incorretamente objetos na memória. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código arbitrário no contexto do utilizador atual.
CVE-2020-1045 Vulnerabilidade de desvio de recurso de segurança principal do Microsoft ASP.NET
Existe uma vulnerabilidade de desvio de recurso de segurança na maneira como o Microsoft ASP.NET Core analisa nomes de cookies codificados. O analisador de cookies ASP.NET Core decodifica cadeias de caracteres de cookies inteiras, o que pode permitir que um invasor mal-intencionado defina um segundo cookie com o nome sendo codificado por porcentagem.
do Visual Studio 2019 versão 16.0.17
lançado em August 11, 2020
Problema corrigido em 16.0.17
Aviso de Segurança para 16.0.17
CVE-2020-1597 ASP.NET Vulnerabilidade principal de negação de serviço
Existe uma vulnerabilidade de negação de serviço quando o ASP.NET Core lida incorretamente com solicitações da Web. O invasor que explorar com êxito esta vulnerabilidade poderá causar uma negação de serviço contra um aplicativo Web ASP.NET Core. A vulnerabilidade pode ser explorada remotamente, sem autenticação.
Visual Studio 2019 versão 16.0.16
lançado em July 14, 2020
Problemas corrigidos em 16.0.16
- Corrigido erro de regressão na CodeGen do compilador ao chamar uma função virtual com v15.9
- Corrigido um bug no ligador C++ que estava faltando importações ao usar LIBs umbrella com diferença de maiúsculas/minúsculas no sufixo do nome da DLL.
- Corrigido um bug no compilador ARM64 C++ onde os valores errados podiam ser restaurados após setjmp.
Aviso de Segurança para 16.0.16
CVE-2020-1393 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnósticos
Existe uma vulnerabilidade de elevação de privilégio quando o Serviço de Coletor Padrão do Hub de Diagnóstico do Windows não consegue limpar corretamente a entrada, levando a um comportamento de carregamento de biblioteca não seguro.
CVE-2020-1416 Vulnerabilidade de elevação de privilégio do Visual Studio
Existe uma vulnerabilidade de elevação de privilégio no Visual Studio quando ele carrega dependências de software.
CVE-2020-1147 Vulnerabilidade de negação de serviço do .NET Core
Um invasor remoto não autenticado pode explorar esta vulnerabilidade emitindo solicitações especialmente criadas para um aplicativo ASP.NET Core ou outro aplicativo que analise certos tipos de XML. A atualização de segurança resolve a vulnerabilidade restringindo os tipos que podem estar presentes na carga útil XML.
do Visual Studio 2019 versão 16.0.15
lançado em June 09, 2020
Problemas corrigidos em 16.0.15
Aviso de Segurança para 16.0.15
CVE-2020-1108 / Vulnerabilidade de negação de serviço no .NET Core CVE-2020-1108
Para abordar de forma abrangente o CVE-2020-1108, a Microsoft lançou atualizações para o .NET Core 2.1 e o .NET Core 3.1. Os clientes que usam qualquer uma dessas versões do .NET Core devem instalar a versão mais recente do .NET Core. Consulte as Notas de Versão para obter os números de versão mais recentes e instruções para atualizar o .NET Core.
CVE-2020-1202 / CVE-2020-1203 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico ou o Coletor Padrão do Visual Studio não manipula corretamente objetos na memória.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Serviço de Coletor Padrão do Hub de Diagnóstico manipula incorretamente operações de arquivo
Visual Studio 2019 versão 16.0.14
lançado em May 12, 2020
Problemas corrigidos em 16.0.14
- Adicionada uma alteração que permite que administradores de TI corporativos e engenheiros de implantação configurem ferramentas como o cliente do Microsoft Update & SCCM para determinar a aplicabilidade das atualizações do VS2019 16.0 hospedadas no Catálogo do Microsoft Update & WSUS.
Aviso de Segurança para 16.0.14
CVE-2020-1108 Vulnerabilidade de negação de serviço do .NET Core
Um invasor remoto não autenticado pode explorar esta vulnerabilidade emitindo solicitações especialmente criadas para o aplicativo .NET Core. A atualização de segurança elimina a vulnerabilidade corrigindo como o aplicativo Web .NET Core lida com solicitações da Web.
do Visual Studio 2019 versão 16.0.13
lançado em April 14, 2020
Aviso de Segurança para 16.0.13
CVE-2020-0899 Vulnerabilidade de elevação de privilégio do Microsoft Visual Studio
Existe uma vulnerabilidade de elevação de privilégio quando o serviço de atualização do Microsoft Visual Studio manipula incorretamente permissões de arquivo. Um intruso que conseguisse explorar esta vulnerabilidade poderia substituir conteúdo de ficheiros arbitrários no contexto de segurança do sistema local.
CVE-2020-0900 Vulnerabilidade de elevação de privilégio do serviço Visual Studio Extension Installer
Existe uma vulnerabilidade de elevação de privilégio quando o Visual Studio Extension Installer Service manipula incorretamente operações de arquivo. Um intruso que conseguisse explorar a vulnerabilidade poderia eliminar ficheiros em localizações arbitrárias com permissões elevadas.
CVE-2020-5260 Vulnerabilidade de vazamento de credenciais do Git para Visual Studio devido à validação insuficiente em URLs
Existe uma vulnerabilidade de fuga de credenciais quando URLs especialmente concebidas são analisadas e enviadas para auxiliares de credenciais. Isso pode levar ao envio de credenciais para o host errado.
do Visual Studio 2019 versão 16.0.12
lançado em March 10, 2020
Problemas corrigidos em 16.0.12
- VS Preview 2019 vcruntime.h causa aviso RC4011
- Novas opções de mitigação do Spectre no compilador C++: /Qspectre-load & /Qspectre-load-cf para endurecimento de carga especulativa.
Aviso de Aviso de Segurança
CVE-2020-0793 & CVE-2020-0810 Vulnerabilidade de elevação de privilégio do serviço de coletor padrão do Hub de Diagnóstico
Existe uma vulnerabilidade de elevação de privilégio quando o Coletor Padrão do Hub de Diagnóstico manipula incorretamente operações de arquivo ou o Serviço de Coletor Padrão do Hub de Diagnóstico do Windows não consegue limpar corretamente a entrada.
CVE-2020-0884 Vulnerabilidade de falsificação ao criar o Outlook Web -Add-in
CVE-2020-0789 Vulnerabilidade de negação de serviço do Visual Studio Extension Installer Service
versão 16.0.11 do Visual Studio 2019
lançado em January 14, 2020
Aviso de Aviso de Segurança
CVE-2020-0602 Vulnerabilidade de negação de serviço no ASP.NET Core
Um invasor remoto não autenticado pode explorar esta vulnerabilidade emitindo solicitações especialmente criadas para o aplicativo ASP.NET Core. A atualização de segurança elimina a vulnerabilidade corrigindo como o aplicativo Web ASP.NET Core lida com solicitações da Web.
CVE-2020-0603 Vulnerabilidade de execução remota de código no ASP.NET Core
Um invasor remoto não autenticado pode explorar esta vulnerabilidade emitindo solicitações especialmente criadas para o aplicativo ASP.NET Core. A atualização de segurança elimina a vulnerabilidade corrigindo como o aplicativo Web ASP.NET Core é tratado na memória.
do Visual Studio 2019 versão 16.0.10
lançado em December 10, 2019
Problemas corrigidos em 16.0.10
Aviso de Aviso de Segurança
CVE-2019-1349 Vulnerabilidade de execução remota no Git para Visual Studio devido a restrições muito frouxas em nomes de submódulos
Existe uma vulnerabilidade de execução remota de código quando o Git se depara com colisões de nomes de submódulos para diretórios de submódulos irmãos. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar código remotamente no computador de destino. A atualização de segurança elimina a vulnerabilidade usando uma nova versão do Git para Windows, que exige que o diretório para o clone dos submódulos esteja vazio.
CVE-2019-1350 Vulnerabilidade de execução remota no Git para Visual Studio devido à formatação incorreta de argumentos de linha de comando
Existe uma vulnerabilidade de execução remota de código quando o Git interpreta argumentos de linha de comando com determinadas citações durante um clone recursivo em conjunto com URLs SSH. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar código remotamente no computador de destino. A atualização de segurança elimina a vulnerabilidade usando uma nova versão do Git para Windows que corrige o problema.
CVE-2019-1351 Vulnerabilidade de substituição de arquivo arbitrário do Git para Visual Studio devido ao uso de nomes de unidades não alfanuméricos durante a operação de clone
Existe uma vulnerabilidade de substituição arbitrária de ficheiros no Git quando os nomes de unidades de disco que não contêm letras passam pelas verificações de segurança no git clone. Um intruso que conseguisse explorar esta vulnerabilidade poderia escrever em ficheiros arbitrários no computador de destino. A atualização de segurança elimina a vulnerabilidade usando uma nova versão do Git para Windows que corrige o problema.
CVE-2019-1352 Vulnerabilidade de excecução remota do Git para Visual Studio devido ao desconhecimento de fluxos de dados alternativos NTFS
Existe uma vulnerabilidade de execução remota de código no Git ao clonar e gravar no diretório .git/ por meio de fluxos de dados alternativos NTFS. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar código remotamente no computador de destino. A atualização de segurança elimina a vulnerabilidade adotando uma nova versão do Git para Windows que reconhece os fluxos de dados alternativos NTFS.
CVE-2019-1354 Vulnerabilidade de substituição arbitrária de ficheiros no Git para Visual Studio devido à falha em recusar a gravação de ficheiros rastreados que contenham barras invertidas
Existe uma vulnerabilidade de substituição arbitrária de arquivos no Git quando entradas de árvore com barras invertidas e links simbólicos mal-intencionados podem sair da árvore de trabalho. Um intruso que conseguisse explorar esta vulnerabilidade poderia escrever em ficheiros arbitrários no computador de destino. A atualização de segurança elimina a vulnerabilidade ao adotar uma nova versão do Git para Windows que impede esse uso de barras invertidas.
CVE-2019-1387 Vulnerabilidade de execução remota no Git para Visual Studio devido à validação muito frouxa de nomes de submódulos em clones recursivos
Existe uma vulnerabilidade de execução remota de código no Git ao clonar recursivamente com submódulos. Um intruso que conseguisse explorar esta vulnerabilidade poderia executar código remotamente no computador de destino. A atualização de segurança elimina a vulnerabilidade usando uma nova versão do Git para Windows, que reforça a validação de nomes de submódulos.
CVE-2019-1486 Vulnerabilidade de redirecionamento de URL da extensão Live Share
Uma vulnerabilidade de falsificação foi detetada na extensão Visual Studio Live Share, quando um convidado conectado a uma sessão do Live Share foi redirecionado para uma URL arbitrária especificada pelo host da sessão. Um ataque teria sido capaz de explorar com sucesso esta vulnerabilidade e fazer com que o computador do convidado abrisse um navegador e navegasse para um URL malicioso sem consentimento explícito. Isso fazia parte do recurso "Servidor Compartilhado" do Live Share que permitia o encaminhamento automático de portas durante uma sessão ativa do Live Share. A atualização mais recente aborda esta vulnerabilidade, solicitando o consentimento do hóspede do Live Share antes de ele navegar no URL especificado pelo anfitrião.
Visual Studio 2019 versão 16.0.9
lançado em October 15, 2019
Aviso de Aviso de Segurança
CVE-2019-1425 Vulnerabilidade de elevação de privilégio do pacote NPM (publicada em 12 de novembro de 2019)
Existe uma vulnerabilidade de elevação de privilégio quando o Visual Studio não valida corretamente os hardlinks ao extrair arquivos arquivados. As vulnerabilidades foram introduzidas por pacotes NPM usados pelo Visual Studio conforme descrito nos dois avisos NPM a seguir: npmjs.com/advisories/803 e npmjs.com/advisories/886. As versões atualizadas desses pacotes NPM foram incluídas nesta versão do Visual Studio.
Visual Studio 2019 versão 16.0.8
lançado em September 10, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.8
- Assembly não corresponde ao código da função
- Visual Studio deixa de responder ao criar um novo projeto SSIS
- Congelamentos fixos da interface do usuário que ocorrem após o uso estendido do editor.
Aviso de Aviso de Segurança
CVE-2019-1232 Vulnerabilidade de Elevação de Privilégio no Serviço de Coletor Padrão do Diagnostics Hub
Existe uma vulnerabilidade de escalonamento de privilégios quando o Serviço de Coletor Padrão do Hub de Diagnóstico simula de forma inadequada determinadas operações de arquivo. Um intruso que conseguisse explorar esta vulnerabilidade com êxito poderia obter privilégios elevados. Um intruso com acesso não privilegiado a um sistema vulnerável poderia explorar esta vulnerabilidade. A atualização de segurança elimina a vulnerabilidade, garantindo que o Serviço de Coletor Padrão do Hub de Diagnóstico simule corretamente as operações de arquivo.
Visual Studio 2019 versão 16.0.7
lançado em August 13, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.7
- Corrigida uma regressão de desempenho durante o impacto e a revisão do ponto de interrupção.
- Corrigida uma regressão de desempenho quando IntelliTrace.exe é iniciado.
- Corrigido um bug que causava uma falha quando não era possível alcançar o TFS.
- Correção para o erro de compilação HRESULT E_FAIL em alguns projetos C++ ao atualizar para 16.0.1
Aviso de Aviso de Segurança
CVE-2019-1211 Vulnerabilidade de elevação de privilégio do Git para Visual Studio
Existe uma vulnerabilidade de elevação de privilégio no Git para Visual Studio quando ele analisa incorretamente os arquivos de configuração. Um intruso que conseguisse explorar a vulnerabilidade poderia executar código no contexto de outro utilizador local. Para explorar a vulnerabilidade, um invasor autenticado precisaria modificar os arquivos de configuração do Git em um sistema antes de uma instalação completa do aplicativo. O invasor precisaria então convencer outro usuário no sistema a executar comandos Git específicos. A atualização resolve o problema alterando as permissões necessárias para editar arquivos de configuração.
**CVE-2019-1301: Vulnerabilidade de negação de serviço no .NET Core
Existe uma vulnerabilidade de negação de serviço quando o .NET Core manipula incorretamente solicitações da Web. Um intruso que conseguisse explorar esta vulnerabilidade poderia causar uma negação de serviço numa aplicação Web .NET Core. A vulnerabilidade pode ser explorada remotamente, sem autenticação.
A atualização elimina a vulnerabilidade corrigindo como o aplicativo Web .NET Core lida com solicitações da Web.
Visual Studio 2019 versão 16.0.6
lançado em July 9, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.6
- Suporte ao narrador fixo em sistemas executados no Windows 10 versão 1903 ou com o .NET 4.8 instalado.
Aviso de Aviso de Segurança
CVE-2019-1075 Vulnerabilidade de spoofing no ASP.NET Core
As atualizações do .NET Core foram lançadas hoje e estão incluídas nesta atualização do Visual Studio. Esta versão aborda a segurança e outras questões importantes. Detalhes podem ser encontrados nas notas de versão do .NET Core.
CVE-2019-1077 Vulnerabilidade de atualização automática da extensão do Visual Studio
Existe uma vulnerabilidade de elevação de privilégio quando o processo de atualização automática do Visual Studio Extension executa incorretamente determinadas operações de arquivo. Um intruso que conseguisse explorar esta vulnerabilidade poderia eliminar ficheiros em localizações arbitrárias. Para explorar esta vulnerabilidade, um intruso necessitaria de acesso não privilegiado a um sistema vulnerável. A atualização de segurança elimina a vulnerabilidade, protegendo locais nos quais a atualização automática do Visual Studio Extension executa operações de arquivo.
CVE-2019-1113 a desserialização do XOML do WorkflowDesigner permite a execução de código
Um arquivo XOML fazendo referência a certos tipos pode causar a execução de código aleatório quando o arquivo XOML é aberto no Visual Studio. Agora há uma restrição sobre quais tipos podem ser usados em arquivos XOML. Se um arquivo XOML contendo um dos tipos recém-não autorizados for aberto, uma mensagem será exibida explicando que o tipo não está autorizado.
Para mais informações, por favor consulte https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 versão 16.0.5
lançado em June 11, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.5
- Corrigido problema conhecido: Nenhum instantâneo criado para código nativo C++ na ferramenta de Utilização de Memória na janela Ferramentas de diagnóstico durante a depuração.
- Melhorias nos problemas de desempenho ao carregar o Visual Studio.
Visual Studio 2019 versão 16.0.4
lançado em May 14, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.4
- Anexe ao prompt do iis para anexar várias vezes.
- Aplicativos WPF quebrados após a atualização FW 4.8.
- A instalação do TypeScript 3.3 desativa a compilação da versão 2.2.
- Não é possível anexar o depurador ao anexar vários projetos de inicialização no Visual Studio 2019.
- Problema conhecido: a guia Aplicativo das páginas de propriedades do projeto VB não funciona corretamente ao instalar o .NET Framework 4.8 Developer Pack.
- As extensões do Visual Studio podem falhar ao instalar tentando substituir os arquivos principais do NuGet.
- microsoft.diagnosticshub.dotnetobjectalloc.vsix ausente do instalador offline.
Aviso de Aviso de Segurança
Vulnerabilidade de Elevação de Privilégio do CVE-2019-0727 Diagnostics Hub Standard Collector Service
Existe uma vulnerabilidade de aumento de privilégios quando o Serviço de Coletor Padrão do Hub de Diagnóstico executa incorretamente determinadas operações de ficheiros. Um intruso que conseguisse explorar esta vulnerabilidade poderia eliminar ficheiros em localizações arbitrárias. Para explorar esta vulnerabilidade, um intruso necessitaria de acesso não privilegiado a um sistema vulnerável. A atualização de segurança elimina a vulnerabilidade protegendo locais nos quais o Coletor Padrão do Hub de Diagnóstico executa operações de arquivo.
Visual Studio 2019 versão 16.0.3
lançado em April 30, 2019
O que há de novo no Visual Studio 2019 versão 16.0.3
- O Visual Studio Tools for Kubernetes agora oferece suporte aos Espaços de Desenvolvimento do Azure mais recentes.
Problemas corrigidos no Visual Studio 2019 versão 16.0.3
- A opção Excluir está ausente do menu de contexto do gerenciador de soluções em projetos do Xamarin Forms Android.
- Xamarin.Android: Não é possível selecionar a estrutura de destino 28 nas configurações de manifesto do Android.
- Não foi possível carregar o ficheiro ou assembly 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou uma de suas dependências. O sistema não consegue encontrar o ficheiro especificado.
- "Houve um erro ao executar o gerador de código selecionado" ao tentar criar uma nova exibição.
- Android Berechtigungsliste ist leer-A lista de permissões do Android está vazia.
- Ícones ausentes para arquivos .axml no Visual Studio 2019.
- Os ícones axml não são exibidos.
- As extensões do Visual Studio podem falhar ao instalar tentando substituir os arquivos principais do NuGet.
- A instrução switch C# com uma expressão constante pode produzir erros de compilação incorretos.
Visual Studio 2019 versão 16.0.2
lançado em April 18, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.2
- O nome da solução na barra de título é truncado.
- Interpolação ausente no aviso ao empacotar projetos de Serviço de Nuvem.
- Visual Studio não mostrará mais uma mensagem de erro na inicialização depois de redefinir ou importar configurações em determinados casos.
- Foram corrigidos problemas de acessibilidade em projetos do Serviço de Nuvem em que entradas erradas na janela de configuração de diagnóstico não são lidas pelos leitores de tela.
Visual Studio 2019 versão 16.0.1
lançado em April 09, 2019
Problemas corrigidos no Visual Studio 2019 versão 16.0.1
- Adicione a opção para a plataforma Windows (UWP) ao criar um novo projeto Xamarin.Forms a partir do modelo de projeto 'Aplicativo móvel (Xamarin.Forms)'.
- Ajuda > O título da janela 'Sobre' no Visual Studio 2019 continua a mostrar 'RC' após a atualização.
- Ao atualizar o Visual Studio 2019 de RC para GA, os atalhos de RC para Visual Studio são deixados para trás.
- O Visual Studio 2019 Preview 1.1 não pode criar um formulário xamarin UWP.
- Falha de carregamento do pacote iniciando o Visual Studio 2019 após a atualização do Preview 4.4 para 16.0.
do Visual Studio 2019
lançado em April 02, 2019
Resumo do que há de novo no Visual Studio 2019
Install
- Seja mais eficiente agora que as atualizações do Visual Studio agora serão baixadas em segundo plano.
- Controle o modo de instalação para atualizações do Visual Studio.
IDE
- Colabore com outras pessoas usando o Visual Studio Live Share, que é instalado por padrão. O suporte a idiomas adicionais para C++, VB.NET e Razor oferece aos convidados uma visão da solução e compartilhamento de diffs de controle do código-fonte.
- Abra o código em que você trabalhou recentemente ou comece a partir de um dos fluxos mais usados, como clonar, abrir ou criar um projeto através da nova janela inicial.
- Crie novos projetos com uma experiência de pesquisa e filtros aprimorados usando a nova lista de modelos classificados por popularidade.
- Tenha mais espaço vertical para o seu código e uma aparência modernizada através de um conjunto de novas alterações visuais no shell.
- Visualize uma versão mais nítida do seu IDE, independentemente da configuração e/ou dimensionamento da tela, pois melhoramos o suporte para reconhecimento por monitor.
- Use um recurso de pesquisa aprimorado no Visual Studio para menus, comandos, opções e componentes instaláveis.
- Compreenda rapidamente a saúde do seu ficheiro de código com um indicador de documento. Execute e configure através de uma limpeza de código de um clique a partir do indicador.
- Gerencie facilmente os recursos de visualização que você aceitou com uma nova página Recursos de visualização na caixa de diálogo Opções.
- Crie novos projetos com melhorias na pesquisa baseada em tags e uma lista de "Modelos de projetos recentes" facilmente acessível.
- Crie novos itens diretamente da Pesquisa do Visual Studio e encontre resultados mais rapidamente com maior relevância.
- Mantenha-se informado sobre informações importantes, como solicitações do Visual Studio Live Share, com uma nova experiência de notificações.
- Salve uma coleção de ferramentas de limpeza de código como um perfil para selecionar facilmente as correções que você deseja executar durante a limpeza de código.
- Acione novos recursos de refatoração e correções de código .NET.
- Configure projetos .NET Core mais facilmente com arquivos de projeto de primeira classe.
- Veja o estado das suas extensões com as etiquetas Pré-visualização, Pago e Avaliação na caixa de diálogo Extensões e Atualizações.
- Marque e configure quais recursos de visualização você deseja ativar, já que os padrões foram redefinidos nesta visualização.
- Mantenha suas extensões up-to-date excluindo determinadas APIs da Janela de Teste que foram marcadas como preteridas nesta versão.
- Inicie sessão, navegue e com um único clique, clone ou conecte-se aos seus repositórios alojados a partir do Azure DevOps através da janela de início.
- Instale extensões para outros hosts de controle do código-fonte para exibir repositórios de propriedade sua e de sua organização.
- Experimente um tema azul melhorado que incorpora o feedback recebido, diminuindo a luminosidade, melhorando o contraste geral e resolvendo outros problemas de usabilidade.
- Aplique preferências de estilo de código a partir da linha de comando com a ferramenta global dotnet format.
- O MSBuild e o Visual Studio agora visam o .NET Framework 4.7.2 por padrão.
- Removemos os recursos relacionados ao Serviço de Aplicativo do Azure do Gerenciador de Servidores; em vez disso, a funcionalidade equivalente está disponível no Cloud Explorer.
Performance
- Assuma o controlo de como as soluções são carregadas usando os novos aprimoramentos de desempenho do Visual Studio que afetam a velocidade de passo, a velocidade de mudança de ramificação e muito mais.
- Veja o progresso da carga da solução no Centro de Status de Tarefas.
- Escolha quais projetos carregar na solução aberta com arquivos de filtro de solução.
- Melhore o desempenho de digitação limitando o impacto dos componentes auxiliares.
- Alterne a nova opção para desabilitar a restauração do estado da hierarquia do projeto e do estado da janela da ferramenta.
- Aprenda o novo atalho para Build Selection e rapidamente Build All no CMake com o novo comando Build All.
- Codifique mais rapidamente com o desempenho aprimorado do IntelliSense para arquivos C++ em projetos CMake.
- Carregue soluções .NET Core maiores e desfrute de reduções significativas de memória ao trabalhar com elas ao longo do tempo.
- Carregue rapidamente dependências de projeto com um novo comando do menu de contexto de projeto.
- Veja as dicas de desempenho no centro de desempenho.
Depuração geral e diagnósticos
- Pesquise palavras-chave nas janelas Monitoramento, Automáticos e Locais durante a depuração para melhorar sua capacidade de encontrar objetos ou valores.
- Exiba uma lista suspensa de especificadores de formato nas janelas Inspeção, Automáticos e Locais ao inspecionar dados.
- Use um visualizador personalizado, agora compatível com o .NET Core.
- Depure aplicações muito grandes com um grande número de módulos e PDBs.
- Inicie o Google Chrome com argumentos personalizados e depure seus aplicativos JavaScript dentro do IDE do Visual Studio.
- Use Hot Path Highlighting para as ferramentas de Alocação de CPU e de Alocação de Objetos DotNet no Performance Profiler.
- Interrompe quando o valor da propriedade de um objeto específico é modificado nos aplicativos .NET Core 3.0+ usando pontos de interrupção de dados, um recurso que originalmente era exclusivo do C++.
- Desde a Pré-visualização 1, atualizámos a IU para pesquisar nas janelas Autos, Locais e Watch com uma interface mais simples. A função Pesquisar mais profundamente foi alterada para uma lista suspensa para que você possa selecionar rapidamente a profundidade que deseja que suas pesquisas iniciais e subsequentes sejam.
Controle do código-fonte e Team Explorer
- Armazene temporariamente as alterações para que você possa trabalhar em outra tarefa usando o suporte das ferramentas Git do Team Explorer para o Git stash.
- Confira a extensão opcional disponível no Visual Studio Market Place, Pull Requests for Visual Studio, que integra revisões de Pull Request no Visual Studio.
- Use a nova experiência de gestão de itens de trabalho do Azure DevOps que se concentra em fluxos de trabalho do desenvolvedor, incluindo visualizações de itens de trabalho específicas do utilizador, criação de uma ramificação a partir de um item de trabalho, pesquisa de itens de trabalho com menções com #, e edição direta.
Extensibility
- Use um SDK único e unificado do Visual Studio no pacote NuGet Microsoft.VisualStudio.SDK.
- Aproveite nossa atualização para o Projeto VSIX para incluir agora um AsyncPackage.
- Experimente um novo modelo de Projeto VSIX Vazio que adicionamos.
- Saiba se uma extensão é Gratuita, Paga ou de Avaliação, como agora é indicado na caixa de diálogo Extensões e Atualizações .
Linguagens de Programação
C#
Experimente uma visualização dos recursos da linguagem 8.0 que o compilador C# agora suporta, incluindo:
-
Tipos de referência anuláveis: Quando o recurso é ativado (por exemplo, com
#nullable enableou no nível do projeto com<NullableContextOptions>enable</NullableContextOptions>), os tipos de referência são tratados como anuláveis se anotados com?, e como não anuláveis caso contrário. Em seguida, o compilador analisa onde os valores nulos fluem e avisa sobre prováveis usos inseguros. -
switchexpressões: Oferece uma semântica semelhante aswitchnum contexto de expressão. - Correspondência de padrões recursivos: Novos padrões permitem testar campos/propriedades e elementos posicionais (de tuplas ou desconstrução).
- Suporte para
RangeeIndextipos que estão sendo usados no CoreFX para fatiamento, incluindo ax..ysintaxe literal para intervalos. -
Os fluxos assíncronos representados por
IAsyncEnumerable<T>podem ser enumerados de forma assíncrona comawait foreache podem ser produzidos comasync IAsyncEnumerable<T>métodos iteradores. -
usingdeclarações: Eliminar no final do bloco atual, sem aumentar o nível de nidificação.refstructs podem ser eliminados através da implementação de um método públicoDispose(). -
staticfunções locais: Funções locais marcadas comstaticnão podem referenciarthisou variáveis nas funções envolventes. - Funções locais e lambdas agora podem declarar parâmetros e variáveis locais que encobrem os nomes de variáveis das funções abrangentes.
-
Atribuição de coalescência nula:
x ??= y;apenas atribuiyaxsexfoinull.
Saiba mais na visão geral do C# 8.0 do Mads.
Consulte o status do recurso de linguagem C# e as alterações de quebra para obter mais detalhes.
Além disso, você pode usar recursos de linguagem C# mais modernos no Visual Studio por padrão.
C++
- Economize tempo ao escrever código C++ e XAML usando o Visual Studio IntelliCode, uma extensão opcional que fornece recomendações assistidas por IA para seu código.
- Experiencie avisos de análise de código dentro do editor. A análise de código é executada automaticamente em segundo plano e os avisos são exibidos como rabiscos verdes.
- Experimente a nova Barra de modelos, que usa a interface do usuário Peek Window e suporta modelos aninhados.
- Execute a implementação nova e atualizada do verificador de perfil de tempo de vida do C++.
- Configure seus projetos CMake usando o novo CMake Settings Editor, que fornece uma alternativa ao CMakeSettings.json.
- Experimente uma série de melhorias de back-end, incluindo a vetorização SIMD do OpenMP, otimizações de tempo de ligação, e inserção mais agressiva.
- Abra caches CMake existentes gerados por ferramentas externas, como CMakeGUI, ou sistemas de meta-build personalizados.
- Melhore a análise com /Qspectre para fornecer assistência de mitigação para a Spectre Variant 1 (CVE-2017-5753). Para obter mais informações, consulte a postagem do blog da equipe do Visual C++.
- Alterne rapidamente entre argumentos de exemplo anteriores agora que a Barra de Modelos do IntelliSense tem uma lista suspensa dos Mais Recentemente Usados.
F#
- F# 4.6 é lançado, juntamente com várias outras melhorias do compilador.
- Experimente melhorias de desempenho para soluções maiores e várias correções de bugs para F# e as ferramentas F#.
- Saiba mais sobre alguns dos incríveis trabalhos feitos por colaboradores de código aberto para a linguagem e as ferramentas do F#.
JavaScript/TypeScript
- Depurar testes de unidade em projetos Node.js.
- Experimente suporte adicional para usuários que estão criando projetos TypeScript a partir de pacotes NuGet e npm.
Python
- Adicione facilmente ambientes virtuais Python e conda usando a caixa de diálogo Adicionar Ambiente do Python.
- Trabalhe mais facilmente com ambientes Python, incluindo suporte aprimorado para espaços de trabalho Open Folder usando uma nova barra de ferramentas seletora de ambiente Python.
- Crie sessões do Visual Studio Live Share e colabore em código Python com outros usuários do Visual Studio.
Tecnologias Web
- Aproveite o suporte adicional para trabalhar com projetos do .NET Core 3.0 .
- Confira o perfil da CPU do ASP.NET.
- Use o depurador de instantâneo para aplicações Web .NET executadas em Máquinas Virtuais, Conjuntos de Dimensionamento de Máquina Virtual e Serviço de Kubernetes do Azure.
- Desenvolver aplicativos de contêiner para Kubernetes com o Visual Studio Kubernetes Tools
- Experimente aprimoramentos na experiência do item de trabalho do Azure DevOps que incluem suporte embutido à atribuição de itens de trabalho e uma experiência de #mentions aprimorada.
- Trabalhe com arquivos de projeto mais facilmente e experimente um aplicativo de console melhor para ferramentas .NET Core.
- Melhorias na experiência do resumo do perfil de publicação para todas as aplicações. Além disso, uma nova seção chamada Dependências agora está disponível quando um aplicativo é publicado no Serviço de Aplicativo do Azure.
- Experimente aprimoramentos visuais ao criar um novo aplicativo ASP.NET
- Refornecer credenciais de publicação para um perfil de publicação existente do Azure Functions
Ferramentas de Containers
- Experimente um projeto único mais simplificado para contêinerização e depuração.
- Faça uso do suporte adicional para depuração de imagens Alpine e imagens base adicionais.
Desenvolvimento Mobile com Xamarin
- Comece mais rapidamente com um tamanho de carga de trabalho Xamarin reduzido e desempenho aprimorado ao criar novos projetos.
- Veja mais informações detalhadas sobre o progresso da compilação.
- Use IntelliCode com Xamarin.Forms XAML.
- Veja seu XAML visualizado sem criar seu projeto primeiro com o novo Modo de Visualização Básica no Pré-visualizador do Xamarin.Forms.
- Visualize seu XAML Xamarin.Forms em diferentes dispositivos com a nova lista suspensa de dispositivos Xamarin.Forms Previewer.
- Confira o novo painel de propriedades para controles Xamarin.Forms .
- Use o novo modelo Shell recentemente adicionado para o Xamarin.Forms.
- Experimente melhorias no desempenho de compilação inicial e incremental do Xamarin.Android.
- Crie novos emuladores Android usando o menu de destino de implantação.
- Acelere seus tempos de compilação com nossas melhorias para a compilação no Xamarin.Android.
- Experimente Implantação Rápida Aprimorada e suporte d8/r8 para Xamarin.Android.
- Aproveite a produtividade aprimorada no Xamarin.Android Designer.
- Experimente as melhorias do Xamarin.Android Designer com suporte inicial para layouts de restrição.
- Seja mais produtivo com o Xamarin.Android Designer usando Go-To-Definition e XML IntelliSense/Autocompletion aprimorado para arquivos de recursos Android.
Plataforma Universal do Windows (UWP)
- Preserve comentários, espaçamento, namespaces e quaisquer outras alterações de texto ao fazer edições a partir do designer. O designer de manifesto do pacote agora mantém uma rigorosa fidelidade às alterações XML no arquivo Package.appxmanifest.
- Use o projeto Windows Application Packaging para projetos .NET Core para produzir pacotes MSIX.
- Use o Assistente de Criação de Pacotes para envios diretos da Microsoft Store.
- A implantação em dispositivos Windows Mobile não é mais suportada no Visual Studio 2019. As tentativas de implantação em um dispositivo Windows 10 Mobile resultarão em um erro dizendo "A implantação em dispositivos Windows Mobile não é suportada no Visual Studio 2019". Se você precisar continuar trabalhando em um aplicativo para dispositivos Windows 10 Mobile, continue a usar o Visual Studio 2017.
Ferramentas de depuração XAML:
- XAML Edit & Continue agora suporta x:bind (UWP): O XAML Edit & Continue agora oferece suporte à edição de associações de dados criadas com x:bind para caminhos que contêm propriedades públicas, nome do elemento, caminhos de propriedade indexados (coleções), propriedades anexadas e propriedades de conversão. Outras alterações não são suportadas. Esta melhoria está disponível para qualquer aplicação em que as versões mínima e máxima se destinem ao Windows 10 SDK versão 1809 (compilação 10.0.17763) ou superior. (Observação: XAML Edit & Continue agora é conhecido como XAML Hot Reload a partir do Visual Studio 2019 Update 2+).
Ferramentas de dados do SQL Server
- Experimente um SSDT e DacFX atualizados que agora incluem suporte a agrupamento UTF-8.
Detalhes do que há de novo no Visual Studio 2019
Install
- Agora você pode escolher como instalar atualizações do Visual Studio. O modo padrão é 'Baixar tudo, depois instalar', que permite que você continue usando o Visual Studio enquanto as atualizações estão sendo baixadas. Observe que, se você selecionar 'Baixar tudo, em seguida, instalar', você precisará concluir a instalação abrindo o Visual Studio Installer e selecionando Continuar.
- As atualizações do Visual Studio agora serão baixadas em segundo plano. Esses downloads ocorrerão somente quando sua máquina estiver ociosa. Quando os downloads forem concluídos, você receberá uma notificação dentro do Visual Studio informando que o download está pronto para ser instalado.
- Agora você pode controlar o modo de instalação da atualização e se deseja ou não baixar atualizações através do menu Opções de ferramentas>, alterando as configurações na página Atualizações de produto.
Janela de início
A nova janela de início fornece uma experiência de inicialização simplificada para ajudá-lo a chegar rapidamente ao seu código ao iniciar o Visual Studio.
- Veja os seus projetos e pastas recentes e abra-os com um único clique. Fixe e remova itens da lista através do menu de contexto.
- Clone ou faça check-out de código usando qualquer URL git pública ou privada, que também abrirá automaticamente a pasta no IDE.
- Inicie sessão, navegue e clone com um clique ou conecte-se aos seus repositórios alojados a partir do Azure DevOps ou instale extensões para outros hospedeiros de controlo de código-fonte para ver repositórios pertencentes a si e à sua organização.
- Procure projetos, soluções ou quaisquer pastas que contenham código no disco local ou no compartilhamento de rede e abra-os no IDE.
- Selecione um modelo de projeto que forneça andaimes de código para ajudá-lo a começar com um novo projeto ou solução.
- Pesquise modelos de projeto pelo título, descrição e tags ou filtre pelos idiomas, plataformas e tipos de projeto disponíveis. A lista padrão mostra todos os modelos disponíveis, enquanto uma lista dos 10 principais modelos de projeto usados recentemente aparece no painel esquerdo para acesso rápido. Um assistente de duas páginas permite que você se concentre em uma decisão de cada vez.
Shell e plataforma
- Identifique rapidamente qual versão do Visual Studio você está abrindo e usando por meio do novo ícone de produto aprimorado. O novo ícone também é mais visível em uma variedade de fundos.
- Experimente uma aparência modernizada do Visual Studio com nosso tema azul atualizado que oferece uma interface de usuário mais limpa e, ao mesmo tempo, atende aos nossos padrões de acessibilidade.
- Veja mais do seu código, através das nossas alterações que visam a compacidade e recuperam espaço vertical no IDE. Combinámos a barra de título e a barra de menus, preservando ao mesmo tempo a funcionalidade existente.
- Utilize o Visual Studio como uma aplicação de consciência por monitor através de uma nova configuração experimental. Quando ativada, essa configuração ajuda partes do Visual Studio, como o shell e o editor, a renderizar com mais nitidez, independentemente da configuração e/ou dimensionamento de exibição.
- Experimente uma experiência de pesquisa aprimorada em menus, comandos, opções e componentes instaláveis. Nossa nova pesquisa agora exibe resultados dinamicamente, acomoda erros ortográficos e fornece informações relevantes (como atalhos de teclado) dentro dos resultados da pesquisa.
- Exiba as informações de integridade associadas ao seu arquivo atualmente aberto por meio do recurso Indicador de Integridade do Documento.
- Se você for um desenvolvedor C#, poderá limpar rapidamente algumas das sugestões de codificação mais comuns usando a Limpeza de Código.
- Selecione o conjunto de correções que pretenda aplicar ao configurar a Limpeza de Código.
- Veja o conteúdo do histórico da área de transferência através de um menu de contexto que estende o Anel da Área de Transferência (Ctrl + Shift + V).
- Melhorámos a sua experiência de pesquisa ao:
- Adicionando filtros para menus, componentes e modelos
- Incorporar as suas seleções de pesquisa para lhe fornecer os resultados de pesquisa mais relevantes
- Permitindo que você crie e adicione novos projetos/itens à sua solução diretamente da Pesquisa do Visual Studio
- A experiência aprimorada de Reconhecimento de Per-Monitor (PMA) agora está ativada por padrão para usuários que atendem ao conjunto mínimo de requisitos (.NET 4.8 Preview & e Windows 10 April 2018 Update ou mais recente). Janelas de ferramentas como Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack foram convertidas em PMA e, portanto, renderizam nitidamente independentemente da configuração e/ou dimensionamento da tela.
- Uma nova experiência de notificação adiciona:
- Um novo ícone e uma nova experiência de contador na barra de status
- Um novo mecanismo de notificação flutuante
- Atualizações do Visual Studio & notificações de expiração de licenciamento do Visual Studio
- Uma experiência de tema azul revisada que aborda o feedback ao reduzir a luminosidade, melhorar o contraste e resolver outros problemas de usabilidade.
- Capacidades melhoradas de arrastar janelas ao aproveitar o espaço livre disponível na região da barra de ferramentas como uma área arrastável.
- Agora você pode salvar uma coleção de corretores de Limpeza de Código como um perfil para poder selecionar rapidamente o conjunto de corretores que deseja executar durante a Limpeza de Código.
- Adicionámos etiquetas na caixa de diálogo Extensões e Atualizações para o ajudar a perceber rapidamente se uma extensão está em Pré-visualização, se é uma extensão paga ou se está num período de Avaliação.
- A forma recomendada de implementar dicas de ferramentas de dados no Visual Studio 2019 e em versões posteriores é agora o IAsyncQuickInfoSourceProvider. As APIs de Informações Rápidas do Editor Legado IVsTextTipData e TextTipData foram preteridas no Visual Studio 2019 Preview 1.
- As Marcas Inteligentes do Editor (família de interfaces ISmartTag* no namespace Microsoft.VisualStudio.Language.Intellisense) foram preteridas em favor da API LightBulb e não são mais suportadas a partir do Visual Studio 2019 Preview 1.
- As opções de solução Mostrar configurações de compilação avançadas, Sempre mostrar solução e Salvar novos projetos quando criados foram removidas devido ao baixo uso. Esses valores foram definidos como seu valor padrão de True.
- Ative ou desative determinados recursos de pré-visualização usando a nova página Recursos de Pré-visualização encontrada em Ferramentas > Opções > Ambiente > Recursos de Pré-visualização.
Performance
- Adicionamos um novo atalho para Build Selection para pastas e soluções: Ctrl + B.
- Abra rapidamente grandes soluções ao carregar a sua solução com todos os projetos não carregados.
- Escolha quais projetos carregar na solução aberta com Arquivos de Filtro de Solução.
- Crie um Arquivo de Filtro de Solução descarregando projetos que você não deseja que sejam abertos automaticamente, clicando com o botão direito do mouse na solução e selecionando Salvar como Filtro de Solução. Em seguida, você pode usar o arquivo de filtro para abrir a solução para usos subsequentes.
- Crie um Arquivo de Filtro de Solução descarregando projetos que você não deseja que sejam abertos automaticamente, clicando com o botão direito do mouse na solução e selecionando Salvar como Filtro de Solução. Em seguida, você pode usar o arquivo de filtro para abrir a solução para usos subsequentes.
- Adicionámos um comando para "Construir Tudo" em ficheiros CMake: Ctrl + Shift + B.
- Melhoramos o desempenho do IntelliSense em arquivos C++ em projetos CMake.
- Adicionámos um comando para carregar dependências de projeto não carregadas nos menus de contexto do projeto e da solução.
- As dicas de notificação para melhorar o desempenho do Visual Studio agora persistem no centro de desempenho, acessível por meio da Ajuda > a gerenciar o desempenho do Visual Studio.
- Agora você pode ver o progresso da carga da solução na Central de Status de Tarefas, bem como alertas quando o carregamento da solução terminar.
- Escolha quais projetos carregar na solução aberta com Arquivos de Filtro de Solução.
- Crie um Arquivo de Filtro de Solução descarregando projetos que você não deseja que sejam abertos automaticamente, clicando com o botão direito do mouse na solução e selecionando Salvar como Filtro de Solução. Em seguida, você pode usar o arquivo de filtro para abrir a solução para usos subsequentes.
- Viva uma descoberta aprimorada de ativos de compilação e pesquisa de arquivos ao usar Ctrl+T em situações de Pasta Aberta.
- Observe as melhorias de desempenho agora que o editor do Visual Studio limitará o impacto dos componentes auxiliares no desempenho de digitação. Particularmente, ele cancelará automaticamente quaisquer operações não essenciais de longa duração ao digitar.
- Você pode configurar o comportamento de limitação do componente auxiliar do Visual Studio através de Ferramentas > Opções > Editor de Texto > Avançado:
- Agora você pode desabilitar a restauração do estado da hierarquia do projeto da sessão anterior na janela da ferramenta Gerenciador de Soluções. Implementamos essa alteração porque restaurar a hierarquia do projeto da sessão anterior na solução aberta pode atrasar a carga da solução.
- Alterne esta opção em Ferramentas > , Opções > , Projetos e Soluções > Gerais.
Depuração geral e diagnósticos
Depuração geral
- Destaque, encontre e navegue com palavras-chave usando nosso novo recurso de pesquisa que integramos nas janelas Relógio, Automáticos e Locais.
- Exiba uma lista suspensa de especificadores e opções para formatar dados nas janelas Observação, Variáveis Automáticas e Locais adicionando uma vírgula ao item listado.
- Agora você pode usar o suporte personalizado e do visualizador DataSet para o .NET Core.
- Para aplicativos C++ executados no Windows, o PDB agora é carregado em um processo separado de 64 bits. Essa alteração aborda uma série de falhas causadas pela falta de memória do depurador ao depurar aplicativos que contêm um grande número de módulos e PDBs.
Pontos de interrupção de dados gerenciados
Agora você pode interromper quando o valor da propriedade de um objeto específico é alterado em aplicativos .NET Core (3.0 ou superior) usando pontos de interrupção de dados, um recurso que originalmente era exclusivo do C++. Eles são uma ótima alternativa para simplesmente colocar um ponto de interrupção no setter de uma propriedade, porque um ponto de interrupção de dados pode se concentrar na propriedade de um objeto específico mesmo quando está fora do escopo, enquanto a primeira opção pode resultar em quebras constantes e irrelevantes se você tiver centenas de objetos chamando essa função.
Janela de observação Pesquisar atualizações de UX
Atualizámos a interface do utilizador para pesquisa nas janelas Autos, Locais e Watch, tornando-a mais simples. A função Pesquisar mais profundamente foi alterada para uma lista suspensa para que você possa selecionar rapidamente a profundidade que deseja que suas pesquisas iniciais e subsequentes sejam.
Aplicar preferências de estilo de código
- Agora você pode aplicar preferências de estilo de código a partir da linha de comando com a ferramenta global de formato dotnet. Para instalar, você precisará do SDK do .NET Core 2.1 ou posterior. Execute o seguinte comando no seu terminal favorito:
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
Extensibility
- Você não poderá mais instalar extensões criadas com o formato de extensão V1 vsixmanifest no Visual Studio 2019. A V1 foi introduzida no Visual Studio 2010 e foi preterida no Visual Studio 2017 porque poderia causar problemas de confiabilidade com o Visual Studio. No Visual Studio 2019, o suporte para V1 foi completamente removido. As extensões destinadas ao Visual Studio 2019 devem ser reconstruídas no formato vsixmanifest V2 ou V3.
- Agora você será notificado quando uma extensão for carregada automaticamente de forma síncrona. Observe que a extensão será carregada e funcionará normalmente nesta versão, mas corre o risco de não funcionar na próxima atualização do Visual Studio 2019. Mais detalhes podem ser encontrados em nossa postagem no blog sobre como melhorar a capacidade de resposta de cenários críticos atualizando o comportamento de carregamento automático para extensões.
Pacote NuGet SDK unificado
No passado, os autores de extensões tinham que fazer muitas referências separadas aos pacotes NuGet individuais do SDK do Visual Studio que precisavam usar em sua extensão. As versões dos vários pacotes nem sempre estavam alinhadas e isso muitas vezes resultava em conflitos de dependência em tempo de compilação, bem como problemas de tempo de execução.
Para resolver esses problemas, use um novo pacote chamado Microsoft.VisualStudio.SDK que contém dependências em todos os pacotes que compõem o SDK do Visual Studio. Ele resolve o problema de incompatibilidades de versão, bem como torna mais fácil saber qual versão usar. Basta usar a versão do pacote que corresponde à versão mais baixa do Visual Studio que sua extensão suporta e você terá acesso a todo o SDK.
No momento, apenas a versão 15.9 do pacote SDK existe, mas mais serão lançadas nos próximos meses até a versão 14.0.
Modelos de projeto novos e atualizados
O modelo do Projeto VSIX passou por várias atualizações para simplificá-lo e melhorá-lo:
- Usa o novo pacote unificado SDK NuGet
- Inclui uma classe AsyncPackage
- Não requer mais um arquivo .resx para compilar um pacote
- Destinos .NET Framework 4.7.2
Um novo modelo de projeto VSIX vazio foi criado e é o mesmo que o modelo de projeto VSIX, mas sem a classe AsyncPackage. Ele também faz referência ao pacote NuGet SDK unificado, fornecendo um bom ponto de partida para extensões MEF e outros tipos de extensão sem pacote.
Gratuito/Pago/Experimental
Não há uma maneira fácil de verificar se uma extensão está marcada como gratuita, paga ou uma versão de teste. Isso agora muda para que, dentro da caixa de diálogo Extensões e Atualizações , cada extensão que seja uma avaliação ou paga seja marcada claramente como tal. As extensões que não têm uma etiqueta de avaliação/paga são gratuitas.
Ferramentas de teste
APIs adicionais na janela de teste que não estavam documentadas anteriormente, mas marcadas como públicas, foram adicionadas à lista de descontinuação.
Controle do código-fonte
- Armazene temporariamente as alterações para que você possa trabalhar em outra tarefa agora que as ferramentas Git do Team Explorer suportam o Git stash.
- Revise, execute e até depure solicitações pull do Azure Repos sem sair do IDE usando nossa novíssima experiência de pull request no Visual Studio 2019. Para começar, você pode baixar a extensão Pull Requests for Visual Studio do Visual Studio Marketplace.
MSBuild
- A versão do conjunto de ferramentas do MSBuild foi alterada de
15.0paraCurrent.MSBuild.exeestá agora em%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe. - MSBuild (e Visual Studio) agora tem como alvo o .NET Framework 4.7.2. Se você deseja usar novos recursos da API do MSBuild, seu assembly também deve ser atualizado, mas o código existente continuará a funcionar.
C#
Para cada versão anterior ao Visual Studio 2019, a versão padrão do idioma C# era sempre equivalente à Latest Major. No Visual Studio 2017, o C# evoluiu e lançou três versões secundárias: 7.1, 7.2 e 7.3. No entanto, novos projetos ainda estavam padronizados para C# 7.0. Isso se mostrou frustrante para os desenvolvedores de C# que queriam usar novos recursos, mas tinham que alterar manualmente a versão do idioma para cada novo projeto.
Para resolver esse problema, a versão padrão do idioma C# é determinada por sua estrutura de destino:
- Se você estiver visando a visualização do .NET Core 3.0, a versão do idioma C# será C# 8.0 Preview.
- Se estiver a direcionar o .NET Framework ou qualquer versão não pré-visualização do .NET Core, a versão da linguagem C# será C# 7.3.
Isso permite o uso dos recursos de linguagem C# estáveis mais recentes por padrão e, ao usar visualizações do .NET Core, o uso de recursos de linguagem de visualização do C# 8.0 que se alinham com o .NET Core 3.0 Preview.
Se você especificar uma versão de idioma por meio LangVersion de um arquivo de projeto ou props, essa versão de idioma substituirá o padrão descrito anteriormente.
C++
- Colabore em tempo real agora que o Visual Studio Live Share oferece suporte a C++.
- Economize tempo usando o IntelliCode, uma extensão opcional que usa seu treinamento extensivo e seu contexto de código para colocar o que você provavelmente usará no topo da sua lista de conclusão. Para C++, o IntelliCode oferece mais ajuda quando você está usando bibliotecas populares como STL.
- Modificamos vários nomes e descrições de modelos de projeto para se adequarem à caixa de diálogo Novo Projeto atualizada.
- Eliminámos o componente experimental Clang/C2. Use o conjunto de ferramentas MSVC para conformidade total com os padrões C++ com /permissive- e/ou /std:c++17 ou a cadeia de ferramentas Clang/LLVM para Windows. Consulte o Blog da equipe do Visual C++ para obter mais detalhes.
- Removemos a recomendação de usar a opção /Gm do compilador C++. Considere desativar a opção /Gm em seus scripts de compilação se ela estiver explicitamente definida. Como alternativa, você também pode ignorar com segurança o aviso de preterição para /Gm, pois ele não será tratado como erro ao usar "Tratar avisos como erros" (/WX).
- A experiência C++ Android agora tem como padrão Android SDK 25 e Android NDK 16b.
Produtividade
- A análise de código agora é executada automaticamente em segundo plano. Os avisos são exibidos como rabiscos verdes no editor à medida que você digita.
- A Barra de Modelos agora utiliza a interface de utilizador da Janela de Visualização em vez de uma janela modal, suporta modelos aninhados e pré-preenche automaticamente quaisquer argumentos padrão na Janela de Visualização.
- Um fix-it automático para o aviso de análise de código NULL-nullptr> (C26477 USE_NULLPTR_NOT_CONSTANT) está disponível através do menu de lâmpadas em linhas relevantes, ativado por padrão no conjunto de regras de tipo de verificação C++ Core. Correções rápidas adicionais no IDE incluem a adição de diretivas #include ausentes, a correção de pontos e vírgulas ausentes e a correção de utilização incorrecta de '*' versus '&'.
- Os cabeçalhos pré-compilados não são mais gerados por padrão para aplicativos de console e desktop C++.
- Ir para a Definição agora funciona em diretrizes #include, abrindo o ficheiro correspondente. Isso inclui o atalho F12, fornecendo uma maneira fácil de navegar pelo seu código.
- Passar o mouse sobre uma chave de fechamento de um bloco de código fornece algumas informações úteis sobre o contexto desse bloco.
- Adicionamos suporte no ConcurrencyChecker para tipos STL bem conhecidos do <cabeçalho mutex> .
- Uma implementação parcial atualizada do verificador de perfil Lifetime está disponível para detetar ponteiros e referências pendentes.
- Adicionamos suporte inicial no compilador para o operador <C++20 => ("nave espacial") para comparação de três vias.
CMake
- Melhorámos o desempenho dos ficheiros IntelliSense para C++ em projetos CMake.
- O Visual Studio ajuda a inicializar seu desenvolvimento em C++ com o CMake no Linux, detetando se você tem uma versão compatível do CMake em sua máquina Linux. Se não, ele se oferece para instalá-lo para você.
- O CMake Settings Editor fornece uma alternativa ao CMakeSettings.json e fornece alguma paridade com o CMakeGUI.
- O menu CMake foi removido e reorganizado para uma maior paridade com projetos e soluções.
- Configurações incompatíveis em CMakeSettings, como arquiteturas incompatíveis ou configurações incompatíveis do gerador CMake, mostram squiggles no editor JSON e erros na Lista de Erros.
- A cadeia de ferramentas vcpkg é automaticamente detetada e ativada para projetos CMake que são abertos no IDE depois
vcpkg integrate installde executados. Esse comportamento pode ser desativado especificando um arquivo de cadeia de ferramentas vazio em CMakeSettings. - Os projetos CMake agora habilitam a depuração Just My Code por padrão.
- Os avisos de análise estática agora podem ser processados em segundo plano e exibidos no editor para projetos CMake.
- Adicionámos mensagens mais claras de 'início' e 'fim' para a compilação e configuração de projetos CMake e suporte para a interface de utilizador de progresso de compilação do Visual Studio. Além disso, agora há uma configuração de verbosidade do CMake em Opções de Ferramentas > para personalizar o nível de detalhes das mensagens de compilação e configuração do CMake na janela de saída.
- A configuração 'cmakeToolchain' agora é suportada no CMakeSettings para especificar cadeias de ferramentas sem modificar manualmente a linha de comando do CMake.
Back-end
- Implementámos melhorias no rendimento de compilação, incluindo o processamento de E/S de ficheiros pelo linker e o tempo de ligação na fusão e criação dos tipos de PDB.
- Adicionamos suporte básico para vetorização OpenMP SIMD. Isso pode ser ativado com a nova opção CL -openmp:experimental. Isso permite que loops anotados com "#pragma omp simd" sejam potencialmente vetorizados. A vetorização não é garantida, e loops anotados, mas não vetorizados, receberão uma advertência. Se nenhuma cláusula SIMD for suportada, ela será simplesmente ignorada e um aviso será emitido.
- Adicionamos um novo interruptor de linha de comando embutido -Ob3, que é uma versão mais agressiva do -Ob2. -O2 (otimizar o binário para velocidade) ainda implica -Ob2 por padrão; se você achar que o compilador está under-inlining, considere passar -O2 -Ob3.
- Para suportar a vetorização manual de loops contendo chamadas para funções de biblioteca de matemática e determinadas outras operações, como divisão de inteiros, adicionamos suporte para funções intrínsecas SVML (Short Vetor Math Library) que calculam os equivalentes vetoriais de 128 bits, 256 bits ou 512 bits. Consulte o Guia intrínseco da Intel para obter as definições das funções suportadas.
- Otimizações novas e melhoradas:
- Simplificações aritméticas e de dobragem constante para expressões que usam intrínsecas SIMD (vetoriais), para formas flutuantes e inteiras
- Uma análise mais poderosa para extrair informações do fluxo de controle (instruções if/else/switch) para remover ramificações sempre comprovadas como verdadeiras ou falsas
- Desenrolamento de memset melhorado para usar instruções vetoriais SSE2
- Remoção aprimorada de cópias inúteis de "struct"/"class", especialmente para programas C++ que são passados por valor
- Otimização aprimorada do código usando memmove, como std::copy ou std::vector e std::string construction
Depreciações
- O modelo de projeto de teste C++ gerenciado não está mais disponível. Você pode continuar usando a estrutura de teste C++ gerenciado em seus projetos existentes, mas, para novos testes de unidade, considere usar uma das estruturas de teste nativas para as quais o Visual Studio fornece modelos (MSTest, Google Test) ou o modelo Managed C# Test Project.
- O SDK do Windows 8.1 não está mais disponível no instalador do Visual Studio. Atualize seus projetos C++ para o SDK mais recente do Windows 10. Se você tiver uma dependência rígida do 8.1, poderá baixá-lo do arquivo do SDK do Windows.
- A segmentação do Windows XP não estará mais disponível para o conjunto de ferramentas C++ mais recente. A compatibilidade com o Windows XP utilizando o compilador e as bibliotecas MSVC da versão VS 2017 ainda é suportada e pode ser instalada através dos "Componentes Individuais".
- Nossa documentação desencoraja ativamente o uso de módulos de mesclagem para implantação do Visual C++ Runtime. Estamos dando o passo extra neste lançamento para marcar os nossos MSMs como descontinuados. Considere migrar sua implantação central VCRuntime de MSMs para o pacote redistribuível.
- Os seguintes assistentes C++ ATL/MFC não estão mais disponíveis: ATL COM+ 1.0 Component Wizard, ATL Active Server Pages Component Wizard, ATL OLE DB Provider Wizard, ATL Property Page Wizard, ATL OLE DB Consumer Wizard, MFC ODBC Consumer, classe MFC de controlo ActiveX e classe MFC de biblioteca de tipos. O código de exemplo para essas tecnologias é arquivado no repositório VCSamples GitHub.
F#
As melhorias do F# no Visual Studio 2019 estão em três áreas principais:
- F# 4,6
- Principais melhorias de desempenho para soluções de médio e grande porte
- Muito trabalho de código aberto pela nossa excelente comunidade de código aberto
F# 4,6
Esta versão contém a linguagem F# 4.6:
- Tipos de registro anônimo foram adicionados à linguagem, incluindo suporte completo a ferramentas e a capacidade de emiti-los em objetos JavaScript através do compilador Fable .
- Tipo ValueOption e paridade de funções de módulo entre ValueOption e tipo Option.
- Função tryExactlyOne para matrizes, listas e sequências, contribuída por Grzegorz Dziadkiewicz.
Melhorias no compilador F# e FSharp.Core
O F# e o compilador e FSharp.Core viram inúmeras melhorias, especialmente de contribuidores de código aberto:
- fsi.exe e fsc.exe agora assume como padrão o .NET Framework 4.7.2, permitindo o carregamento de componentes destinados a essa estrutura ou inferior (#4946).
- Otimizamos métodos em structs e struct records para executar, bem como métodos em classes e registros baseados em classes (#3057).
- Otimizamos o IL emitido para lógica booleana combinada no código F# (#635).
- Otimizámos o uso de
+com strings em F# para fazer a quantidade mínima possível de invocações aString.Concat(#5560). - Corrigimos um problema no pacote FSharp.Core em que alguns diretórios extras com ativos de teste eram incluídos. FSharp.Core 4.5.5 e 4.6.1 deve ter a correção (#5814).
- Quando um atributo definido pelo usuário não herda da
Attributeclasse, você receberá um aviso, por Vasily Kirichenko. - O
AssemblyInformationVersionAttributevalor em um arquivo de projeto agora suporta valores arbitrários para suportar cenários como SourceLink (#4822). - Um bug onde a sintaxe ilegal com Padrões Ativos causaria um erro interno do compilador foi corrigido por Steffen Forkmann (#5745).
- Um bug onde o sufixo
Modulefoi erroneamente adicionado a um módulo em um módulo recursivo para corresponder a um tipo onde a única diferença é um parâmetro genérico foi corrigido por BooksBaum (#5794). - Uma melhoria na mensagem de erro quando os parâmetros de tipo não são adjacentes a um nome de tipo foi melhorada por Alan Ball (#4183).
- O sufixo literal
uint16está listado corretamente nas mensagens de erro referentes a literais numéricos inválidos, por Teo Tsirpanis (#5712). - As mensagens de erro para expressões de computação não são mais declaradas
asyncna mensagem e, em vez disso, referem-se a "expressão(ões) de computação", de John Wostenberg (#5343). - Uma mensagem de erro ao referenciar incorretamente
.dllno F# Interactive foi corrigida por Bartoz Sypytkowski (#5416). - Um bug em que os parâmetros de tipo resolvidos estaticamente não conseguiam lidar com a chamada de um membro que oculta um membro herdado foi corrigido por Victor Peter Rouven Müller (#5531).
- Várias melhorias menores de desempenho para o compilador foram adicionadas por Steffen Forkmann e Robert Jeppesen.
Melhorias de desempenho do F#
Outra grande área de foco para F# no Visual Studio 2019 tem sido o desempenho para soluções de médio e grande porte. Resolvemos alguns problemas de longa data, alguns dos quais remontam à primeira edição das ferramentas F# para Visual Studio. Também recebemos alguma ajuda da excelente comunidade de código aberto F#.
- Renovamos a forma como o serviço de linguagem F# é inicializado pelo Roslyn. A colorização de tipos para soluções maiores geralmente deverá aparecer mais cedo.
- Alterámos a nossa representação do texto de partida para evitar grandes alocações ao longo do tempo, especialmente com ficheiros maiores (#5935, #5936, #5937, #4881).
- Alteramos nossos caches de compilação para pequenas edições em arquivos para usar significativamente menos memória (#6028).
- Modificamos um recurso de compilador que sugere nomes quando tokens não reconhecidos são digitados para calcular apenas essas sugestões sob demanda, resultando em reduções significativas de CPU e memória ao digitar lentamente em soluções maiores (#6044).
- Alteramos o IntelliSense para que ele não mostre mais símbolos de namespaces não abertos por padrão. Isso melhora notavelmente o desempenho do IntelliSense em projetos com muitas referências. Este recurso pode ser ativado novamente nas configurações através Ferramentas > Opções > Editor de Texto > do F# > IntelliSense.
- Melhoramos o uso de memória ao usar provedores de tipo para gerar grandes quantidades de tipos fornecidos em uma lista de conclusão (#5599).
- Uma redução no uso de CPU e memória para um algoritmo de comparação de cadeia de caracteres interno para sugerir nomes não reconhecidos foi corrigida por Avi Avni (#6050).
- Uma fonte notável de grandes alocações de strings, particularmente para ferramentas IDE, foi corrigida por Avi Avni (#5922).
- Uma fonte notável de alocações de heap de objetos grandes provenientes da computação IntelliSense foi corrigida por Chet Husk (#6084)
Melhorias nas ferramentas F#
Além das melhorias de desempenho, várias outras melhorias nas ferramentas F# para Visual Studio 2019 foram feitas:
- A correção do código da instrução Add
openagora irá, por padrão, adicionar a instruçãoopenna parte superior do arquivo. - Corrigimos um bug em que
match!no código do usuário invalidava diretrizes de estrutura e código delineando nós para escopos subsequentes (#5456). - O editor agora irá colorir corretamente os valores
byref,outreferefcomo campos de registro com a coloração de valor mutável (#5579). - Corrigimos um bug em que a refatoração de renomeação não reconhecia o caractere
'nos nomes dos símbolos (#5604). - Corrigimos um bug de longa data em que renomear arquivos de script F# resultava em uma perda de dados de colorização (#1944).
- Limpamos o IntelliSense para que ele não mostre itens não relacionados na lista ao pressionar o backspace.
- Com o recuo "Smart" ativado, colar o código F# no editor agora irá formatá-lo para corresponder a um escopo apropriado com base na posição atual do cursor, implementado por Saul Rennison (#4702).
- Um problema em que as opções do editor F# não estavam sincronizadas foi corrigido por Jakob Majocha (#5997, #5998).
- Um bug em que o IntelliSense num construtor dentro de uma cláusula
inheritnão exibia o construtor principal foi corrigido por Eugene Auduchinok (#3699) - Várias melhorias menores para o serviço de linguagem F# foram feitas por Eugene Auduchinok
Infraestrutura de código aberto F#
Migramos totalmente a base de código das ferramentas F# e F# para usar o SDK do .NET. Isso simplifica drasticamente o processo de contribuição para os desenvolvedores, especialmente se eles não estiverem usando o Windows. Além disso, Jakob Majocha ajudou na limpeza de documentos para novos contribuidores à luz das mudanças na base de código.
Python
Com base nos comentários dos clientes, o Visual Studio 2019 inclui uma experiência revisada para gerenciar ambientes Python:
- Adicionamos uma nova caixa de diálogo Adicionar ambiente que simplifica a experiência de criar e adicionar ambientes virtuais e ambientes conda em seu projeto.
- O instalador do Visual Studio não instala mais versões completas do Anaconda para reduzir o tamanho das instalações do Visual Studio e evitar erros durante as atualizações.
- O Miniconda é fornecido com a carga de trabalho do Python como um componente opcional, permitindo que você crie ambientes conda sem ter que instalar o Miniconda/Anaconda.
- Agora você será automaticamente solicitado a adicionar um ambiente se um requirements.txt (ambiente virtual) ou environment.yml (ambiente conda) estiver presente na raiz do seu projeto.
- Uma nova barra de ferramentas Python Environments está disponível ao editar arquivos Python. A nova barra de ferramentas permite que você alterne entre diferentes interpretadores Python ao trabalhar com projetos, espaços de trabalho Open Folder ou arquivos Python soltos em outros projetos.
- Melhorias na qualidade de auto-completações no Python IntelliSense, incluindo deteção melhorada de importações relativas e de namespace.
- Os modelos de projeto Django foram atualizados para suportar o Django 2.x.
- Os valores de retorno de função agora são mostrados no depurador Python.
- Agora você pode criar sessões do VS Live Share e colaborar em código Python com outros usuários do Visual Studio. Anteriormente, o Python só era suportado ao ingressar em sessões criadas a partir do Visual Studio Code.
JavaScript/TypeScript
- Adicionamos suporte para habilitar a depuração de JavaScript em testes de unidade nos projetos Node.js. Esta era uma funcionalidade há muito solicitada pelos nossos Node.js clientes.
- O serviço de linguagem JavaScript/TypeScript agora será carregado automaticamente em projetos que tenham o pacote NuGet TypeScript ou o pacote npm instalado (o TypeScript 3.2 e superior é suportado no pacote NuGet e o TypeScript 2.1 e superior é suportado no pacote npm).
- Implementamos melhorias de desempenho no serviço linguístico como resultado do aumento do limite de memória no serviço linguístico para lidar com projetos maiores.
- Não mostramos mais diagnósticos de arquivos JavaScript/TypeScript fechados na lista de erros por padrão.
- O serviço de linguagem JavaScript herdado não está mais disponível. Anteriormente, os usuários tinham a opção de restaurar o serviço de linguagem JavaScript herdado. Os usuários agora terão o novo serviço de linguagem JavaScript pronto para uso. O novo serviço de linguagem é baseado no serviço de linguagem TypeScript, que é alimentado por análise estática. Isso permite melhores ferramentas, para que seu código JavaScript possa se beneficiar de um IntelliSense mais rico com base em definições de tipo. O novo serviço é leve e consome menos memória do que o serviço herdado, proporcionando aos usuários um melhor desempenho à medida que seu código é dimensionado.
Team Explorer e Azure DevOps
Fizemos melhorias na experiência de Itens de Trabalho do Git com o Azure DevOps.
- Atribua itens de trabalho a si mesmo ou a outras pessoas com o novo seletor de identidade. Por predefinição, ser-lhe-á apresentada uma lista das pessoas que utilizou mais recentemente. Ou use a capacidade de pesquisa para pesquisar e encontrar outras pessoas em sua organização.
- Melhorámos a experiência #mentions na mensagem de confirmação. À medida que você seleciona um item de trabalho no seletor de #mention, ele será automaticamente adicionado à lista Itens de Trabalho Relacionados.
Destaque de Caminho Crítico
- Adicionámos suporte para o realce de caminho crítico tanto na ferramenta de Uso da CPU como na ferramenta de Alocação de Objetos DotNet no Performance Profiler. Selecione qualquer função na árvore de chamadas e pressione o botão de caminho crítico para expandir o caminho crítico de Uso da CPU ou Alocação de Objetos do Dot Net. Este recurso permite que você identifique facilmente as chamadas de função que usam a maior porcentagem da CPU ou que alocam a maioria dos objetos.
Ferramentas .NET e ASP.NET
- Implementamos várias pequenas melhorias de UX na página de resumo do perfil de publicação (novos cabeçalhos de seção e ações/atalhos) para todos os aplicativos.
- Ao publicar ASP.NET aplicativos no Serviço de Aplicativo do Azure, a página de resumo do perfil de publicação agora tem uma nova seção chamada "Dependências". Esta nova seção atualmente permite que você associe o Armazenamento do Azure e os recursos SQL do Azure à sua instância de serviço de aplicativo. Espere que mais serviços do Azure sejam apresentados por meio desse mecanismo no futuro.
- Use métricas de código com projetos .NET Core com nossa compatibilidade adicionada.
- Exporte as definições do editor para um ficheiro Editorconfig através de Ferramentas > Opções > Editor de Texto > C# > Code Style com o botão "Gerar ficheiro .editorconfig a partir das definições".
- Use o novo suporte ao analisador Regex do C# e Visual Basic. As expressões regulares agora são reconhecidas e os recursos de idioma são habilitados nelas. As cadeias de caracteres Regex são reconhecidas quando uma cadeia de caracteres é passada para o construtor Regex ou quando uma cadeia de caracteres é imediatamente precedida por um comentário contendo a cadeia de caracteres
language=regex. Os recursos de idioma incluídos nesta versão são classificação, correspondência de chaves, referências de realce e diagnósticos.
- Agora pode usar a análise de código morto para membros privados não utilizados com uma correção opcional de código para remover a declaração de membro não usado.
- O recurso Localizar referências em um acessador agora retorna apenas resultados para esse acessador.
- Adicionamos uma correção de código para gerar um método de desconstrução.
- As instruções "Usando" podem ser adicionadas quando o código é colado em um arquivo. Uma correção de código aparece depois de colar o código reconhecido que solicita que você adicione importações ausentes relevantes.
- Agora há mais refatoração e ações rápidas disponíveis usando "Ctrl + ." ou "Alt + Enter":
- Para os casos em que "await" está implícito, mas omitido, agora há um aviso gerado pelo compilador.
- Para converter uma função local em um método.
- Para converter uma tupla em uma estrutura nomeada.
- Para converter um tipo anônimo em uma classe.
- Para converter um tipo anónimo numa tupla.
- Para converter um loop foreach numa consulta LINQ ou num método LINQ.
- Agora você adicionou suporte para aplicativos ASP .NET Core em execução em um Serviço Kubernetes do Azure. Para começar, veja este exemplo do docker no GitHub.
- ASP.NET agora é suportado na ferramenta Uso da CPU do Performance Profiler.
- Agora você pode usar Find All References (Shift-F12) e CodeLens para mostrar resultados de arquivos Razor (.cshtml) em projetos .NET Core. Em seguida, é possível navegar até o código identificado nos arquivos Razor relevantes.
- Adicionámos suporte para direcionar aplicações ASP .NET Core e desktop que são executadas em Máquinas Virtuais (VM) do Windows e Conjuntos de Escala de VM.
- Agora você receberá um aviso ao executar a análise de código usando a FxCop. Os analisadores de compilador .NET são a maneira recomendada de executar a análise de código no futuro. Leia mais sobre como migrar para analisadores de plataforma de compilador .NET.
- Os modelos de projeto PCL (Biblioteca de Classes Portátil) não estão mais disponíveis e o suporte ao projeto não será instalado por padrão. Novos projetos destinados a várias plataformas devem usar o tipo de projeto .NET Standard. Os clientes que precisam de suporte a projetos PCL devem instalar o componente separadamente da guia Componentes individuais no instalador do Visual Studio.
- O comando "Project.CopyWebSite" não está mais disponível. Esse recurso só estava disponível no tipo de projeto "Web Site" para .NET. Ele forneceu a capacidade de sincronizar dois sites para que eles tenham a mesma versão de cada arquivo. No Visual Studio 2019, você pode copiar os arquivos do destino remoto fora do Visual Studio e, em seguida, abrir o projeto.
- A capacidade de abrir um projeto de Web Site a partir de uma localização FTP remota foi removida. Os usuários de FTP podem copiar os arquivos do destino remoto fora do Visual Studio, abrir o projeto e fazer alterações e, em seguida, usar publicar para enviá-los de volta para o local FTP remoto.
- A carga de trabalho ASP.NET e Web não instala mais uma experiência de edição personalizada do CoffeeScript. Os pacotes TextMate do Visual Studio fornecem uma experiência superior para trabalhar com o CoffeeScript.
- Os erros de CSS e CoffeeScript, atualmente gerados por versões internas do CSSLint e CoffeeLint, deixarão de surgir automaticamente ao editar estes arquivos. Use um método alternativo para executar linters como npm ou o Visual Studio Task Runner Explorer.
- O Visual Studio não fornece mais atributos HTML do IntelliSense for Knockout. No Visual Studio 2019, você precisará digitar os atributos.
- A capacidade de usar o depurador do Chrome herdado em projetos ASP.NET para depuração de JavaScript foi removida. Pode continuar a utilizar o depurador atual do Chrome incorporado no Visual Studio.
- A capacidade de usar a funcionalidade JavaScript Console em ASP.NET projetos foi removida. Recomendamos que os clientes usem o Console incluído em suas ferramentas de desenvolvimento de navegador favoritas.
Ferramentas de Containers
- Adicionamos uma experiência simplificada de projetos únicos para contêinerização e debugging.
- ASP.NET Aplicações Web (.NET Framework)
- Aplicativos de console (.NET Core)
- Adicionámos suporte para depuração de aplicações ASP.NET Core que usam o Alpine como uma imagem base.
- Adicionamos suporte para as imagens mais recentes do ASP.NET e do .NET Core.
Ferramentas .NET Core
.NET Core 3.0
Com esta versão, você pode criar projetos ASP.NET Core, Console e Biblioteca de Classes destinados ao .NET Core 3.0 se tiver o SDK de visualização instalado.
Se você estiver usando o Visual Studio RC, você também precisará ir para Ferramentas > Opções > Projetos e Soluções > .NET Core e marque a caixa de seleção Usar visualizações dos SDKs do .NET Core. Se você estiver usando o Visual Studio Preview, você não precisa fazer isso. Você pode ler mais sobre essa configuração e seu comportamento na atualização de ferramentas do .NET Core para Visual Studio 2017 versão 15.9.
Você também pode criar projetos Windows Forms ou WPF para .NET Core 3.0 com o comando "dotnet new". Esses projetos podem ser abertos no Visual Studio 2019.
Novas funcionalidades
A partir desta versão, estamos tornando os arquivos de projeto para projetos no estilo SDK do .NET um tipo de arquivo de primeira classe no Visual Studio. O seguinte agora é suportado:
- Clique duas vezes em um nó do projeto para abrir o arquivo de projeto
- Clique uma vez no nó do projeto para abrir o arquivo de projeto em uma guia de pré-visualização
- Encontre um ficheiro de projeto por nome com Ir para Todos os Ficheiros (
ctrl + T) - Os elementos do MSBuild em um arquivo de projeto agora podem ser pesquisados com Localizar em arquivos
- Abrir a partir da lista de erros se um erro de criação de projeto for acionado
Além disso, os projetos no estilo SDK do .NET agora usarão a nova experiência de Console Integrado para F5 e ctrl + F5 em aplicativos de console. Isso unifica a experiência ao iniciar aplicativos de console do Visual Studio:
- Para
F5, a janela do console não fechará automaticamente quando o aplicativo terminar de executar. Já não é necessário adicionarConsole.Read()chamadas para as suas aplicações de consola. - Para
ctrl + F5, a janela do console será reutilizada em futuras execuções da sua aplicação. Já não precisa de fechar várias janelas do console.
A nova janela do console pode ser fechada automaticamente pressionando uma tecla quando ela estiver aberta ou selecionando a opção em Ferramentas > Opções > Fechar automaticamente o console quando a depuração parar.
O suporte para expressões de licença e arquivos de licença foi adicionado às páginas de propriedades do projeto. Isto está de acordo com as alterações para obsoletar licenseUrl no NuGet.
Melhorias de desempenho
- A escalabilidade de soluções grandes foi significativamente melhorada, permitindo o uso de soluções .NET Core muito maiores do que antes.
- Os tempos de carregamento da solução para grandes projetos foram significativamente reduzidos, assim como o uso da CPU e da memória ao carregá-los.
Paridade de recursos com projetos não .NET Core
- Foi resolvido um problema de longa data em que as alterações de configuração não eram respeitadas em tempo de design, forçando uma recarga do projeto.
- Agora é possível ir para a definição de Razor para C# em projetos ASP.NET Core.
- Agora há suporte para AvailableItemName Items.
- Agora há suporte para aninhamento automático de ficheiros dependentes que são adicionados ao projeto via globbing.
- O suporte para XamlAppDef foi adicionado por William Kent.
Você pode encontrar uma lista completa de problemas e pull requests nas versões 16.0, 16.0 Preview 2, 16.0 Preview 3 e 16.0 Preview 4.
Produtividade .NET
Refatoração .NET e correções de código:
- Sincronizar namespace e nome da pasta
- Refatoração de membros puxar para cima com opções de diálogo
Caixa de diálogo Puxar Membros para cima - Quebrar/recuar/alinhar listas de parâmetros/argumentos
- Converter tipo anônimo em tupla
- Usar corpo de expressão/bloco para lambda
- Inverter expressões condicionais e operações lógicas
- Fechar automaticamente o comentário em bloco em "/"
- Converter em atribuição composta
- Corrigir variáveis digitadas implicitamente não podem ser constantes
- Auto-fixador para substituir
@$"por$@"quando se digita uma string interpolada literal - Conclusão para
#nullable enable|disable - Correção para valores e parâmetros de expressão não utilizados
- Correção para permitir que a interface de extração permaneça no mesmo arquivo
Categorize as referências por Leitura/Gravação.
Adicione Editorconfig opção when_multiline para csharp_prefer_braces.
Novas cores de classificação estão disponíveis no .NET Compiler Platform SDK (também conhecido como Roslyn). Novas cores padrão, semelhantes às cores do Visual Studio Code, estão sendo implantadas gradualmente. Você pode ajustar essas cores em Opções de Ferramentas >> Fontes e Cores do Ambiente > ou desativá-las em Recursos de Visualização do Ambiente > desmarcando a caixa de seleção Usar cores aprimoradas. Gostaríamos de ouvir comentários sobre como essa alteração afeta seu fluxo de trabalho.
Depuração de JavaScript em projetos ASP.NET
- Se você adicionou um novo navegador Google Chrome com argumentos personalizados usando a opção "Navegar com..." para seu projeto ASP.NET, o Visual Studio agora habilitará a depuração JavaScript para seu aplicativo quando a depuração for iniciada. Os seus argumentos de lançamento personalizados para o Google Chrome serão aplicados ao iniciar o Chrome.
ASP.NET e ferramentas de suporte do Azure Functions
- O Visual Studio 2019 vem com uma nova experiência para criar novos projetos. Ao criar especificamente novos projetos ASP.NET, o Visual Studio oferece diálogos adicionais que apresentam opções específicas do ASP.NET. Essas caixas de diálogo adicionais foram atualizadas para corresponder ao estilo visual do resto da experiência.
- Por um tempo, as credenciais de publicação no Visual Studio são criptografadas e armazenadas no arquivo de usuário do perfil de publicação para que você não precise inseri-las novamente toda vez que publicar seu aplicativo. Os arquivos do usuário em geral são excluídos do controle do código-fonte por padrão porque provavelmente contêm informações secretas e/ou pessoais que não devem ser compartilhadas. Até agora, se um perfil de publicação para um projeto do Azure Functions foi verificado no controle do código-fonte, mas o arquivo do usuário não, as credenciais de publicação estavam ausentes e o perfil de publicação não poderia ser reutilizado. Agora, permitimos que as credenciais sejam editadas e um novo arquivo de usuário seja criado para que o perfil de publicação possa ser reutilizado.
Assistente de Desempenho
No Visual Studio 2019, as experiências de criação de perfil disponíveis no Assistente de Desempenho foram movidas para o Performance Profiler. Você pode encontrar a Ferramenta de Uso da CPU para amostragem e instrumentação na ferramenta Instrumentação no Performance Profiler. Com essa alteração, o Assistente de desempenho não é mais necessário e foi removido do Visual Studio 2019. Além disso, a opção de amostragem nas ferramentas de linha de comando VS Performance foi removida; uma nova ferramenta de linha de comando, de substituição, será lançada numa próxima prévia.
Ferramentas de teste
- Agora você pode clicar com o botão direito do mouse em testes, classes de teste ou projetos de teste no Gerenciador de Soluções para executar ou depurar testes.
- As execuções de teste agora detetam automaticamente qual arquitetura de processador está definida nas propriedades do projeto.
- As ferramentas de teste OSS UI, como Selenium e Appium, ganharam impulso e têm um forte apoio da comunidade. Como essas estruturas se tornaram padrões do setor, substituímos o teste de interface do usuário codificada para testes funcionais automatizados orientados pela interface do usuário. O Visual Studio 2019 será a versão final do Visual Studio com recursos de teste de interface do usuário codificada. Recomendamos o uso do Selenium para testar aplicativos da Web e do Appium com o WinAppDriver para testar aplicativos de área de trabalho e UWP.
- O Visual Studio 2019 será a última versão do Visual Studio com recursos de teste de carga. Para clientes que precisam de ferramentas de teste de carga, recomendamos o uso de ferramentas alternativas de teste de carga, como Apache JMeter, Akamai CloudTest, Blazemeter.
- No Visual Studio 2019, algumas APIs de janela de teste que foram anteriormente marcadas como públicas, mas nunca foram oficialmente documentadas, foram removidas. Eles foram marcados como preteridos no Visual Studio 2017 para dar aos mantenedores de extensão um aviso antecipado. Até onde sabemos, poucas extensões dependeram dessas APIs. Essas APIs incluem IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken e SearchFilterTokenType. Se essa alteração afetar sua extensão, informe-nos enviando um problema na Comunidade de desenvolvedores.
Ferramentas do Visual Studio Kubernetes
As Ferramentas Kubernetes do Visual Studio, que anteriormente estavam disponíveis como uma extensão separada para o Visual Studio 2017, agora estão integradas à carga de trabalho de desenvolvimento do Azure no Visual Studio 2019.
Adicionando suporte ao Kubernetes a um novo projeto
Para adicionar suporte ao Kubernetes a um novo projeto, abra o Visual Studio e selecione a opção Criar um novo projeto . Na janela Criar um novo projeto , procure Kubernetes e selecione o modelo de projeto Aplicativo de contêiner para Kubernetes .
Clique em Avançar e insira um nome de projeto, local e nome da solução. Em seguida, clique em Criar. Selecione o modelo de aplicativo ASP.NET Core que você deseja usar para seu projeto e clique em OK. O Visual Studio criará automaticamente um Dockerfile e um gráfico Helm que você pode usar para criar e implantar seu novo aplicativo em um cluster Kubernetes. Você pode modificar esses artefatos conforme necessário.
Adicionando suporte ao Kubernetes a um projeto existente
Você também pode adicionar suporte para Kubernetes a um aplicativo ASP.NET Core existente. Para fazer isso, abra o projeto no Visual Studio 2019. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto, aponte para Adicionar e clique em Suporte ao Orquestrador de Contêineres.
Na caixa de diálogo Adicionar suporte ao Container Orchestrator, escolha Kubernetes/Helm e clique em OK. O Visual Studio criará automaticamente um Dockerfile e um gráfico Helm (em uma pasta chamada charts) que você pode usar para criar e implantar seu aplicativo em um cluster Kubernetes. Se algum desses artefatos já estiver no lugar, eles não serão substituídos. Você pode modificar esses artefatos conforme necessário.
Criando um ponto de extremidade acessível publicamente
Quando você adiciona suporte ao Kubernetes a um projeto novo ou existente, o Visual Studio perguntará se você deseja criar um ponto de extremidade acessível publicamente para seu aplicativo.
Se você clicar em Sim, o Visual Studio configurará o gráfico Helm para seu aplicativo para criar um objeto de entrada do Kubernetes quando o aplicativo for implantado em um cluster do Kubernetes. Você pode alterar esta opção a qualquer momento, modificando o Helm chart.
Depurar a sua aplicação no Serviço Azure Kubernetes
Depois de adicionar o suporte ao Kubernetes a um projeto novo ou existente, você pode facilmente criar, executar e depurar seu aplicativo em um cluster do Serviço Kubernetes (AKS) do Azure ao vivo, usando um recurso chamado Azure Dev Spaces. Isso é útil para testar seu projeto no contexto de um cluster Kubernetes real ou para depurar um serviço que faz parte de um aplicativo muito maior sem ter que replicar o aplicativo inteiro localmente. Os Espaços de Desenvolvimento do Azure também incluem funcionalidades que permitem que a sua equipa de desenvolvimento partilhe um cluster AKS. Para obter mais informações sobre os Espaços de Desenvolvimento do Azure, consulte a documentação dos Espaços de Desenvolvimento do Azure. Para começar, verifique se o Azure Dev Spaces está selecionado como o destino de inicialização de depuração no Visual Studio.
Antes de iniciar seu projeto no Dev Spaces pela primeira vez, configure a assinatura do Azure e o cluster AKS que você deseja usar. Além disso, selecione o espaço onde deseja executar o projeto.
Normalmente, a sua equipe executa a versão estável mais recente de toda a aplicação no espaço padrão. Em seguida, execute a sua versão do serviço num espaço filho do espaço predefinido onde está a trabalhar. Agora não há necessidade de executar os outros serviços no espaço de desenvolvimento; O Dev Spaces encaminha automaticamente as chamadas do seu serviço para as versões estáveis dos serviços em execução no default. Para obter mais informações sobre como configurar isso, consulte os tutoriais de desenvolvimento da equipe na documentação do Azure Dev Spaces. Depois de selecionar a assinatura, o cluster e o espaço corretos, clique em OK para prosseguir com a configuração dos Espaços de Desenvolvimento. Se você selecionar um cluster que ainda não tenha um controlador de Espaços de Desenvolvimento associado, clique em OK na caixa de diálogo a seguir para criar um automaticamente.
A criação do controlador leva cerca de 2 minutos. Você pode clicar no botão Tarefas em segundo plano no canto inferior esquerdo da janela do Visual Studio para ver o status.
Depois de ter um controlador Dev Spaces pronto para usar, pressione F5 ou clique no botão de depuração do Azure Dev Spaces na barra de ferramentas para depurar seu projeto no AKS.
O Dev Spaces sincronizará seu código com o Azure, criará uma imagem de contêiner contendo seu código e implantá-la-á em seu cluster AKS usando o gráfico Helm definido em seu projeto. O Visual Studio abrirá uma conexão de depuração remota com o serviço em execução no cluster para que você possa interagir com ele da mesma forma que faria ao depurar um serviço em execução localmente.
Desenvolvimento Mobile com Xamarin
Esta versão inclui melhorias no tamanho da carga de trabalho e no desempenho e confiabilidade da compilação do Android, bem como aprimoramentos para a produtividade do Xamarin.Android e Xamarin.Forms.
- A carga de trabalho do Xamarin agora é de apenas 7,69 GB, uma redução de 2x em relação ao Visual Studio 2017 versão 15.9 e uma melhoria de 3x em relação à versão 15.7.
- A extensão IntelliCode agora suporta Xamarin.Forms XAML.
Arquivo > Novo Projeto
Fizemos melhorias de desempenho com o objetivo de reduzir o tempo necessário para criar um novo projeto Xamarin para que você possa começar a criar seus aplicativos mais rapidamente. Agora também incluímos os pacotes NuGet usados pelos modelos como parte da instalação da carga de trabalho para reduzir o tempo de restauração do pacote, especialmente em situações de baixa largura de banda ou offline. Essas melhorias reduzem o tempo para que um novo projeto Xamarin seja completamente carregado e restaurado em quase 50% em alguns casos.
Construir indicador de progresso
Agora você pode ver informações mais detalhadas sobre o progresso da construção ao criar seus projetos. Clicar no ícone de tarefas em segundo plano no canto inferior esquerdo durante uma compilação exibirá o destino de compilação atual que está sendo executado. Isso pode ser útil para determinar se a compilação ainda está em execução, mas um alvo está a demorar muito tempo a ser concluído.
Modo de visualização básica do Xamarin.Forms Previewer
Você não precisa mais criar seu projeto para o Pré-visualizador XAML Xamarin.Forms para mostrar uma visualização do seu código! Se tiver controlos personalizados no seu ficheiro XAML, talvez seja necessário compilar o seu projeto para os visualizar, ou ativá-los para a renderização em tempo de design.
Lista suspensa do dispositivo Xamarin.Forms Previewer
Agora você pode alternar entre diferentes dispositivos Android e iOS, para visualizar o seu Xamarin.Forms XAML usando o nosso novo menu suspenso de dispositivos.
Painel de Propriedades do Xamarin.Forms
Agora você pode editar os atributos mais comuns dos controles, células e layouts Xamarin.Forms em um painel de propriedades e ver essas alterações refletidas imediatamente em seu XAML.
Modelo Xamarin.Forms Shell
Atualizamos os modelos do Xamarin.Forms para usar a versão mais recente do Xamarin.Forms e também adicionamos uma nova opção de modelo para um aplicativo Xamarin.Forms Shell . O Shell visa reduzir a complexidade dos aplicativos e, ao mesmo tempo, aumentar a produtividade do desenvolvedor e focar na velocidade de renderização e no consumo de memória. Este modelo oferece uma aplicação Shell pré-configurada para Android e iOS.
Desempenho e fiabilidade do Android Build
No Visual Studio 2017 versão 15.9 e no Visual Studio para Mac 7.7, fizemos melhorias iniciais no desempenho da compilação e na correção da compilação. No Visual Studio 2019 e no Visual Studio para Mac 7.8, tornamos a criação e a implantação ainda mais rápidas.
- Agora você fará uso das ferramentas de embalagem de próxima geração do Android. Para ativar esta funcionalidade, adicione um indicador MSBuild no seu projeto em:
.csproj-
O aapt2 divide a embalagem do Android em duas etapas: Compilar e Vincular. Isso melhora o desempenho para compilações incrementais e fornece relatórios de erros anteriores. Por exemplo, se houver alterações em um único arquivo, você só precisará recompilar esse arquivo.
<AndroidUseAapt2>True</AndroidUseAapt2>
-
O aapt2 divide a embalagem do Android em duas etapas: Compilar e Vincular. Isso melhora o desempenho para compilações incrementais e fornece relatórios de erros anteriores. Por exemplo, se houver alterações em um único arquivo, você só precisará recompilar esse arquivo.
- Ao habilitar essa ferramenta em seus projetos, você habilita um desempenho aprimorado em tempo de compilação e tempo de execução. Para obter mais detalhes sobre essas propriedades, consulte nossa documentação sobre o processo de compilação no Xamarin.Android.
Melhorias no emulador Android
No Visual Studio 2019, as imagens do emulador Android são mais fáceis de criar. Também continuamos a trabalhar com a equipe do Windows na Atualização de outubro de 2018 do Windows 10, versão 1809, para melhorar o desempenho do emulador Android ao executar no Hyper-V.
- Novos usuários podem criar sua primeira imagem simplesmente pressionando o ícone de execução.
- Nossa experiência de aquisição de emulador determina automaticamente a melhor configuração para sua configuração e aproveita a aceleração de hardware (com Intel HAXM ou Hyper-V) e inicialização rápida por padrão.
- Quando quiser criar outra imagem, você pode selecionar Criar emulador Android na lista suspensa para abrir o Gerenciador de dispositivos Android.
Acelere seus tempos de compilação com nossas melhorias para a compilação no Xamarin.Android
Lançamos um conjunto de melhorias iniciais de desempenho de compilação. A partir de hoje, o Xamarin.Android 9.1.1+ inclui melhorias significativas no desempenho de compilação em comparação com a versão anterior. Confira nossa comparação de desempenho de compilação Xamarin.Android 15.9 vs. 16.0 para obter mais detalhes.
Implementação rápida melhorada para Xamarin.Android
Até agora, o Fast Deployment proporcionou tempos de implantação incremental mais rápidos, ignorando a reconstrução ou a reimplantação do pacote Android (arquivo .apk) em cenários em que nenhuma alteração foi feita em quaisquer ativos, recursos, bibliotecas nativas compartilhadas empacotadas no aplicativo ou classes definidas pelo usuário que herdam do Java.Lang.Object.
O Enhanced Fast Deployment expande o suporte para implantação rápida para abranger bibliotecas nativas compartilhadas e classes que herdam do Java.Lang.Object. As compilações de implantação rápida que usam esses novos aprimoramentos só precisarão gerar um novo arquivo de .apk em um número limitado de cenários, como quando o arquivo AndroidManifest.xml é alterado devido à adição de uma nova Android.App.Application ou Activity subclasse.
Esses aprimoramentos ainda não estão habilitados por padrão na visualização atual. Para habilitá-los, defina a $(AndroidFastDeploymentType) propriedade MSBuild como Assemblies:Dexes no seu ficheiro .csproj :
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Suporte a Dex Compiler(d8) e Code Shrinker(r8) de última geração no Xamarin.Android
Xamarin.Android agora suporta o mais recente compilador dex do Android (d8) e minimizador de código (r8).
Para habilitar esses recursos, defina a $(AndroidDexTool) e $(AndroidLinkTool) propriedade do MSBuild como d8 e r8 respectivamente no seu arquivo .csproj
- O D8 é um compilador DEX de última geração que roda mais rápido e produz arquivos .dex menores com melhor desempenho de tempo de execução.
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- r8 é uma nova ferramenta para redução e minificação que converte bytecode Java em código dex otimizado que substitui a necessidade do ProGuard.
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
Para mais detalhes sobre d8 e r8, consulte a nossa documentação.
Aprimoramentos do Xamarin.Android Designer
Fizemos uma série de melhorias de produtividade nas interações no Split View.
- Arraste e solte diretamente da caixa de ferramentas para o editor de código-fonte para ajudar a organizar rapidamente seus layouts Android.
- Selecione elementos diretamente de sua extensão de definição XML no editor de código-fonte. Implementamos isso sincronizando a posição do cursor com a visualização correspondente do Android, permitindo que você acesse rapidamente as propriedades de um elemento no painel de propriedades diretamente do editor.
- Use uma visualização de cores embutida para seu código XML para que você possa ver quais cores estão sendo usadas em seus controles.
- Use nosso recurso de informações rápidas passando o mouse sobre um valor para saber mais sobre ele, como onde ele está definido ou qual é o valor hexadecimal para a cor.
Melhorias no Xamarin.Android Designer com suporte inicial para layouts de restrição
Começamos um esforço para melhorar a velocidade de inicialização do Android Designer. Como parte desse esforço, também melhoramos as mensagens que o designer fornece enquanto está carregando.
Juntamente com essas melhorias, o Android Designer agora suporta nativamente o Android Pie (9.0) e fornece preenchimento automático para ConstraintLayout atributos.
Obtenha melhores otimizações de IntelliSense XML e comentários com o Xamarin.Android Designer
Ao usar o IntelliSense para adicionar um widget a um layout, uma experiência de trecho completa agora é fornecida para que os atributos necessários possam ser fornecidos desde o início. Melhorámos o sistema de comentários e remoção de comentários automáticos para layouts XML do Android.
Seja mais produtivo usando o Go-To-Definition e o XML IntelliSense em arquivos de recursos Android e no AndroidManifest.xml.
Agora você pode Ctrl + Click em URLs de recursos para navegar até o arquivo ou linha onde eles estão definidos.
O IntelliSense/Autocompletion agora é compatível com outros arquivos XML do Android além de layouts (cores, strings, desenhos, menu, manifesto do Android, etc.).
Plataforma Universal do Windows
- A extensão IntelliCode agora suporta XAML.
- Para reduzir a complexidade e o tamanho da instalação do Visual Studio, os emuladores do Windows Phone foram removidos da instalação do Visual Studio. Agora você precisará baixar os emuladores manualmente.
- As ferramentas de design em tempo XAML para aplicativos UWP, destinadas a SDKs do Windows 10 antes da Atualização de Criadores de Outono do Windows 10 (compilação 16299), foram removidas. Redirecionar seus aplicativos para o Windows 10 versão 1709 ou superior para usar o Designer XAML ou usar o editor XAML.
- Os projetos de teste UWP usados
project.jsonpara definir dependências do NuGet não são mais suportados. Você deve atualizar seu projeto para usar o novoPackageReferenceformato. - Os aplicativos JavaScript UWP não são mais suportados no Visual Studio 2019. Não é possível criar ou abrir projetos UWP JavaScript (arquivos com extensão
jsproj). Pode saber mais através da nossa documentação sobre a criação de Progressive Web Apps (PWAs) que funcionam bem no Windows. - Você pode continuar a adicionar anexos a aplicações UWP JavaScript como antes, no entanto, as ferramentas de análise JavaScript (Analisador de Rede, Analisador de CPU e Perfil da Memória) não estão mais disponíveis no Visual Studio 2019.
Atualizações de Modelos de Ferramentas do Office
No Visual Studio 2019, fizemos algumas alterações nos modelos do Office, SharePoint e VSTO.
- Os modelos do SharePoint 2019 que foram adicionados no Visual Studio 2017 15.9 também estão disponíveis no Visual Studio 2019.
- Removemos o suporte para Fluxo de Trabalho Sequencial do SharePoint ou Fluxos de Trabalho de Máquina de Estado. Embora você não possa criar ou abrir esses fluxos de trabalho no Visual Studio 2019, você pode continuar a editá-los em versões anteriores do Visual Studio.
- Os modelos do Office 2010 não estarão mais disponíveis. No entanto, você ainda pode abrir projetos existentes do Office 2010 no Visual Studio 2019.
- Os modelos do Office 2013 e 2016 foram renomeados para refletir que suportam o Office 2013 e superior.
Team Explorer e Azure DevOps
Estamos lançando uma experiência nova, simplificada e centrada no desenvolvedor ao conectar o Team Explorer a um projeto de DevOps do Azure.
Concentre-se em itens de trabalho relevantes filtrando e dinamizando sua exibição com base nos itens de trabalho atribuídos a você, aqueles que você está seguindo, aqueles em que você é mencionado na discussão e aqueles com base em sua atividade.
- Em cada modo de exibição, você pode criar um item de trabalho embutido, executar edições embutidas simples, marcar um item de trabalho como concluído e associar um item de trabalho a alterações pendentes.
Crie uma ramificação local a partir de um item de trabalho que relacionará automaticamente o item de trabalho com as alterações feitas nessa ramificação local. Esta é a experiência padrão. Se quiser alternar para a experiência legada, pode fazê-lo ao definir a experiência de Itens de Trabalho no Visual Studio. Note que esta nova experiência só é verdadeira para os repositórios Git. A nova experiência para repositórios TFVC estará disponível em uma atualização a seguir.
*Azure DevOps Work Item Hub* Pesquise itens de trabalho ao fazer um #mention na mensagem de confirmação de alterações pendentes. Para obter mais detalhes, consulte a página Exibir e adicionar itens de trabalho usando os Itens de Trabalho .
*Azure DevOps #mentions* O suporte para o Microsoft Project foi removido do plug-in Team Foundation Server Office Integration 2019 para Visual Studio 2019 devido a uma baixa taxa de adoção no Azure DevOps. Agora você precisará exportar seus itens de trabalho para o Excel e colá-los manualmente no Project.
O suporte para PowerPoint foi removido do plug-in Team Foundation Server Office Integration 2019 para Visual Studio 2019. No entanto, os usuários ainda podem criar storyboards no PowerPoint e vinculá-los manualmente a itens de trabalho no Azure DevOps.
Application Insights e HockeyApp
- A janela Tendências do Application Insights foi removida no Visual Studio 2019 em favor de alternativas mais ricas em recursos. Em vez disso, você pode usar a janela Pesquisa do Application Insights no Visual Studio ou o conjunto avançado de ferramentas de diagnóstico no Application Insights no portal do Azure.
- Os assistentes para adicionar o SDK do HockeyApp e criar novas distribuições beta foram removidos. Em vez disso, recomendamos o uso do Visual Studio App Center, o sucessor do HockeyApp. Você ainda pode usar o HockeyApp normalmente, exceto sem esses atalhos no Visual Studio.
Problemas corrigidos no Visual Studio 2019 RC
última atualização em 26 de abril de 2019
- O valor não pode ser nulo. Nome do parâmetro: pUnk ao fazer check-in do código no TFS.
- "Subtype Designer" é adicionado desnecessariamente a arquivos baseados em xml, como csproj.
- TLS 1.0: A solicitação foi abortada: Não foi possível criar um canal seguro SSL/TLS.
- Gerenciador de Soluções: a rolagem por gestos do touch pad é muito sensível.
- [MSConnect 1173006] Lista de Tarefas com filtro definido como Solução Inteira não exibe tarefas quando o ficheiro é fechado.
- O Xamarin.iOS não pode selecionar o ativo de imagem para a Visualização de imagem.
- Erro fatal C1001: Ocorreu um erro interno no compilador.
- Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - O arquivo edmx EF6 não pode ser salvo.
- [WebKit] uma classe indefinida não é permitida como argumento para compilar o traço de tipo intrínseco '__is_assignable' (regressão).
- Visaul Studio 2019: gerenciador de pacotes nuget tem baixo contraste.
- Team Explorer - Alterações: painel não está a dimensionar-se para a janela do Team Explorer.
- Lista de servidores do Explorador de Objetos do SQL Server do Visual Studio 2017 não está a persistir .
- Problemas do IntelliSense com o modo Linux-x64.
- O índice estava fora do intervalo. Deve ser não negativo e menor que o tamanho da coleção. Nome do parâmetro: índice.
- Visual Studio 2017 UNDO não funciona/para de funcionar (relatado NOVAMENTE!!!).
- O Intellisense não funciona para ficheiros criados em WSL.
- Erro Intellisense: A inicialização estática do membro constexpr C++11 causa "o membro não pode ser inicializado".
- O VS não restaura a posição do Windows ao entrar e sair da depuração.
- Os itens da caixa de ferramentas de terceiros são recarregados sempre que o VS2019 Preview 2.2 é iniciado.
- 'set as StartUp Project' falha o IDE após a atualização para o VS2019 Preview Release 3.
- Falha ao criar projetos C++ do Visual Studio 2017 no Visual Studio 2019.
- Corrigido o problema de atualização da Caixa de Ferramentas.
- Os controles da caixa de ferramentas estão tornando o arquivo vssettings muito grande.
- SSDT: Correção de erros de falha de login ao executar uma função de comparação de novos dados .
- SSDT: Correção para erro de origem indisponível ao executar a comparação de esquema .
- SSDT: Correção para que o Generate Script do Schema Compare não gerar o script.
- Pesquisa em ficheiros "Localização da próxima correspondência" na interface de utilizador é irritante.
- Localizar arquivos continua a definir como padrão o documento atual.
- A função Referências Rápidas causa congelamento no VS 2019 RC.
- PackageId:MsSqlCmdLnUtils; PackageAction:Instalar; Código de retorno:1603;.
- A Lista de Erros não mostra erros porque tem como escopo "Documento Atual".
- Não é possível usar um ponto de interrupção condicional no valor de PropertyInfo.Name.
- Visual Studio falha ao analisar macros no final de um arquivo.
- A pesquisa no Visual Studio 2019 é muito lenta.
- Visual Studio trava ao iniciar a depuração.
- vdproj não suportado no Visual Studio 2019 RC.
- A imagem de boas-vindas do instalador do Visual Studio contém elementos ofensivos para chinês.
- O pré-requisito da extensão VSIX foi removido no Visual Studio 2019 RC comprometendo a compatibilidade da extensão.
- Criar projeto a partir da tela inicial ignora a pasta do projeto selecionada.
- A caixa de diálogo de propriedades do cpp não aparece ao usar o item de menu 'Projeto' ou ao selecionar o menu suspenso "Gerir configuração".
- Ferramentas de compilação do Visual Studio 2019 - o título do prompt do desenvolvedor diz "Prompt de comando do desenvolvedor para Visual Studio 2017".
- Tradução alemã sobre a Ferramenta de Feedback: Ajuda > Enviar comentários > Comunicar um problema.
- 自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入-AutoComplete função, se você clicar duas vezes no candidato, perderá o foco de entrada, precisará de um editor independente para continuar a entrar.
- Os menus de contexto às vezes são colocados no monitor errado em uma configuração de vários monitores.
- Conflito do Visual Studio 2019 com o QQ Pinyin.
- Não é possível arrastar a janela maximizada do Visual Studio.
- Violação de acesso C++ /CLI 15.9.5 ISO C++ Latest Draft Standard desde 15.9.5.
- A caixa de diálogo de progresso modal permanece aberta permanentemente, mesmo quando o IDE é responsivo ('Preparando solução', 'Criando projeto', Editar e continuar, etc).
- PackageId:OpenJDKV1; PackageAction:Desinstalar; ReturnCode:0;.
- Visual Studio 2019 - Caixa de ferramentas sempre mostra Inicializando.
- Intellisense em arquivos Razor (.cshtml) não está funcionando..
- A comparação de esquemas SSDT não destaca diferenças nos arquivos.
- Exceção do Visual Studio ao abrir arquivos cshtml do Razor.
- Falha ao inicializar a extensão.
- Asp Core : Criar nova vista para mostrar erro.
- VS 2019 RC -- Não é possível criar Winforms (.Net Core) -- vários erros.
- As referências do projeto não estão a carregar após a mudança de ramo.
- Erro de andaime: Não há scaffolders suportados para este item.
- A configuração de carregamento só funciona antes da conclusão da primeira instalação.
- Tipo de projeto suspenso = o texto fica parcialmente oculto quando "Tornar o texto maior" é usado.
- Localização errada.
- A janela de propriedades no Forms Designer exibe a barra de rolagem vertical sem controle de arrasto com escalamento automático em ecrã 4K no Visual Studio 2019 RC.
- O autocomplete do Razor funciona até que se pressione tab ou enter, depois disso, passa a usar HTML.
- VSIXInstaller.exe falha aleatoriamente ao instalar várias extensões sequencialmente no Visual Studio 2019 RC.1.
- A movimentação de um } faz com que o Visual Studio falhe.
- Telerik UI para controles WPF desabilitados no Visual Studio 2019 Preview 3 e Preview 4.
- System.OperationCanceledException não tratada.
- O Visual Studio 2019 RC falha na inicialização ao usar um IME de terceiros (QQ Pinyin, Google IME).
- O Visual Studio 2019 Preview 4 falha ao fechar a janela desencaixada.
- Erro Intellisense: A inicialização estática do membro constexpr C++11 causa "o membro não pode ser inicializado".
- Página inicial "Remover da lista" para de funcionar.
- $(VCIDEInstallDir) é um caminho inválido. Barra invertida ausente em Microsoft.Cpp.Common.props.
- O Visual Studio 2019 Preview 2.0+ falha ao abrir o filtro soultion.
- A barra de ferramentas Gerenciar extensões gera exceção.
- O teste do compilador de configuração CMake falha para LLVM/clang-cl
- SSDT: Correção para melhorar o desempenho do carregamento de soluções que contêm vários projetos.
- SSDT: Correção para arquivos SQL que nem sempre são excluídos ao executar uma comparação de esquema entre um banco de dados e um projeto e uma tabela de exclusão é executada posteriormente.
- SSDT: correções de acessibilidade para melhorar os recursos de narração.
- SSDT: Substituído o driver sqlncli mais antigo pelo novo driver ODBC da Microsoft para SQL Server.
- Corrigimos a recarga lenta de vários projetos C# e Visual Basic.
- Quando o IntelliSense estiver presente, quando um usuário digitar Shift + Enter, a seleção ativa será concluída e uma nova linha será inserida.
- Corrigimos um problema de PMA em que as dicas de ferramentas do editor e a lâmpada não renderizam corretamente.
- As notificações sobre falhas causadas por extensões agora aparecem novamente.
- As notificações sobre o desempenho do Visual Studio foram protegidas contra adulteração.
- Corrigimos um problema com a renderização da barra de ferramentas quando arrastada pelos monitores.
- Corrigimos um problema com a renderização das Opções de Ferramentas ao executar com a consciência por monitor ativada.
- Várias classes DpiHelper foram preteridas (extensibilidade).
- Corrigimos o dimensionamento da tela inicial para corresponder melhor ao fator de escala do monitor principal.
- Corrigimos um problema na importação de configurações em que os avisos/erros nem sempre eram relatados corretamente.
- Corrigimos um problema em que as Opções de Ferramentas relatavam a renderização de software independentemente da camada de renderização.
- Corrigimos um problema em que o nome da pasta aberta não era exibido na região da barra de título.
- Corrigimos um problema com o posicionamento de localização em arquivos quando o reconhecimento por monitor está ativado.
- Corrigimos um problema com a renderização do adorno do dock quando a sensibilidade por monitor está ativada.
- Agora você pode usar a Depuração de Viagem no Tempo com o depurador de instantâneo em aplicações ASP.NET a correr numa VM do Azure. Observe que esse recurso pode não funcionar em todas as regiões do Azure no lançamento.
- Atualizámos a estrutura de suporte Dockerfile em Visual Studio Tools for Kubernetes para utilizar o Microsoft Container Registry ao invés de Docker Hub.
- Corrigimos um problema no Visual Studio Tools for Kubernetes em que modificar Dockerfile.develop não faz com que o serviço seja reimplantado.
- Corrigimos um problema no Visual Studio Tools for Kubernetes em que um serviço em um projeto do Azure Dev Spaces poderia falhar ao iniciar.
- Corrigimos um problema no Visual Studio Tools for Kubernetes em que um serviço num projeto do Azure Dev Spaces para de ser executado depois de a depuração ser interrompida no Visual Studio.
- Corrigimos um problema no Visual Studio Tools for Kubernetes em que uma caixa de diálogo de erro de referência nula às vezes é exibida ao selecionar contas na caixa de diálogo Espaços de Desenvolvimento do Azure.
- Corrigimos um problema no Visual Studio Tools for Kubernetes em que a caixa de diálogo de seleção de cluster é exibida ao adicionar suporte à orquestração do Kubernetes.
- Corrigimos a renderização do Assistente de Configurações de Importação e Exportação ao executar com reconhecimento por monitor
- Corrigimos o dimensionamento da caixa de diálogo Novo Projeto ao executar com reconhecimento de múltiplos monitores.
- Fizemos um conjunto de refinamentos visuais para a janela inicial
Problemas conhecidos
Consulte todos os problemas conhecidos existentes e soluções alternativas disponíveis no Visual Studio 2019 versão 16.0 seguindo o link abaixo.
Histórico de notas de versão do Visual Studio 2019
Para obter mais informações relacionadas às versões anteriores do Visual Studio 2019, consulte a página Histórico de notas de versão do Visual Studio 2019.
Notas de Lançamento do Vis Studio 2019 versão 16.0