Partilhar via


2019Logo Visual Studio 2019 versão 16.10 Notas de versão


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.10

Visual Studio 2019 Blog

O Blog do Visual Studio 2019 é a fonte oficial de informações sobre o produto da equipa de engenharia do Visual Studio. Você pode encontrar informações detalhadas sobre as versões do Visual Studio 2019 nas seguintes postagens:


16.10.5 Visual Studio 2019 versão 16.10.5

lançado em August 10, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.5

Esta versão do Visual Studio 2019 só está disponível através do Windows Software Update Service (WSUS).

Principais problemas corrigidos nesta versão

  • O iOS Remoted Simulator agora funcionará corretamente com dispositivos Mac emparelhados que tenham o Xcode 12.4 ou 12.5 instalado. Os seguintes recursos do simulador Xcode não estão disponíveis quando emparelhados a dispositivos Mac com o Xcode 12.4 ou superior instalado:
    • Aviso de memória simulada
    • Locais simulados

Aviso de Aviso de Segurança

CVE-2021-26423 Vulnerabilidade de negação de serviço do .NET Core

Existe uma vulnerabilidade de negação de serviço em que as aplicações de servidor .NET (Core) que fornecem endpoints WebSocket podem ser induzidas a entrar num ciclo infinito ao tentar ler um único quadro WebSocket.

CVE-2021-34485 Vulnerabilidade de divulgação de informações do .NET Core

Existe uma vulnerabilidade de divulgação de informações quando dumps criados pela ferramenta para recolher dumps de falhas e dumps sob demanda são criados com permissões de leitura global no macOS e Linux.

CVE-2021-34532 Vulnerabilidade de Divulgação de Informações do ASP.NET Core

Existe uma vulnerabilidade de divulgação de informações quando um token JWT é registrado se não puder ser analisado.

16.10.4 Visual Studio 2019 versão 16.10.4

lançado em July 20, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.4

Principais problemas corrigidos nesta versão

  • Remova o uso de registros não permitidos no memset.
  • Corrigido um bug de codegen envolvendo expressões aninhadas complicadas envolvendo o operador bitwise-not.
  • Correção de depuração de shaders para o VS Graphics Analyzer
  • Corrigida uma falha do IntelliSense que ocorria ao processar membros de dados estáticos em especializações de modelo em classe.
  • X64 VC Redist já não remove ficheiros de runtime quando executado com as opções /installer /passive.
  • Corrigido um problema em que a ordem de pesquisa de inclusão pode estar incorreta quando precedida de "Incluir diretórios".
  • Corrigimos o problema de desempenho e os falsos positivos causados por uma das extensões do verificador que detecta bugs no uso indevido de VARIANTs.
  • Corrigimos o problema de desempenho causado por uma das extensões de verificação que deteta erros na utilização indevida de valores de enum como índice.
  • Apresenta a correção dos serviços de linguagem do Live Share que restaura os principais recursos de edição de código para os participantes da sessão de colaboração (conclusão de código, realce de sintaxe, erros, etc.)
  • O analisador de concorrência não deve mais produzir alertas falsos de código C26110 (falha na aquisição de bloqueio) com padrões de bloqueio automático.
  • Os compiladores C# e Visual Basic corrigiram um problema que causava uma falha, quando InternalsVisibleTo entrava em conflito com outros atributos ao nível de assembly.
  • Corrigimos um problema enfrentado por clientes empacotando seus projetos com projetos de empacotamento de aplicativos do Windows, como aplicativos WPF NetCore e aplicativos Project Reunion:

Arquivo de ativos de erro '...\obj\wappublish\win10-x86\project.assets.json' não encontrado. Execute uma restauração de pacote NuGet para gerar esse arquivo. App4 (Pacote) C:\Arquivos de Programas\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242

Esse problema foi causado pelo projeto de empacotamento procurando o arquivo project.assets.json no diretório errado, win10-$(configuração), quando deveria estar procurando em win-$(configuração).

Da comunidade de desenvolvedores


16.10.3 Visual Studio 2019 versão 16.10.3

lançado em June 29, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.3

Principais problemas corrigidos nesta versão

  • Corrigindo um problema em que a opção "Ir para Definição" em símbolos que são importados de módulos às vezes leva ao início do arquivo de módulo em vez da definição do símbolo.
  • Corrigido um problema em que os desenvolvedores com deficiência visual enfrentavam dificuldade para identificar o foco na tela, já que a taxa de luminosidade da cor da borda é inferior a 3:1 para a caixa de texto.
  • Projeto de banco de dados fixo: arrastar um arquivo do gerenciador de soluções para um aberto é excluir o arquivo do sistema de arquivos.
  • Corrigido um problema em que o uso de uma instrução de mesclagem em projetos de banco de dados resultaria em erros de compilação.
  • Não envia mais caminhos no disco ao relatar quais extensões estão instaladas.
  • Corrige um problema em que a tentativa de fechar a janela de início rápido pode fazer com que o Visual Studio falhe.
  • Corrija um problema em que mostrar janelas de ferramentas às vezes trava o VS.
  • Correção para a funcionalidade C++ Edit and Continue no código do utilizador quando símbolos não relacionados gerados por G++/GCC são carregados na aplicação.
  • Corrige as utilizações do seletor privado do framework iAd.
  • Corrigida uma falha no VS que resulta de erros que ocorrem no Designer XAML
  • Corrigido um problema com os projetos do Windows Application Packaging que, ao fazerem referência a projetos .netcoreapp, geram um .msixbundle.
  • Corrigir a falha na realização de uma verificação rápida de atualização em projetos WAP, que estava fazendo com que esses projetos fossem reconstruídos (em vez de ignorados), mesmo quando o projeto está atualizado e não precisava de modificações, levando a um aumento nos tempos de construção incremental no IDE.

