2019Logo Notas sobre a versão do Visual Studio 2019 versão 16.10



Developer Community | Requisitos do sistema | Compatibilidade | Código distribuível | Histórico de versões | Termos de licença | Blogs | Novidades da documentação do Visual Studio


Observação

Esta não é a versão mais recente do Visual Studio. Para baixar a última versão, acesse o site do Visual Studio.



Novidades no Visual Studio 2019 versão 16.10

Período de suporte

Essa versão está agora sem suporte. Para obter mais informações sobre suporte do Visual Studio, revise a Política de Suporte do Visual Studio 2019.

Veja a última versão das notas sobre a versão ou acesse o site do Visual Studio para baixar a última versão com suporte do Visual Studio 2019.

Lançamentos do Visual Studio 2019 versão 16.10

Notas sobre a versão arquivadas do Visual Studio 2019

Blog do Visual Studio 2019

O Blog do Visual Studio 2019 é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2019 nas seguintes postagens:


16.10.5Visual Studio 2019 versão 16.10.5

lançado em 10 de agosto de 2021

Resumo das novidades neste lançamento do Visual Studio 2019 versão 16.10.5

Esta versão do Visual Studio 2019 só está disponível por meio do WSUS (Serviço de Atualização de Software do Windows).

Principais problemas corrigidos nesta versão

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

Aviso de Consultoria de Segurança

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

Existe uma vulnerabilidade de negação de serviço em que os aplicativos de servidor .NET (Core) que fornecem pontos de extremidade WebSocket podem ser levados a ficar em loop infinito quando tentam ler um único quadro WebSocket.

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

Existe uma vulnerabilidade de divulgação não autorizada de informação quando despejos criados pela ferramenta de coleta de despejos de memória e de despejos sob demanda são criados com permissões de leitura globais no Linux e no macOS.

CVE-2021-34532 Vulnerabilidade da divulgação de informações confidenciais do ASP.NET Core

Existe uma vulnerabilidade de divulgação não autorizada de informações em que um token JWT é registrado quando não pode ser analisado.

16.10.4Visual Studio 2019 versão 16.10.4

lançado em 20 de julho de 2021

Resumo das novidades neste lançamento 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.
  • Correção de um bug de codegen envolvendo expressões aninhadas complicadas com o operador bitwise-not.
  • Correção da depuração do sombreador para o Analisador de Gráficos do VS
  • Correção de uma falha do IntelliSense que ocorria ao processar membros de dados estáticos em especializações de modelo na classe.
  • O X64 VC Redist não remove mais arquivos de runtime quando executado com opções /installer /passive.
  • Correção de um problema em que a ordem de pesquisa de inclusão podia estar incorreta quando acrescentada a "Incluir Diretórios".
  • Corrigimos um problema de desempenho e falsos positivos causados por uma das extensões de verificador que localiza bugs no uso indevido de VARIANTs.
  • Corrigimos um problema de desempenho causado por uma das extensões do verificador que localiza bugs no uso indevido de valores de enumeração 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 participantes da sessão de colaboração (preenchimento de código, realce de sintaxe, erros etc.)
  • O analisador de simultaneidade não deve mais produzir avisos falsos C26110 (falha ao adquirir bloqueio) com padrões de bloqueio automático.
  • Os compiladores C# e Visual Basic corrigiram uma falha envolvendo InternalsVisibleTo em conflito com outros atributos de nível de assembly.
  • Corrigimos um problema experimentado pelos clientes que empacotavam seus projetos com Projetos de Empacotamento de Aplicativo do Windows, como aplicativos WPF NetCore e aplicativos do 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 que procura o arquivo project.assets.json no diretório errado, win10-$(configuration), quando deveria procurar em win-$(configuration).

Da Developer Community


16.10.3 Visual Studio 2019 versão 16.10.3

lançado em 29 de junho de 2021

Resumo das novidades neste lançamento do Visual Studio 2019 versão 16.10.3