Da comunidade de desenvolvedores


16.10.2 Visual Studio 2019 versão 16.10.2

lançado em June 15, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.2

Principais problemas corrigidos nesta versão

  • As verificações de simultaneidade na análise de código ficaram mais inteligentes. Eles são mais difíceis de enganar com um fluxo de controle complexo.
  • Essa correção restaura o comportamento de cabeçalhos externos ignorando a análise de cabeçalhos externos e suprimindo avisos de cabeçalhos externos.
  • Corrigidos os arquivos .aspx/ascx, onde os utilizadores podem ver IntelliSense incompleto ou experimentar desempenho lento.
  • Corrigidos problemas de escalabilidade com o provedor Unity CodeLens ao trabalhar em grandes projetos.
  • Cadeias de caracteres traduzidas restabelecidas na página de opções de Autenticação de Serviço do Azure.
  • Corrigidos problemas intermitentes de exibição de código visual ao usar a extensão Resharper.
  • Corrigido um problema em que determinadas janelas de ferramentas, editores e designers eram renderizadas muito pequenas para exibir qualquer conteúdo.
  • Corrige problemas de ícones de aplicativos ausentes do Xamarin iOS, seja ao executar um aplicativo ou ao tentar publicá-lo na App Store.
  • A criação de projetos com AOT+LLVM não falha mais com um erro XA3001.
  • Após a atualização para o Visual Studio 2019, versão 16.10, em determinadas circunstâncias, a publicação de aplicativos UWP pode falhar com a mensagem de erro "O nome do recurso especificado não pode ser encontrado no arquivo de imagem". Este problema foi corrigido.
  • Corrigido um problema que fazia com que o Visual Studio 2019 parasse de responder quando a configuração do dispositivo fosse alterada.
  • Corrige três problemas no MSBuild:
    • Evita erros de MSB4017 ao criar no Azure DevOps.
    • $([MSBuild]::MakeRelative()) novamente preserva barras finais na sua entrada.
    • Excluir globs com um padrão ** à direita novamente excluir arquivos sem . Personagens

Da comunidade de desenvolvedores


16.10.1 Visual Studio 2019 versão 16.10.1

lançado em June 08, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.1

Principais problemas corrigidos nesta versão

  • Corrigido um problema que causava uma falha com o compilador IntelliSense.
  • Corrigido um problema que poderia fazer com que as instâncias do Visual Studio 2019 fechassem se o Gerenciador de Testes estiver aberto na solução.
  • Corrigida uma falha quando os desenvolvedores criavam soluções parciais a partir da linha de comando.
  • Corrigida uma falha no ClickOnce Publish para aplicativos .NET Core.
  • Corrige um problema em que a janela da pilha de chamadas pode causar uma falha no Visual Studio 2019.
  • Corrige o erro de compilação "O arquivo de metadados '***\bin\Debug\NativeLibrary.dll' não pôde ser encontrado" ao criar projetos de vinculação do iOS.

Aviso de Aviso de Segurança

CVE-2021-31957 Vulnerabilidade de negação de serviço de ASP.NET

Existe uma vulnerabilidade de negação de serviço quando o ASP.NET Core manipula incorretamente a desconexão do cliente.

Da comunidade de desenvolvedores


16.10.0 Visual Studio 2019 versão 16.10.0

lançado em May 25, 2021

Resumo do que há de novo nesta versão do Visual Studio 2019 versão 16.10.0

C++

  • Todos os recursos do C++20 agora estão disponíveis através da opção /std:c++latest. Embora a implementação do MSVC dos padrões C++20 (conforme atualmente publicado pela ISO) esteja completa, espera-se que algumas das principais funcionalidades da biblioteca C++20 sejam alteradas pelos próximos Relatórios de Defeito (correções de bugs ISO C++20) que podem modificá-las de uma maneira que seja incompatível com a ABI. Consulte Microsoft/STL Issue #1814 para obter mais detalhes.
    • C++20 funções imediatas e suporte constinit adicionado em 16.10
    • As peças finais de <chrono>: novos relógios, segundos bissextos, fusos horários e análise
    • Implementação de <format> para a formatação de texto
  • /openmp:llvm agora está disponível em x86 e ARM64, além de x64
  • Os diretórios de inclusão agora podem ser designados como externos com níveis de aviso de compilação personalizados e configurações de análise de código.
  • Adicionado o /await:strict interruptor para habilitar o uso de co-rotinas no estilo C++20 em modos de linguagem anteriores.
  • A visualização do depurador agora exibe o nome e a assinatura originais da função de co-rotina e o ponto de std::coroutine_handle<T> suspensão atual.
  • Adicionado suporte para CMakePresets.
  • Agora será necessário aceitar ou negar a impressão digital da chave de host apresentada pelo servidor ao adicionar uma nova conexão remota no Visual Studio.
  • Adicionado um /external switch para MSVC para especificar cabeçalhos que devem ser tratados como externos para fins de aviso.

Melhorias nas Ferramentas do Docker

  • Capacidade de criar um perfil de inicialização que configura quais serviços iniciar em seu arquivo de composição.
  • Capacidade de marcar uma imagem.
  • Adicionada uma guia Volumes para contêineres.
  • Adicionada uma guia Rótulos para contêineres.
  • Adicionada uma guia Rótulos para imagens.
  • Os contêineres agora são agrupados por projeto Compose.

Editor

  • Para as pessoas que desejam uma experiência menos lotada, o espaçamento entre linhas pode ser modificado pesquisando por "espaçamento entre linhas" na Pesquisa do Visual Studio (Ctrl+Q). A opção está em Editor de Texto\Geral.
  • Localizar em Arquivos e Localizar todas as referências tem um controle para manter os resultados. Com base no feedback da nossa comunidade, adicionámos uma opção para ativar a opção "Manter resultados" por predefinição. Essa opção pode ser encontrada pesquisando por "manter resultados de pesquisa por padrão" na Pesquisa do Visual Studio (Ctrl+Q). A opção está em Ambiente\Localizar e Substituir. Observe que os usuários estão atualmente limitados a 5 resultados para Localizar em arquivos e mais 5 resultados para Localizar todas as referências.
  • Uma nova opção em Localizar em arquivos permite que os usuários executem pesquisas adicionais e anexem esses resultados a uma pesquisa anterior.

Extensibilidade do Editor

  • O comportamento do código que gerencia IntraTextAdornmentTags foi alterado. Com esta alteração, assim como com qualquer outro ITagger, deve-se gerar um evento de alteração de tags quando as tags subjacentes são alteradas. Caso contrário, suas tags podem nunca ser atualizadas.

Depurando & Diagnósticos

  • A análise diagnóstica de dumps de memória agora inclui dumps de núcleo do Linux gerenciado.

Produtividade Git

  • Vá para a Web com links diretos para criar uma nova solicitação pull e exibir PRs no GitHub ou Azure DevOps no menu Git.
  • Verifique ramificações locais e remotas ao selecionar uma única opção no seletor de ramificações.
  • Remova itens do seletor de repositório através do menu de contexto.
  • Ative o carregamento automático da solução ao abrir um repositório Git através das Configurações do Git > .
  • Alterne o comportamento ao clicar duas vezes para realizar o check-out de ramificações na janela Repositório Git através da Configuração do Git >.
  • Sincronize (Pull e Push) a sua ramificação com vários repositórios remotos no menu suspenso da janela Alterações do Git.
  • Personalize as ações visíveis da barra de ferramentas da janela Git Changes (Fetch, Pull, Push, Sync) através do menu de opções.
  • Abra o seu repositório no navegador a partir do menu de transbordo da janela de alterações do Git.
  • Pesquise e troque entre ramificações locais e remotas na barra de status.
  • Pesquise e alterne entre repositórios Git locais a partir da barra de status.
  • Corrigido um problema em que a lista de repositórios locais no menu Git não estava sendo carregada na inicialização do Visual Studio.
  • Adicione sub-repositórios de projetos aninhados à sua lista de repositórios locais ao abrir um repositório.
  • Mantenha a solução aberta ao alternar repositórios através das Configurações do Git > .
  • Desative a pasta aberta ao abrir repositórios através das Configurações do Git > .
  • Sincronize sua ramificação com o controle remoto a partir do botão de confirmações não pressionado na barra de status e do comando Sincronizar no Menu Git.
  • Buscar e extrair do painel de histórico da janela do Repositório Git mesmo quando não houver confirmações de entrada.
  • Veja os detalhes da confirmação e a comparação das alterações de arquivo incorporadas na janela do repositório Git.
  • Reconecte-se automaticamente ou seja solicitado a estabelecer a conexão inicial com o Azure DevOps ao abrir um repositório Git do Azure DevOps.
  • Mesclar e fazer rebase com nomes de ramificações visíveis, substituindo a confusa terminologia de Origem/Destino.
  • Desempenho e confiabilidade aprimorados para glifos de controle de origem no Gerenciador de Soluções.
  • Preserve as seções de entrada/saída na janela do repositório Git, mesmo quando vazias.
  • Menus suspensos consolidados de Fetch/Pull/Push para vários controles remotos na janela Alterações do Git para um único menu Ação.

Produtividade .NET

  • Conclusão de argumento em chamadas de método
  • Interface do usuário EditorConfig
  • Inspecione visualmente e navegue na cadeia de herança
  • Conclusão do IntelliSense para elencos, indexadores e operadores
  • Suporte de depurador para geradores de código-fonte
  • Suporte de limpeza de código para Visual Basic
  • Editar e continuar atualizações (EnC)
  • Remover referências não utilizadas
  • Linha de Ruptura Inteligente
  • Simplifique a refatoração de expressões LINQ
  • Conclusão do IntelliSense para valores Enum
  • Configuração do modo de conclusão do IntelliSense
  • Preferência de estilo de código para novas linhas
  • Encontrar todas as referências de suporte para geradores de origem

Editor de visualização do Razor (ASP.NET Core)

  • Atualizações de conclusão do IntelliSense
  • Ir para Suporte de definição para componentes genéricos
  • Nova configuração de estilo de código para tabulações e espaços
  • O editor de texto Razor em Opções de Ferramentas agora é chamado de Razor (ASP.NET Core)