Principais problemas corrigidos nesta versão

  • Correção de um problema em que Ir para Definição em símbolos importados de módulos às vezes vai para o início do arquivo de módulo em vez da definição do símbolo.
  • Correção de um problema em que os desenvolvedores com deficiência visual enfrentavam dificuldades para identificar o foco na tela, pois a taxa de Luminosidade da cor da borda é menor que 3:1 para a caixa de texto.
  • Correção do Projeto de Banco de Dados: arrastar um arquivo do gerenciador de soluções para um aberto estava excluindo o arquivo do sistema de arquivos.
  • Correção de um problema em que o uso de uma instrução de mesclagem em projetos de banco de dados resultava em erros de build.
  • Não envia mais caminhos no disco ao relatar quais extensões estão instaladas.
  • Corrige de um problema em que tentar fechar a janela de início rápido pode causar falha no Visual Studio
  • Correção de um problema em que a exibição de janelas de ferramentas às vezes travam o VS.
  • Correção para Edição e Continuação do C++ no código do usuário quando símbolos gerados por G++/GCC não relacionados são carregados no aplicativo.
  • Corrige os usos do seletor particular da estrutura iAd.
  • Correção de uma falha no VS que resulta de erros ocorridos no Designer XAML
  • Correção de um problema com os projetos de Empacotamento de Aplicativos do Windows que fazem referência a projetos .netcoreapp gerando um .msixbundle.
  • Correção de uma falha na realização de uma verificação atualizada rápida em projetos WAP, o que fazia com que esses projetos fossem compilados (em vez de serem ignorados), mesmo quando o projeto está atualizado e não precisa de modificações, causando ainda mais o aumento dos tempos de compilação incrementais no IDE.

Da Developer Community


16.10.2 Visual Studio 2019 versão 16.10.2

lançado em 15 de junho de 2021

Resumo das novidades neste lançamento 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. Elas 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.
  • Correção de arquivos .aspx/ascx em que os usuários podem ver o IntelliSense incompleto ou experimentar desempenho lento.
  • Correção de problemas de escalabilidade com o provedor CodeLens do Unity ao trabalhar em projetos grandes.
  • Cadeias de caracteres traduzidas restabelecidas na página de opções de Autenticação de Serviço do Azure.
  • Correção de problemas de exibição de código visual intermitente ao usar a extensão Resharper.
  • Correção de um problema em que determinadas janelas de ferramentas, editores e designers eram renderizados muito pequenos para exibir qualquer conteúdo.
  • Corrige problemas de ícone de aplicativo ausente do Xamarin iOS 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". Isso agora foi corrigido.
  • Correção de um problema que fazia com que o Visual Studio 2019 parasse de responder quando a configuração do dispositivo era alterada.
  • Corrige três problemas no MSBuild:
    • Evita erros MSB4017 ao compilar no Azure DevOps.
    • $([MSBuild]::MakeRelative()) preserva novamente as barras à direita em sua entrada.
    • Excluir globs com um padrão ** à direita novamente exclui arquivos sem . caracteres

Da Developer Community


16.10.1 Visual Studio 2019 versão 16.10.1

lançado em 8 de junho de 2021

Resumo das novidades neste lançamento do Visual Studio 2019 versão 16.10.1

Principais problemas corrigidos nesta versão

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

Aviso de Consultoria de Segurança

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

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

Da Developer Community


16.10.0 Visual Studio 2019 versão 16.10.0

lançado em 25 de maio de 2021

Resumo das novidades neste lançamento do Visual Studio 2019 versão 16.10.0

C++

  • Todos os recursos do C++20 agora estão disponíveis na opção /std:c++latest. Embora a implementação dos padrões C++20 do MSVC (como publicado atualmente pelo ISO) seja concluída, alguns recursos importantes da biblioteca C++20 devem ser alterados por relatórios de defeitos futuros (correções de bug ISO C++20) que podem alterá-los de maneira incompatível com a ABI. Consulte o Problema 1814 da Microsoft/STL para obter mais detalhes.
    • Adição de suporte a constinit e a funções imediatas do C++20 na versão 16.10
    • As partes finais de <chrono>: novos relógios, segundos bissextos, fusos horários e análise
    • Implementação de <format> para 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.
  • Adicionada a opção /await:strict para habilitar corrotinas no estilo C++20 em modos de linguagem anteriores.
  • A visualização do depurador de std::coroutine_handle<T> agora exibe o nome e a assinatura da função de corrotina original e o ponto de suspensão atual.
  • Suporte adicionado para CMakePresets.
  • Agora você precisa aceitar ou negar a impressão digital da chave de host apresentada pelo servidor ao adicionar uma nova conexão remota no Visual Studio.
  • Foi adicionada uma opção /external ao MSVC para especificar cabeçalhos que devem ser tratados como externos para fins de aviso.