Experiência de teste Melhorias de acessibilidade

  • Console.Writeline agora é exibido no Test Explorer
  • A saída de teste agora pode preservar tags para que hiperlinks e links stacktrace sejam navegáveis mesmo a partir dos arquivos de log.
  • Os arquivos de log são criados para um único resultado de teste quando a saída é superior a 300 caracteres ou se houver mais de 10 arquivos anexados ao resultado do teste.
  • Os ficheiros de registo também podem agora abrir na visualização para que seja mais fácil gerir as abas.
  • Os arquivos de log e o Test Explorer suportam Ctrl PgUp/PgDn para navegar no cursor e Shift+Ctrl PgUp/PgDn para seleção.
  • O editor de arquivos de log agora está usando a interface IVsTextView, o que significa que agora será capaz de abrir arquivos de texto muito grandes. Isso deve eliminar a necessidade de os utilizadores truncarem Copy All logs e abri-los num editor separado, como o Notepad. Para o MSTest, agora também incluímos um único arquivo de log que agrega toda a saída, em vez de ter apenas arquivos de log individuais para cada linha de dados.
  • Agora você pode obter cobertura de código multiplataforma na linha de comando no Ubuntu e Alpine com a cli dotnet. Para usuários interessados em obter cobertura de código em máquinas direcionadas a essas plataformas, agora você pode adicionar os mesmos comandos de coleta de cobertura de código que normalmente usaria no Windows. Consulte a documentação para dotnet test.
  • Agora há um botão expandir tudo ao lado do botão recolher tudo no Gerenciador de Testes. Este comando foi disponibilizado através de atalhos de teclado (Ctrl+A, Ctrl+seta para a direita), mas mais comentários indicaram que adicionar um botão valia a pena a interface do usuário adicional. Como sempre, obrigado por nos informar o que você pensa via https://developercommunity.visualstudio.com/.
  • Há também algumas pequenas mudanças na forma como o Explorador de Testes mostra a "desatualização". "Desatualização" refere-se aos resultados de teste acinzentados ou "desbotados" que indicam que o resultado não foi da última execução de teste. Se um resultado não fizer parte da execução de teste mais recente, ele aparecerá como obsoleto. Anteriormente, novas descobertas de teste (ou mesmo resultados de testes antigos que foram redescobertos) também eram mostrados com ícones sólidos. Isso causou alguma confusão sobre por que alguns testes 'Not Run' foram desbotados e por que outros não foram. Esta mudança reduzirá a complexidade da obsolescência.
  • Com o recurso de resultados de teste persistente (adicionado na versão 16.2), você pode ver os resultados do teste da última execução de teste, mesmo que tenha fechado e reaberto o Visual Studio. Isso ajuda os usuários a se lembrarem de onde pararam e fornece mais contexto sem exigir outra execução de teste. Também modificamos o comportamento dos resultados persistentes para que pareçam sempre obsoletos. Isto indica melhor que não eram de uma execução de teste realizada durante a sessão atual do Visual Studio.

Ferramentas Web:

  • Alternar para a V2 da API para provisionamento do Azure AD
  • A Configuração de Aplicativo do Azure como um Serviço Conectado agora dá suporte à configuração dinâmica

Árvore de dependências do projeto de empacotamento de aplicativos do Windows

  • Adicionada uma "árvore de dependências" ao projeto WAP

Melhorias nas ferramentas XAML

  • XAML IntelliSense e XAML Hot Reload aprimorados para clientes Xamarin.Forms
  • Dados de exemplo XAML introduzidos para ItemsControls selecionados no WPF
  • Adicionada nova lâmpada para acesso rápido a propriedades comumente editadas
  • Adicionada nova lâmpada no Editor XAML para ajudar a criar um modelo de exibição

Ferramentas do Service Fabric

  • Apresentando StartupServices.xml em aplicativos do Service Fabric

Detalhes do que há de novo no Visual Studio 2019 versão 16.10

Ferramentas do Docker

Janela da ferramenta Containers

Nesta versão, fizemos adições à janela da ferramenta Contêineres para facilitar a visualização e a interação com contêineres e imagens. Basta navegar até Ver > Outros Contentores do Windows > para experimentar as novas funcionalidades.

  • Os contêineres agora são agrupados por projeto Compose. Isso torna simples saber quais contêineres representam seu aplicativo. Além disso, acrescentámos um separador de Rótulos em Contêineres, para que possa ver facilmente quais os rótulos que está a utilizar durante o desenvolvimento.

Opção de agrupamento de composição e separador de etiqueta de contentores

  • Também adicionámos um separador Etiquetas para imagens.

Guia Rótulo de imagens

  • A nova guia Volumes permite que você veja os volumes de um contêiner em execução e até mesmo abra os arquivos no Visual Studio.

Guia Volumes de contêiner

  • Agora suportamos a capacidade de marcar uma imagem a partir da janela da ferramenta Contêineres. Em Imagens, clique com o botão direito do mouse em uma imagem e selecione Marcar.

Marcar uma imagem

Compose
  • As ferramentas de composição do Docker no Visual Studio agora fornecem a capacidade de executar qualquer combinação de serviços definida em seus arquivos de composição. Abra o menu suspenso "Debug" ou clique com o botão direito do rato no seu projeto do Docker Compose e selecione "Gerir Definições de Lançamento do Docker Compose" para iniciar.

Gerenciar configurações de inicialização do Docker Compose

Produtividade Git

  • Para começar a facilitar a criação de solicitações pull enquanto você estiver no Visual Studio, adicionamos itens de menu que são atalhos de link profundo para as páginas da Web que permitem criar uma RP ou exibir uma lista de RPs para seu repositório. O menu é dinâmico com base no fato de seu repositório estar no GitHub ou no Azure DevOps.

Crie um PR e veja a lista de PRs na web a partir do menu Git

  • O seletor de ramificação na barra de status e a janela Alterações do Git agora abre uma ramificação local ou remota quando você seleciona uma única ramificação. Você pode encontrar ações adicionais no menu de contexto.

Clique com o botão esquerdo para mudar para uma ramificação e com o botão direito para ações adicionais

  • O novo seletor de repositório na barra de status tem um menu de contexto no botão direito do mouse que permite remover itens da lista.

Remover itens da lista do selector de repositórios pelo menu de contexto

  • Ao usar o seletor de repositórios ou a lista de repositórios locais do menu Git, abrir um repositório não carregará mais automaticamente a solução. Em vez disso, verá a vista da pasta e a solução disponíveis numa lista da qual pode selecionar. Você pode alterar esse comportamento por meio das Configurações do Git > marcando ou desmarcando a caixa de seleção.

  • Você pode extrair um ramo na janela Repositório Git clicando duas vezes no nome do ramo. Se você quiser alterar esse comportamento, alterne a caixa de seleção em Configurações do Git > .

Configurações para alternar o carregamento auto-sln e o check-out de ramificação.

  • Você pode executar ainda mais ações agora na janela Alterações do Git. Os ícones da barra de ferramentas são personalizáveis e você pode escolher quais ações mostrar. Você pode sincronizar com vários controles remotos no menu de estouro. E você pode abrir a página remota do repositório no navegador.

O menu de transbordamento de alterações do Git com indicativos para sincronizar, abrir no navegador e ações da barra de ferramentas.

  • Pesquise ramificações locais e remotas e execute ações comuns de ramificação a partir do seletor de ramificações da barra de status.

Seletor de ramificação na barra de status.

  • Pesquise e alterne entre repositórios Git locais a partir do seletor de repositórios da barra de status.

Seletor de repositórios na barra de status.

  • Corrigido um problema em que a lista de repositórios locais no menu Git não estava sendo carregada na inicialização do Visual Studio.
  • Adicionamos duas novas opções nas Configurações do Git > para gerenciar como você abre e alterna repositórios. Agora você pode manter a solução atual aberta ao alternar para outro repositório

Configuração para manter a solução aberta.

  • Você também pode optar por não carregar a pasta raiz do repositório ao abrir um repositório.

Configuração para abrir a pasta

  • Sincronize (Puxe e Empurre) sua ramificação com o controle remoto a partir do botão de confirmações não pressionado na barra de status e do comando Sincronizar no Menu Git.

Botão Sincronizar na barra de estado.

  • Buscar e extrair do painel de histórico da janela do Repositório Git mesmo quando não houver confirmações de entrada. Aceda a estas secções a partir da barra de estado ou do atalho de teclado Ctrl+0+Y.

Seção de entrada na janela do repositório Git com um texto explicativo para buscar e puxar botões.

  • Selecione uma confirmação na janela Repositório Git para visualizar seus detalhes e a comparação de alterações de arquivos sem ter que navegar para outras janelas. Selecione duas confirmações e clique com o botão direito do mouse para compará-las na mesma janela. Coloque os detalhes em sua própria janela para visibilidade em tela cheia para mergulhar profundamente nas mudanças.

Detalhes de confirmação incorporados e comparação de arquivos na janela Repositório Git.

  • Exiba o número de exclusões e inserções em um arquivo e altere o layout da comparação.

Janela de confirmação destacada com indicadores para o número de alterações de ficheiros e botões de visualização de layout na barra de ferramentas

  • Reconecte-se automaticamente ou seja solicitado a estabelecer a conexão inicial com o Azure DevOps ao abrir um repositório Git do Azure DevOps. Isso permite o acesso a itens de trabalho e compilações para o repositório aberto.

Barra de informações na janela Alterações do Git solicitando que você se conecte ao Azure DevOps para o repositório atual. ">

  • Ao resolver conflitos de rebase ou mesclagem, o editor de mesclagem e o menu de contexto mostrarão os nomes das ramificações Atual e Entrantes. Isso corrige a confusa terminologia de origem e destino.

O menu de contexto ao resolver conflitos exibe os nomes das ramificações.

O editor Rebase e Merge exibe nomes de ramificações nos cabeçalhos.

Produtividade .NET

  • Adicionamos um comando Remover referências não utilizadas que permite limpar referências de projeto e pacotes NuGet que não têm uso. Esta opção está desativada por padrão, então você precisará ativá-la em Opções de Ferramentas>> Editor >C#>Advanced e selecione Mostrar o comando "remover referências não utilizadas" no Gerenciador de Soluções (experimental). Quando a opção estiver ativada, o comando Remover Referências Não Utilizadas aparecerá no menu do botão direito do mouse de um nome de projeto ou nó de dependências no Gerenciador de Soluções:

Comando Remover referências não utilizadas

Selecionar Remover referências não utilizadas abrirá uma caixa de diálogo onde você poderá visualizar todas as referências que serão removidas com uma opção para preservar as que deseja manter:

Caixa de diálogo Remover referências não utilizadas

  • Adicionámos um novo comando chamado Smart Break Line que insere automaticamente um par de chavetas e coloca o carat dentro dessas chavetas ao usar Shift+Enter como caráter de confirmação. A Linha de Quebra Inteligente funciona para todas as declarações de tipo que exigem chaves, bem como propriedades, eventos, campos e expressões de criação de objetos. O exemplo abaixo mostra a Linha de Quebra Inteligente usada em uma classe e um campo. Se o campo não tiver um ponto-e-vírgula no final, digitar Shift+Enter converterá o campo numa propriedade adicionando um conjunto de acóladas. Você pode pressionar Shift+Enter novamente para desfazer a confirmação, que também adicionará automaticamente um ponto-e-vírgula no final do campo:

Linha de Rutura Inteligente

  • Agora há uma refatoração que simplifica as expressões LINQ, removendo a chamada desnecessária para Enumerable no método .Where(), ajudando a melhorar o desempenho e a legibilidade. Coloque o cursor sobre a expressão LINQ. Pressione (Ctrl+.) para acionar o menu Ações rápidas e refatoração . Selecione Simplificar expressão LINQ.

Simplifique a expressão LINQ

  • Agora há conclusão do IntelliSense para valores de Enum quando um tipo é conhecido, mesmo que o nome Enum não seja inserido.

Conclusão do IntelliSense para valores Enum

  • Adicionamos uma nova configuração do modo de conclusão do IntelliSense que oferece a capacidade de definir opções de conclusão padrão. Essa nova configuração está disponível em Ferramentas>Opções>Editor de Texto> Avançado Modo de conclusão padrão> do IntelliSense, onde pode escolher entre as seguintes opções: Última usada, que preservará a última configuração usada com Ctrl++, Somente tabulação, que só concluirá ao pressionar a tecla de tabulação e Automático, que é o comportamento padrão atual, concluindo em pontuação e caracteres especiais.

Configuração do modo de conclusão do IntelliSense

  • Adicionamos novas preferências de estilo de código para novas linhas. Você pode configurar essas preferências com um arquivo EditorConfig ou em Opções de Ferramentas>> Editor >C#>Code Style>Novas preferências de linha (experimental).

Opções de estilo de código para novas linhas

Por exemplo, você pode definir sua preferência de estilo de código para relatar um diagnóstico e oferecer uma correção de código para remover linhas em branco extras:

Correção de código remover linhas em branco extras

  • Agora há suporte para Localizar todas as referências para geradores de código-fonte que permite encontrar referências em um documento gerado pela fonte.

  • Agora há uma opção de conclusão que insere automaticamente argumentos ao escrever uma chamada de método. Esse recurso está desativado por padrão, então você precisará ativá-lo em Opções de Ferramentas >> , Editor > de Texto, C# > , IntelliSense e selecionar Tab duas vezes para inserir argumentos (experimental). Comece a escrever uma chamada de método e pressione tab duas vezes (tab + tab). Observe que a chamada de método inclui argumentos baseados nos valores padrão do método. Em seguida, você pode usar informações de parâmetro para percorrer a lista de argumentos que deseja inserir pressionando as teclas de seta para cima e para baixo. Você também pode começar a digitar um argumento para abrir a lista de conclusão do IntelliSense e, ao digitar o ponto-e-vírgula, o argumento será confirmado e o ponto-e-vírgula será adicionado ao final da chamada do método.

Conclusão do argumento de chamada de método

  • Criamos uma interface do usuário para EditorConfig. Abra qualquer arquivo C# ou Visual Basic EditorConfig da sua solução. Observe que a nova interface do usuário será aberta exibindo estilo de código e opção de configuração de qualidade de código para C# e Visual Basic.

Interface do usuário EditorConfig

  • Agora há uma representação visual para navegar e inspecionar a cadeia de herança. Essa opção está desativada por padrão, então você precisará ativá-la em Opções de Ferramentas >> Editor de Texto > C# > Advanced e selecionar Mostrar margem de herança. Habilitar a margem de herança adicionará novos ícones às margens que representam as implementações e substituições do seu código. Clicar no ícone da margem de herança exibirá as opções de herança que você pode selecionar para navegar.

Ícones de Margem de Herança

  • Agora há completação do IntelliSense para casts, indexadores e operadores.

Conclusão do IntelliSense para elencos, indexadores e operadores

  • Agora há suporte a depuradores para geradores de código-fonte. Primeiro, você precisará instalar o componente .NET Compiler Platform SDK do Visual Studio Installer. Em seguida, precisarás adicionar a <IsRoslynComponent>propriedade true</IsRoslynComponent> ao teu ficheiro de projeto. Em seguida, habilite a opção de depurador 'Roslyn Component' na página Depuração de propriedades do projeto e selecione o projeto de destino apropriado. Em seguida, pressione F5 no projeto gerador que iniciará o CSC.exe/VBC.exe que constrói o projeto de destino permitindo que você depure o código do gerador.

Depurador do gerador de código-fonte

Projeto de depuração para o gerador de código fonte

Nesta versão, também adicionamos os seguintes aprimoramentos à experiência de depuração Edit and Continue (EnC) no Visual Studio:

  • Agora é possível aplicar alterações no código que está dentro de uma classe parcial.
  • Agora você pode aplicar alterações em um arquivo Source Generated).
  • Agora é possível adicionar e/ou alterar uma diretiva de utilização.
  • Melhorias na confiabilidade e menor consumo de memória.

Todas as três alterações estão disponíveis em qualquer lugar onde o EnC é suportado atualmente e funcionam com arquivos de origem C# e Visual Basic.

Depurador & Diagnósticos

  • Desenvolvemos vários analisadores para ajudar a detetar problemas comuns em despejos de memória gerenciados. Essa análise agora pode ser executada em dumps de núcleo Linux gerenciados.

Analise automaticamente despejos de memória

Obrigado

Por último, mas certamente não menos importante, um grande obrigado às seguintes pessoas que contribuíram este mês para o .NET Productivity (também conhecido como Roslyn):

Editor de visualização do Razor (ASP.NET Core)