Aprimoramentos das Ferramentas do Docker

  • Capacidade de criar um perfil de inicialização que configura quais serviços iniciar no arquivo do Compose.
  • 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 pelo projeto do Compose.

Editor

  • Para pessoas que desejam uma experiência menos pesada, o espaçamento de linhas pode ser modificado pesquisando por "espaçamento de linha" 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 têm um controle para manter os resultados. Com base nos comentários de nossa comunidade, adicionamos uma opção para ativar a opção "Manter Resultados" por padrão. Essa opção pode ser encontrada pesquisando "manter os resultados da 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 cinco resultados para Localizar em Arquivos e mais cinco resultados para Localizar todas as Referências.
  • Uma nova opção em Localizar em Arquivos permite que os usuários executem pesquisas adicionais e acrescentem esses resultados a uma pesquisa anterior.

Extensibilidade do Editor

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

Depuração e Diagnóstico

  • A Análise de Diagnóstico de despejos de memória agora inclui despejos de núcleo gerenciados do Linux.

Produtividade do Git

  • Vá para a Web com links profundos para criar uma nova pull request e exibir PRs no GitHub ou no Azure DevOps a partir do menu Git.
  • Faça check-out de branches locais e remotos com uma única seleção no seletor de branch.
  • Remova itens do seletor de repositório por meio do menu de contexto.
  • Ative o carregamento automático da solução ao abrir um repositório Git por meio de Git > Configurações.
  • Alterne o comportamento de clicar duas vezes para fazer check-out de branches da janela do Repositório Git por meio de Git > Configurações.
  • Sincronize (Efetue pull e push) o branch com vários repositórios remotos no menu de estouro da janela Alterações do Git.
  • Personalize as ações visíveis da barra de ferramentas da janela Alterações do Git (Efetuar fetch, Efetuar pull, Efetuar push, Sincronizar) no menu de estouro.
  • Abra o repositório no navegador no menu de estouro da janela Alterações do Git.
  • Pesquise e faça check-out de branches locais e remotos na barra de status.
  • Pesquise e alterne entre repositórios Git locais na barra de status.
  • Correção de 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 projeto aninhados à lista de repositórios locais ao abrir um repositório.
  • Mantenha a solução aberta ao alternar repositórios por meio de Git > Configurações.
  • Desative a pasta aberta ao abrir repositórios por meio de Git > Configurações.
  • Sincronize seu branch com o repositório remoto do botão de commits sem push na barra de status e do comando Sincronizar no Menu Git.
  • Efetue fetch e pull do painel de histórico da janela do Repositório Git mesmo quando não houver commits de entrada.
  • Exiba Detalhes do Commit e a comparação de alterações de arquivo inseridas na janela do Repositório Git.
  • Reconecte-se automaticamente ou solicite o estabelecimento da conexão inicial do Azure DevOps ao abrir um repositório Git do Azure DevOps.
  • Mescle e troque base com nomes de branch visíveis, substituindo a terminologia confusa de Origem/Destino.
  • Melhor desempenho e confiabilidade para glifos de controle do código-fonte no Gerenciador de Soluções.
  • Preserve as seções de entrada/saída na janela do repositório Git mesmo quando vazias.
  • Listas suspensas consolidadas de Fetch/Pull/Push para vários repositórios remotos na janela Alterações do Git para um único menu Ação.

Produtividade do .NET

  • Conclusão de argumento em chamadas de método
  • Interface do usuário do EditorConfig
  • Inspecionar visualmente e navegar pela cadeia de herança
  • Conclusão do IntelliSense para conversões, indexadores e operadores
  • Suporte do depurador para Geradores de Origem
  • Suporte à limpeza de código para o Visual Basic
  • Editar e Continuar (EnC) atualizações
  • Remover referências não usadas
  • Linha de Interrupção Inteligente
  • Simplificar a refatoração de expressão LINQ
  • Conclusão do IntelliSense para valores de enumeração
  • Configuração do modo de conclusão do IntelliSense
  • Preferência de estilo de código para novas linhas
  • Suporte a Localizar Todas as Referências para Geradores de Origem