O novo editor de visualização do Razor agora suporta os seguintes recursos de edição do Razor:

  • A conclusão do IntelliSense agora filtra componentes HTML, elementos TagHelper e atributos C#:

Filtros Razor IntelliSense

  • A conclusão do IntelliSense para C# substitui.
  • Vá para Suporte de definição para componenets genéricos.
  • Novas opções de configuração de estilo de código para separadores vs espaços. Esses estilos de código serão respeitados ao digitar, formatar e criar um novo arquivo Razor. Você pode configurar guias e espaços em Ferramentas > Opções > Editor de Texto > Razor (ASP.NET Core) > Tabs.
  • O editor de texto Razor em Opções de Ferramentas foi renomeado de ASP.NET Core Razor Language Services para Razor (ASP.NET Core).

Para habilitar o novo editor de visualização do Razor, vá para Ferramentas > Opções > de Recursos de Visualização do Ambiente > , selecione Habilitar editor experimental do Razor e reinicie o Visual Studio.

Melhorias de acessibilidade da experiência de teste

  • Console.Writeline agora aparece no Test Explorer! A saída longa aparece como uma secção expansível e recolhível no painel de resumo dos detalhes do teste. A saída em um determinado comprimento exibe as primeiras linhas e, em seguida, é truncada com uma opção para abrir o log de teste em uma janela separada. O stacktrace trunca se houver mais de 20 quadros e, em seguida, mostrará apenas o primeiro e o último 10 quadros. Uma parte importante do projeto de truncamento também foi focada na redução de congelamentos no Visual Studio quando as execuções de teste têm um grande volume de saída. Os testes com saída grande não bloquearão mais o thread da interface do usuário.

A saída de teste inclui Console.WriteLine

  • A saída de teste agora pode preservar tags para que hiperlinks e links stacktrace sejam navegáveis mesmo a partir dos arquivos de log. Esses links agora também são compatíveis com o teclado.

A saída de teste preserva hiperlinks e stacktraces

Os logs de teste também preservam hiperlinks e stacktraces

  • Os arquivos de log são criados para um único resultado de teste quando a saída é superior a 300 caracteres ou se houver mais de 10 arquivos anexados ao resultado do teste. Os ficheiros de registo também podem agora abrir na visualização para que seja mais fácil gerir as abas. Os arquivos de log e o Test Explorer suportam Ctrl PgUp/PgDn para navegar no cursor e Shift+Ctrl PgUp/PgDn para seleção.

Os logs de teste são mais fáceis de selecionar com atalhos de teclado

  • O editor de arquivos de log agora está usando a interface IVsTextView, o que significa que agora será capaz de abrir arquivos de texto muito grandes. Isso deve eliminar a necessidade de os utilizadores truncarem Copy All logs e abri-los num editor separado, como o Notepad. Para o MSTest, agora também incluímos um único arquivo de log que agrega toda a saída, em vez de ter apenas arquivos de log individuais para cada linha de dados.

Ferramentas de teste

  • Agora você pode obter cobertura de código multiplataforma na linha de comando no Ubuntu e Alpine com a cli dotnet. Para usuários interessados em obter cobertura de código em máquinas direcionadas a essas plataformas, agora você pode adicionar os mesmos comandos de coleta de cobertura de código que normalmente usaria no Windows. Consulte a documentação para dotnet test.
  • Agora há um botão expandir tudo ao lado do botão recolher tudo no Gerenciador de Testes. Este comando foi disponibilizado através de atalhos de teclado (Ctrl+A, Ctrl+seta para a direita), mas mais comentários indicaram que adicionar um botão valia a pena a interface do usuário adicional. Como sempre, obrigado por nos informar o que você pensa via https://developercommunity.visualstudio.com/.
  • Há também algumas pequenas mudanças na forma como o Explorador de Testes mostra a "desatualização". "Desatualização" refere-se aos resultados de teste acinzentados ou "desbotados" que indicam que o resultado não foi da última execução de teste. Se um resultado não fizer parte da execução de teste mais recente, ele aparecerá como obsoleto. Anteriormente, novas descobertas de teste (ou mesmo resultados de testes antigos que foram redescobertos) também eram mostrados com ícones sólidos. Isso causou alguma confusão sobre por que alguns testes 'Not Run' foram desbotados e por que outros não foram. Esta mudança reduzirá a complexidade da obsolescência.
  • Com o recurso de resultados de teste persistente (adicionado na versão 16.2), você pode ver os resultados do teste da última execução de teste, mesmo que tenha fechado e reaberto o Visual Studio. Isso ajuda os usuários a se lembrarem de onde pararam e fornece mais contexto sem exigir outra execução de teste. Também modificamos o comportamento dos resultados persistentes para que pareçam sempre obsoletos. Isto indica melhor que não eram de uma execução de teste realizada durante a sessão atual do Visual Studio.

Os resultados de teste guardados da última sessão do Visual Studio aparecem esbatidos

Ferramentas Web

A configuração dinâmica permite que os recursos de configuração sejam atualizados automaticamente usando um middleware. A Configuração do Aplicativo como um Serviço Conectado agora pode integrar automaticamente a configuração dinâmica ao seu aplicativo. Para usar esse serviço conectado, clique em Serviços Conectados e adicione a Configuração do Aplicativo do Azure como uma Dependência de Serviço.

Projeto de empacotamento de aplicativos do Windows "Árvore de dependências"

  • Dando continuidade ao trabalho do ano passado para habilitar referências de pacote NuGet no WAP (Windows Application Packaging Project), habilitamos uma nova interface do usuário na experiência do Gerenciador de Soluções do WAP. A experiência antiga não mostrava essas referências de pacote nem permitia que você adicionasse pacotes NuGet por meio da interface do usuário.