Editor Razor (ASP.NET Core) em Versão Prévia

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

Aprimoramentos de Acessibilidade da Experiência de Teste

  • O Console.Writeline agora é exibido no Gerenciador de Testes
  • A saída de teste agora pode preservar tags para que hiperlinks e links de stacktrace sejam navegáveis até mesmo nos arquivos de log.
  • Os arquivos de log são criados para um único resultado de teste quando a saída tiver mais de 300 caracteres ou se houver mais de 10 arquivos anexados ao resultado do teste.
  • Agora, os arquivos de log também podem ser abertos na pré-visualização para que seja mais fácil gerenciar suas guias.
  • Os arquivos de log e o Gerenciador de Testes dão suporte a Ctrl PgUp/PgDn para navegar com o 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 ele será capaz de abrir arquivos de texto muito grandes. Isso deve eliminar a necessidade de os usuários Copy All logs truncados e abri-los em um editor separado, como o Bloco de Notas. Para 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 computadores direcionados a essas plataformas, agora é possível adicionar os mesmos comandos de coleta de dados de cobertura de código que normalmente seriam usados nas janelas. Confira mais documentação para teste do dotnet.
  • Agora há um botão Expandir tudo ao lado do botão Recolher tudo no Gerenciador de Testes. Esse comando foi disponibilizado por meio de atalhos de teclado (Ctrl+A, Ctrl+direção para a direita), mas mais comentários indicaram que adicionar um botão valia a interface do usuário adicional. Como sempre, obrigado por nos deixar saber o que você pensa através de https://developercommunity.visualstudio.com/.
  • Há também algumas pequenas alterações na forma como o Gerenciador de Testes mostra "desatualização". "Desatualização" são os resultados de teste esmaecidos 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 até mesmo resultados de teste antigos que foram redescobertos) também eram mostradas com ícones sólidos. Isso causava alguma confusão sobre por que alguns testes "Não Executado" eram desbotados e outros não. Essa alteração reduzirá a complexidade da desatualização.
  • Com o recurso de resultados de teste persistente (adicionado na versão 16.2), é possível ver os resultados da última execução de teste, mesmo que você tenha fechado e reaberto o Visual Studio. Isso ajuda os usuários a lembrar de onde pararam e fornece mais contexto sem exigir outra execução de teste. Também modificamos o comportamento dos resultados persistentes para que eles sempre pareçam obsoletos. Isso indica melhor que eles não eram de uma execução de teste executada durante a sessão atual do Visual Studio.

Ferramentas da Web:

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

Árvore de dependências do Projeto de Empacotamento de Aplicativo do Windows

  • Adicionada uma "Árvore de Dependências" ao Projeto WAP

Melhorias de ferramentas XAML

  • Melhoria do IntelliSense de XAML e Recarga Dinâmica de XAML para clientes do Xamarin.Forms
  • Introdução de Dados de Amostra XAML para selecionar ItemsControls no WPF
  • Adicionada nova lâmpada para acesso rápido a propriedades comumente editadas
  • Adicionada uma 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 das novidades do Visual Studio 2019 versão 16.10

Ferramentas do Docker

Janela de Ferramentas de Contêineres

Nesta versão, fizemos adições à janela de ferramentas de Contêineres para facilitar a exibição e a interação com contêineres e imagens. Basta navegar até Exibir > Outras Janelas > Contêineres para experimentar os novos recursos.

  • Os contêineres agora são agrupados pelo projeto do Compose. Isso simplifica a indicação de quais contêineres representam seu aplicativo. Também mostrado, adicionamos uma guia Rótulos em Contêineres para que você possa ver facilmente quais rótulos você está usando durante o desenvolvimento.

Opção de agrupamento e guia de rótulo de contêineres do Compose

  • Também foi adicionada uma guia Rótulos 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 há suporte à capacidade de marcar uma imagem da janela de ferramentas Contêineres. Em Imagens, clique com o botão direito do mouse em uma imagem e selecione Marcar.

Marcando uma imagem

Redigir
  • As ferramentas do Docker Compose no Visual Studio agora fornecem a capacidade de executar qualquer combinação de serviços definidos em seus arquivos do Compose. Abra a lista suspensa Depurar ou clique com o botão direito do mouse no projeto docker-compose e selecione Gerenciar Configurações de Inicialização do Docker Compose para começar.

Gerenciar Configurações de Inicialização do Docker Compose

Produtividade do Git

  • Para começar a facilitar a criação de pull requests enquanto você estiver no Visual Studio, adicionamos itens de menu que são atalhos de links profundos para as páginas da Web que permitem criar uma PR ou exibir uma lista de PRs para seu repositório. O menu é dinâmico dependendo se o repositório está no GitHub ou no Azure DevOps.

Criar um PR e exibir uma lista de PRs na web no menu Git

  • O seletor de branch na barra de status e na janela Alterações do Git agora faz check-out de um branch local ou remoto quando você seleciona o branch uma única vez. Você pode encontrar ações adicionais no menu de contexto.

Clique à esquerda para fazer check-out de um branch e clique com o botão direito do mouse para ações adicionais

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

Remover itens do seletor de repositório por meio do menu de contexto

  • Ao usar o seletor de repositório ou a lista Repositórios Locais do menu Git, a abertura de um repositório não carregará mais a solução automaticamente. Em vez disso, você verá a exibição de pasta e a solução disponíveis em uma lista na qual você pode selecionar. Você pode alterar esse comportamento por meio de Git > Configurações alternando a caixa de seleção.

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

Configurações para alternar a carga de slncronização automática e o check-out do branch.

  • 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 repositórios remotos no menu de estouro. E é possível abrir a página da Web remota do repositório no navegador.

Menu de estouro de Alterações do Git com textos explicativos para Sincronizar, abrir no navegador e ações da barra de ferramentas.

  • Pesquise branches locais e remotos e execute ações comuns de branch a partir do seletor de branch na barra de status.

Seletor de ramificação na barra de status.

  • Pesquise e alterne entre repositórios Git locais no seletor de repositório da barra de status.

Seletor de repositório na barra de status.

  • Correção de 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 em Git > Configurações para gerenciar como abrir e alternar 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.

  • Ao abrir um repositório, você também pode optar por não carregar o diretório raiz dele.

Configuração para abrir a pasta

  • Sincronize (Efetue pull e push) seu branch com o repositório remoto do botão de commits sem push na barra de status e do comando Sincronizar no Menu Git.

Botão Sincronizar na barra de status.

  • Efetue fetch e pull do painel de histórico da janela do Repositório Git mesmo quando não houver commits de entrada. Acesse essas seções na barra de status ou com o atalho de teclado Ctrl+0+Y.

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

  • Selecione um commit na janela Repositório Git para exibir seus detalhes e a comparação de alterações de arquivo sem precisar navegar para outras janelas. Selecione dois commits e clique com o botão direito do mouse para compará-los na mesma janela. Abra os detalhes em sua própria janela para obter visibilidade em tela inteira para aprofundar-se sobre as alterações.

Detalhes de confirmação inseridos e comparação de arquivos na janela do 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 pop-out com textos explicativos para o número de alterações de arquivo e botões de exibição de layout na barra de ferramentas

  • Reconecte-se automaticamente ou solicite o estabelecimento da conexão inicial do Azure DevOps ao abrir um repositório Git do Azure DevOps. Isso permite o acesso a itens de trabalho e builds do 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 mesclagem ou troca de base, o editor de mesclagem e o menu de contexto mostrarão os nomes de branch para os branches Atuais e de Entrada. Isso corrige a terminologia confusa de Origem e Destino.

O menu de contexto ao resolver conflitos exibe os nomes de branch.

O editor de troca de base e mesclagem exibe nomes de branch nos títulos.

Produtividade do .NET

  • Adicionamos um comando Remover Referências Não Utilizadas que permite limpar referências de projeto e pacotes NuGet sem uso. Essa opção está desativada por padrão, portanto, será necessário habilitá-la em Ferramentas>Opções>Editor de Texto>C#>Avançado e selecionar Mostrar comando "Remover Referências Não Utilizadas" no Gerenciador de Soluções (experimental). Depois que a opção estiver habilitada, o comando Remover Referências Não Utilizadas aparecerá no menu de clique com o 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 Usadas