Interface de usuário antiga do projeto de empacotamento de aplicativos do Windows.

  • Na nova experiência, com a ajuda do CPS e do .NET Project System, habilitamos uma "Árvore de dependências" que continua a exibir referências de projeto por meio da subárvore "Aplicativos", mas também apresenta uma subárvore "Pacotes" que permitirá gerenciar pacotes NuGet também.

Nova interface de usuário do projeto de empacotamento de aplicativos do Windows.

Melhorias nas ferramentas XAML (WPF & Xamarin.Forms)

Xamarin.Formulários

Nesta versão, fizemos duas pequenas melhorias no XAML IntelliSense e no XAML Hot Reload para clientes do Xamarin.Forms. O Hot Reload “modificação apenas” deixará de reportar erros falsos para:

  • Setters no VisualStateManager que fazem referência a propriedades sem especificar o tipo, por exemplo, <Setter Property="BackgroundColor" Value="Red">.
  • Merged ResourceDictionaries não estão encapsulados no elemento <ResourceDictionary.MergedDictionaries>

Exemplo:

    <Application>
    <Application.Resources>
        <ResourceDictionary Source='Colors.xaml'/>
        <Style TargetType='Label'> ... <Style>
    </Application.Resources>
    </Application>

Dados de exemplo XAML

Nesta versão, melhorámos ainda mais a capacidade de dados em tempo de execução do Designer XAML, introduzindo uma nova maneira de adicionar dados de exemplo genéricos aos seus ItemsControls. Esse recurso funciona para ListBox, ListView e DataGrid somente no WPF.

  • Dados de exemplo podem ser habilitados definindo d:ItemSource='{d:SampleData}' em seu ListBox, ListView ou DataGrid
  • Isso preencherá seu controle no designer somente com um conjunto de 5 itens que correspondem aos seus DataTemplates e Caminhos de Vinculação
  • Você pode alterar quantos itens são gerados usando a ItemCount propriedade, por exemplo: d:ItemSource='{d:SampleData ItemCount=3}'

ListBox mostrando dados de exemplo.

Ações rápidas do Designer XAML

  • Uma nova lâmpada perto do canto de um controle selecionado no Designer XAML pode ser usada para acesso rápido a propriedades comumente editadas para esse controle.

  • Os controlos suportados incluem:

    • UWP: Borda, Botão, Quadro, CheckBox, ComboBox, Grade, HyperlinkButton, Imagem, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
    • WPF: Borda, Botão, Canvas, CheckBox, ComboBox, Grid, Imagem, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
  • Esse recurso está disponível para UWP, WPF .NET Core e WPF .NET Framework (com o recurso de visualização "New WPF XAML Designer for .NET Framework" habilitado na caixa de diálogo de opções).

  • As Ações Rápidas do Designer XAML também têm um modelo de extensibilidade. Para obter mais informações sobre como criar suas próprias ações, consulte o GitHub de Extensibilidade do Designer XAML

Ações rápidas do Designer XAML em um botão

Ferramentas MVVM para XAML

Nesta versão, introduzimos uma lâmpada no Editor XAML para criar um modelo de exibição. Essa lâmpada é exibida no elemento raiz do documento XAML quando detetamos que uma estrutura MVVM está sendo usada no projeto. O diálogo permite a personalização do namespace gerado do view-model, da pasta e do view-model base herdado.

Criar experiência de lâmpada de modelo de visualização

A lâmpada também define o modelo de exibição gerado como x:DataType(Xamarin.Forms) ou d:DataContext(todas as outras plataformas) para o documento XAML, permitindo que o usuário aproveite ainda mais as lâmpadas do Editor XAML para gerar propriedades e comandos acoplados em modelos de exibição.

Ferramentas do Service Fabric

Esse recurso introduz StartupServices.xml arquivo em um design de aplicativo do Service Fabric. Este arquivo hospeda a seção DefaultServices do ApplicationManifest.xml. Com essa implementação, DefaultServices e parâmetros relacionados à definição de serviço são movidos de ApplicationManifest.xml existentes para esse novo arquivo chamado StartupServices.xml. Esse arquivo é usado em cada funcionalidade (Build/Rebuild/F5/Ctrl+F5/Publish) no Visual Studio.

Principais problemas corrigidos nesta versão

  • Corrigido um problema em que os desenvolvedores de C# invocando o comando Edit.SmartBreakline removevam todo o conteúdo do acessador de Property.
  • Corrigido um problema em que os desenvolvedores que atualizavam uma configuração de estilo de código aplicavam a alteração em todas as instâncias do Visual Studio em vez de apenas dentro da pasta desejada.
  • O ícone "Aplicar alterações de código" era exibido sempre que um projeto natvie ou mesclado era aberto. Ele só será ativado quando um desenvolvedor iniciar a depuração.
  • Corrige a mudança crítica em AudioUnitPropertyIDType
  • Corrigido um problema em que os desenvolvedores que usavam a estrutura de teste de unidade UWP não conseguiam executar testes em dispositivos remotos.

Da comunidade de desenvolvedores

A Comunidade de Desenvolvedores tem uma lista completa de todos os itens enviados nesta versão.

Aqui estão algumas das edições mais votadas lançadas em 16.10:


Problemas conhecidos

Veja todos os problemas em aberto e soluções alternativas disponíveis no Visual Studio 2019 seguindo o link abaixo.

Problemas Conhecidos


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.