Selecionar Remover Referências Não Utilizadas abrirá uma caixa de diálogo na qual você pode visualizar todas as referências que serão removidas com uma opção de preservar as que você deseja manter:

Diálogo Remover Referências Não Usadas

  • Adicionamos um novo comando chamado Linha de Quebra Inteligente que insere automaticamente um conjunto de chaves e coloca o ponto de inserção dentro dessas chaves ao usar Shift+Enter como um caractere de commit. 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 objeto. O exemplo a seguir 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 em uma propriedade adicionando um conjunto de chaves. Você pode pressionar Shift+Enter novamente para desfazer o commit, que também adicionará automaticamente um ponto e vírgula no final do campo:

Linha de Interrupção Inteligente

  • Agora há uma refatoração para simplificar expressões LINQ que removerá a chamada desnecessária ao Enumerável para o método .Where() para ajudar 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ções. Selecionar Simplificar expressão LINQ.

Simplificar a expressão LINQ

  • Agora há a conclusão do IntelliSense para valores de Enumeração quando um tipo é conhecido mesmo se o nome da Enumeração não for inserido.

Conclusão do IntelliSense para valores de enumeração

  • Adicionamos uma nova configuração de 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 você pode escolher entre as seguintes opções: Última usada, que preservará a última configuração usada com Ctrl+Alt+Espaço, Somente guia, que só será concluída na guia, e Automática, que é atualmente o comportamento padrão que será concluído na 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 Ferramentas>Opções>Editor de Texto>C#>Estilo de Código>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 remove linhas em branco extras

  • Agora há suporte para Localizar Todas as Referências para Geradores de Origem que permite encontrar referências em um documento gerado pela origem.

  • Agora há uma opção de conclusão que insere argumentos automaticamente ao escrever uma chamada de método. Esse recurso está desativado por padrão, portanto, será necessário habilitá-lo em Ferramentas > Opções > 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 com base 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 direção 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 digitar ponto e vírgula, que fará o commit do argumento e adicionará um ponto e vírgula ao final da chamada de método.

Conclusão do argumento de chamada de método

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

Interface do usuário do EditorConfig

  • Agora há uma representação visual para navegar e inspecionar a cadeia de herança. Essa opção está desativada por padrão, portanto, você precisará ativá-la em Ferramentas > Opções > Editor de Texto > C# > Avançado 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 código. Clicar no ícone de margem de herança exibirá as opções de herança que podem ser selecionadas para navegar.

Ícones de Margem de Herança

  • Agora há a conclusão do IntelliSense para conversões, indexadores e operadores.

Conclusão do IntelliSense para conversões, indexadores e operadores

  • Agora há suporte de depurador para Geradores de Origem. Primeiro, será necessário instalar o componente do SDK do .NET Compiler Platform do Instalador do Visual Studio. Em seguida, você precisará adicionar a propriedade <IsRoslynComponent>true</IsRoslynComponent> ao seu arquivo de projeto. Depois, habilite a opção de depurador "Componente Roslyn" na página Depuração de Propriedades do Projeto e selecione o projeto de destino apropriado. Pressione F5 no projeto do gerador que iniciará o CSC.exe/VBC.exe que compila o projeto de destino, permitindo depurar o código do gerador.

Depurador do Gerador de Fonte

Projeto de destino do depurador do Gerador de Fonte

Nessa versão, também adicionamos os seguintes aprimoramentos à experiência de depuração Editar e Continuar (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 gerado pela origem.
  • Agora é possível adicionar e/ou alterar uma diretiva de uso.
  • Melhorias na confiabilidade e menor consumo de memória.

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

Depurador e Diagnóstico

  • Desenvolvemos vários analisadores para ajudar a detectar problemas comuns em despejos de memória gerenciados. Agora, essa análise pode ser executada em despejos gerenciados de núcleo do Linux.

Analisar automaticamente despejos de memória

Agradecemos sua participação

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 .NET Productivity). Roslyn):

Editor Razor (ASP.NET Core) em Versão Prévia

O novo editor Razor em versão prévia agora dá suporte aos seguintes recursos de edição Razor:

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

Filtros do IntelliSense Razor

  • Conclusão do IntelliSense para substituições em C#.
  • Suporte a Ir para Definição para componentes genéricos.
  • Novas opções de configuração de estilo de código para guias versus 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) > Guias.
  • O editor de texto Razor em Opções de Ferramentas foi renomeado de Serviços de Linguagem ASP.NET Core Razor para Razor (ASP.NET Core).

Para habilitar o novo editor Razor em versão prévia, acesse Ferramentas > Opções > Ambiente > Versões Prévias de Recursos, selecione Habilitar o editor Razor experimental e reinicie o Visual Studio.

Aprimoramentos de acessibilidade da experiência de teste

  • O Console.Writeline agora é exibido no Gerenciador de Testes! A saída longa aparece como uma seção recolhível no painel de resumo de detalhes do teste. A saída em um determinado comprimento exibe as primeiras várias 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 mostrará apenas os primeiros e últimos 10 quadros. Uma parte importante do design de truncamento também se concentrava na redução de congelamentos do VS quando as execuções de teste tinham uma saída grande. Os testes que têm uma saída grande não bloquearão mais o thread da interface do usuário.

A saída do teste inclui Console.Writeline

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

A saída de teste preserva hiperlinks e rastreamentos de pilha

Os logs de teste também preservam hiperlinks e rastreamentos de pilha

  • Os arquivos de log são criados para um único resultado de teste quando a saída tiver mais de 300 caracteres ou se houver mais de 10 arquivos anexados ao resultado do teste. Agora, os arquivos de log também podem ser abertos na pré-visualização para que seja mais fácil gerenciar suas guias. Os arquivos de log e o Gerenciador de Testes dão suporte a Ctrl PgUp/PgDn para navegar com o 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 ele será capaz de abrir arquivos de texto muito grandes. Isso deve eliminar a necessidade de os usuários Copy All logs truncados e abri-los em um editor separado, como o Bloco de Notas. Para 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 computadores direcionados a essas plataformas, agora é possível adicionar os mesmos comandos de coleta de dados de cobertura de código que normalmente seriam usados nas janelas. Confira mais documentação para teste do dotnet.
  • Agora há um botão Expandir tudo ao lado do botão Recolher tudo no Gerenciador de Testes. Esse comando foi disponibilizado por meio de atalhos de teclado (Ctrl+A, Ctrl+direção para a direita), mas mais comentários indicaram que adicionar um botão valia a interface do usuário adicional. Como sempre, obrigado por nos deixar saber o que você pensa através de https://developercommunity.visualstudio.com/.
  • Há também algumas pequenas alterações na forma como o Gerenciador de Testes mostra "desatualização". "Desatualização" são os resultados de teste esmaecidos 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 até mesmo resultados de teste antigos que foram redescobertos) também eram mostradas com ícones sólidos. Isso causava alguma confusão sobre por que alguns testes "Não Executado" eram desbotados e outros não. Essa alteração reduzirá a complexidade da desatualização.
  • Com o recurso de resultados de teste persistente (adicionado na versão 16.2), é possível ver os resultados da última execução de teste, mesmo que você tenha fechado e reaberto o Visual Studio. Isso ajuda os usuários a lembrar de onde pararam e fornece mais contexto sem exigir outra execução de teste. Também modificamos o comportamento dos resultados persistentes para que eles sempre pareçam obsoletos. Isso indica melhor que eles não eram de uma execução de teste executada durante a sessão atual do Visual Studio.

Os resultados do teste persistente da última sessão do Visual Studio aparecem desbotados

Ferramentas da Web

A Configuração dinâmica permite que os recursos de configuração sejam atualizados automaticamente usando um middleware. A Configuração de Aplicativos 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 de Aplicativos do Azure como uma Dependência do Serviço.

"Árvore de Dependências" do Projeto de Empacotamento de Aplicativo do Windows

  • Acompanhando o trabalho do ano passado para habilitar referências de pacote NuGet no WAP (Projeto de Empacotamento de Aplicativo do Windows), 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 adicionar pacotes NuGet por meio da interface do usuário.

Interface do usuário antiga do Projeto de Empacotamento de Aplicativo 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 do usuário do Projeto de Empacotamento de Aplicativo do Windows.

Aprimoramentos de ferramentas XAML (WPF e Xamarin.Forms)

Xamarin.Forms

Nessa versão, fizemos duas pequenas melhorias no IntelliSense de XAML e na Recarga Dinâmica de XAML para clientes do Xamarin.Forms. A Recarga Dinâmica "somente alteração" não relatará mais erros falsos para:

  • Setters no VisualStateManager referenciando propriedades sem especificar o tipo, por exemplo, <Setter Property="BackgroundColor" Value="Red">.
  • ResourceDictionaries mesclados nã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

Nessa versão, aprimoramos ainda mais a capacidade de dados em tempo de design do Designer XAML introduzindo uma nova maneira de adicionar dados de amostra genéricos a seus ItemsControls. Esse recurso funciona apenas para ListBox, ListView e DataGrid no WPF.

  • Dados de Amostra podem ser habilitados definindo d:ItemSource='{d:SampleData}' em seu ListBox, ListView ou DataGrid
  • Isso preencherá seu controle no designer apenas com um conjunto de cinco itens que correspondem aos seus DataTemplates e Caminhos de Associação
  • Você pode alterar quantos itens são gerados usando a propriedade ItemCount, 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 controles com suporte incluem:

    • UWP: Border, Button, Canvas, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock e TextBox
    • WPF: Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock e TextBox
  • Esse recurso está disponível para UWP, WPF .NET Core e WPF .NET Framework (com a versão prévia do recurso "Novo Designer XAML do WPF para .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

Nessa 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 detectamos que uma estrutura MVVM está sendo usada no projeto. A caixa de diálogo permite a personalização do namespace, da pasta e do modelo de exibição base herdado gerados.

Criar experiência de lâmpada de modelo de exibiçã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 associados em modelos de exibição.

Ferramentas do Service Fabric

Esse recurso introduz um arquivo StartupServices.xml em um design de Aplicativo do Service Fabric. Esse arquivo hospeda a seção DefaultServices do ApplicationManifest.xml. Com essa implementação, os parâmetros de relacionados à definição do Serviço e do DefaultServices são movidos do ApplicationManifest.xml existente para esse novo arquivo chamado StartupServices.xml. Esse arquivo é usado em cada funcionalidade (Compilar/Recompilar/F5/Ctrl+F5/Publicar) no Visual Studio.

Principais problemas corrigidos nesta versão

  • Correção de um problema em que os desenvolvedores de C# que invocavam o comando Edit.SmartBreakline removiam todo o conteúdo no acessador da Propriedade.
  • Correção de um problema em que os desenvolvedores que atualizavam uma configuração de codestyle tinham a alteração aplicada em todas as instâncias do Visual Studio em vez de apenas na pasta desejada.
  • O ícone "Aplicar Alterações de Código" era exibido sempre que um projeto natvie ou mesclado era aberto. Ele só será habilitado quando um desenvolvedor iniciar a depuração.
  • Corrige a alteração interruptiva no AudioUnitPropertyIDType
  • Correção de um problema em que os desenvolvedores que usavam a estrutura de teste de unidade UWP não conseguiam executar testes em dispositivos remotos.

Da Developer Community

A Developer Community tem uma lista completa de todos os itens incluídos nessa versão.

Aqui estão alguns dos principais problemas lançados na 16.10:


Problemas conhecidos

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

Comentários e sugestões

Adoraríamos ouvir o que você tem para nos dizer! Em caso de problemas, informe-nos por meio da opção Relatar um Problema no canto superior direito do Instalador ou do próprio IDE do Visual Studio. O ícone Ícone de Comentários está localizado no canto superior direito. Você pode fazer uma sugestão de produto ou acompanhar os problemas na Comunidade de Desenvolvedores do Visual Studio, em que você pode fazer perguntas, encontrar respostas e propor novos recursos. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.


Blogs

Aproveite as informações e recomendações disponíveis no site Blogs de Ferramentas de Desenvolvedor para ficar em dia com as novas versões e conferir postagens detalhadas sobre uma grande variedade de recursos.


Histórico de notas sobre a versão do Visual Studio 2019

Para obter mais informações sobre versões anteriores do Visual Studio 2019, consulte a página Histórico de notas sobre a versão do Visual Studio 2019.


Início da página