Visual Studio Icon Notas sobre a versão do Visual Studio 2019Visual Studio 2019 Release Notes


| Comunidade de Desenvolvedores | Requisitos de Sistema | Compatibilidade | Código Distribuível | Termos de Licença | Blogs | Problemas Conhecidos || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Clique no botão para baixar a versão mais recente do Visual Studio 2019.Click a button to download the latest version of Visual Studio 2019. Para conferir instruções sobre a instalação e a atualização do Visual Studio 2019, consulte Atualizar o Visual Studio 2019 para a versão mais recente.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Além disso, consulte as instruções em como instalar offline.Also, see instructions on how to install offline.


Novidades no Visual Studio 2019What's New in Visual Studio 2019

Versões do Visual Studio 2019Visual Studio 2019 Releases

Blog do Visual Studio 2019Visual Studio 2019 Blog

O Blog do Visual Studio 2019 é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. É possível encontrar informações detalhadas sobre as versões do Visual Studio 2019 nas seguintes postagens:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 versão 16.1.6Visual Studio 2019 version 16.1.6 New release icon

lançado em 9 de julho de 2019released July 9, 2019

Resumo dos problemas resolvidos no Visual Studio 2019 versão 16.1.6Summary of issues addressed in Visual Studio 2019 version 16.1.6

Avisos de Consultoria de SegurançaSecurity Advisory Notices

CVE-2019-1077 Vulnerabilidade da Atualização Automática da Extensão do Visual StudioCVE-2019-1077 Visual Studio Extension Auto Update Vulnerability

Há uma vulnerabilidade de elevação de privilégio quando o processo de atualização automática da Extensão do Visual Studio executa incorretamente determinadas operações de arquivo.An elevation of privilege vulnerability exists when the Visual Studio Extension auto-update process improperly performs certain file operations. Um invasor que explorar com êxito essa vulnerabilidade poderá excluir esses arquivos em localizações arbitrárias.An attacker who successfully exploited this vulnerability could delete files in arbitrary locations. Para explorar essa vulnerabilidade, um invasor precisaria de acesso sem privilégios a um sistema vulnerável.To exploit this vulnerability, an attacker would require unprivileged access to a vulnerable system. A atualização de segurança corrige a vulnerabilidade protegendo as localizações nas quais a atualização automática da Extensão do Visual Studio executa as operações de arquivo.The security update addresses the vulnerability by securing locations the Visual Studio Extension auto-update performs file operations in.

CVE-2019-1075 Vulnerabilidade de Falsificação do ASP.NET CoreCVE-2019-1075 ASP.NET Core Spoofing Vulnerability

Há uma vulnerabilidade de falsificação no ASP.NET Core que pode gerar um redirecionamento aberto.A spoofing vulnerability exists in ASP.NET Core that could lead to an open redirect. Se um invasor explorasse a vulnerabilidade, poderia redirecionar um usuário de destino para um site mal-intencionado.An attacker who successfully exploited the vulnerability could redirect a targeted user to a malicious website. Para explorar a vulnerabilidade, o invasor poderia enviar um link de uma URL criada especialmente para isso e convencer o usuário a clicar nele.To exploit the vulnerability, an attacker could send a link that has a specially crafted URL and convince the user to click the link.

A atualização de segurança resolve a vulnerabilidade corrigindo o modo como o ASP.NET Core analisa as URLs.The security update addresses the vulnerability by correcting how ASP.NET Core parses URLs. Veja mais detalhes nas notas sobre a versão do .NET Core.Details can be found in the .NET Core release notes.

CVE-2019-1113 A desserialização de XOML do WorkflowDesigner permite a execução de códigoCVE-2019-1113 WorkflowDesigner XOML deserialization allows code execution

Um arquivo XOML referenciando determinados tipos poderia fazer com que o código aleatório fosse executado quando o arquivo XOML fosse aberto no Visual Studio.A XOML file referencing certain types could cause random code to be executed when the XOML file is opened in Visual Studio. Agora há uma restrição para quais tipos têm permissão para serem usados em arquivos XOML.There is now a restriction on what types are allowed to be used in XOML files. Se um arquivo XOML contendo um dos tipos recentemente não autorizados for aberto, será exibida uma mensagem explicando que o tipo é não autorizado.If a XOML file containing one of the newly unauthorized types is opened, a message is displayed explaining that the type is unauthorized.

Saiba mais em https://support.microsoft.com/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.For further information, please refer to https://support.microsoft.com/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019 versão 16.1.5Visual Studio 2019 version 16.1.5

lançado em 2 de julho de 2019released July 2, 2019

Resumo dos problemas resolvidos no Visual Studio 2019 versão 16.1.5Summary of issues addressed in Visual Studio 2019 version 16.1.5


Release Notes Icon Visual Studio 2019 versão 16.1.4Visual Studio 2019 version 16.1.4

lançado em 25 de junho de 2019released June 25, 2019

Resumo dos problemas corrigidos no Visual Studio 2019 versão 16.1.4Summary of issues addressed in Visual Studio 2019 version 16.1.4


Release Notes Icon Visual Studio 2019 versão 16.1.3Visual Studio 2019 version 16.1.3

lançado em 11 de junho de 2019released June 11, 2019

Resumo dos problemas corrigidos no Visual Studio 2019 versão 16.1.3Summary of issues addressed in Visual Studio 2019 version 16.1.3


Release Notes Icon Visual Studio 2019 versão 16.1.2Visual Studio 2019 version 16.1.2

lançado em 4 de junho de 2019released June 4, 2019

Resumo dos problemas corrigidos no Visual Studio 2019 versão 16.1.2Summary of issues addressed in Visual Studio 2019 version 16.1.2


Release Notes Icon Visual Studio 2019 versão 16.1.1Visual Studio 2019 version 16.1.1

lançada em 24 de maio de 2019released May 24, 2019

Resumo dos problemas corrigidos no Visual Studio 2019 versão 16.1.1Summary of Issues addressed in Visual Studio 2019 version 16.1.1


Release Notes Icon Visual Studio 2019 versão 16.1Visual Studio 2019 version 16.1

lançada em 21 de maio de 2019released May 21, 2019

Resumo das novidades no Visual Studio 2019 versão 16.1Summary of What's New in Visual Studio 2019 version 16.1

IDEIDE

  • O Visual Studio IntelliCode está disponível e vem instalado com qualquer carga de trabalho compatível com C#, C++, Typescript/JavaScript ou XAML.Visual Studio IntelliCode is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • Adicionamos suporte a reconhecimento por monitor.Added Per-Monitor Awareness support.
  • Novas correções de código estão disponíveis para C#.New codefixes are available for C#.
  • Itens usados mais recentemente foram adicionados à Pesquisa do Visual Studio.Most Recently Used has been added to Visual Studio Search.

DepuradorDebugger

  • As melhorias de autenticação do Link de origem foram implementadas.Source Link authentication improvements have been implemented.
  • Adicionamos servidor de símbolos nuget.org à lista de servidores de símbolos padrão.Added nuget.org symbol server to the list of default symbol servers.
  • A versão prévia de Depuração de Viagem no Tempo agora inclui suporte à depuração passo a passo de exceção.Time Travel Debugging preview now includes exception stepping support.

ExtensibilidadeExtensibility

  • Removemos a necessidade de arquivo .resx em projetos do VSIX (atualização de BuildTools).Removed the need for .resx file in VSIX projects (BuildTools update).
  • Agora o modelo de projeto do VSIX usa a nova versão do SDK.VSIX Project template now uses the new SDK version.

DesempenhoPerformance

  • Experiência de otimização do usuário para aprimorar o tempo de carregamento da solução de soluções muito grandes.User optimization experience to improve the solution load time of very large solutions.
  • Autores de modelo podem adicionar marcas personalizadas a seus modelos.Template authors can add custom tags to their templates.
  • Suporte do CodeLens para interface do usuário personalizada.CodeLens support for custom UI.
  • Fornecemos atualizações para a implementação do Language Server Protocol.Provided updates to Language Server Protocol implementation.
  • Comportamento atualizado para alternar entre as soluções, pastas e outras exibições.Updated behavior for switching between solutions, folders, and other views.

C++C++

F#F#

.NET.NET

  • Novos recursos de produtividade do .NET incluem a limpeza de código com um clique em projetos e soluções, um novo atalho de teclado para alternância de comentário de bloco, refatoração para mover os tipos para outros namespaces.New .NET productivity features include one-click code cleanup on projects and solutions, a new toggle block comment keyboard shortcut, refactoring to move types to other namespaces.
  • Agora os usuários podem clonar o código de um URI SSH por meio da tela de clone na janela inicial.Users can now clone code from an SSH URI through the clone screen in the start window.
  • As adições ao .NET Productivity contam com o preenchimento do IntelliSense para tipos não importados, opção de ativar/desativar a inserção e remoção de marca de comentário de linha única, exportação de estilos de nomenclatura para o editorconfig e uma nova configuração de estilo de código para preferência de usos dentro/fora de namespaces.Additions to .NET Productivity include intellisense completion for unimported types, toggling single-line comment/uncomment, exporting naming styles to editorconfig, and a new code style setting for preferring usings inside/outside namspaces.
  • Adições de ferramentas do .NET SDK implementadas para dar suporte a projetos com WinForms e WPF para .NET Core 3.0, além de correções de bugs e melhorias de desempenho.Implemented .NET SDK tooling additions around supporting WinForms and WPF projects for .NET Core 3.0 along with bug fixes and performance improvements.
  • SDK do Visual Studio v16.0 lançado para o NuGet.Visual Studio SDK v16.0 released to NuGet.
  • Uma versão prévia do Designer XAML foi lançada para desenvolvimento com .NET Core 3.0 WPF.Released a preview of the XAML Designer for .NET Core 3.0 WPF development.

XamarinXamarin

Principais problemas corrigidos no Visual Studio 2019 versão 16.1Top Issues Fixed in Visual Studio 2019 version 16.1

Detalhes das novidades no Visual Studio 2019 versão 16.1Details of What's New in Visual Studio 2019 version 16.1

  • O IntelliCode agora está disponível e vem instalado com qualquer carga de trabalho compatível com C#, C++, Typescript/JavaScript ou XAML.IntelliCode is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • A versão prévia de recursos do IntelliCode (Modelos personalizados, suporte para C++/TS/JS e inferência do Editorconfig) está desativada por padrão.Preview IntelliCode features - Custom Models, C++/TS/JS support, and Editorconfig inference - are disabled by default. Para ativar, acesse Ferramentas > Opções > IntelliCode.To enable them, go to Tools > Options > IntelliCode.
  • O modelo do Editorconfig (IntelliCode) foi removido do Assistente de Novo Item.Removed the Editorconfig (IntelliCode) template from the New Item Wizard. Para criar um EditorConfig inferido, clique com o botão direito do mouse no local desejado no Gerenciador de Soluções e escolha Adicionar > Novo EditorConfig (IntelliCode) .To create an inferred Editorconfig, right-click on the desired location in Solution Explorer and choose Add > New EditorConfig (IntelliCode).
  • Use a janela inicial para clonar o código de um repositório online por meio do SSH.Use the start window to clone code from an online repository through SSH.
Clone with SSH on start window
Clonar com SSH na janela inicialClone with SSH on start window
  • O Visual Studio IntelliCode é instalado por padrão ao instalar qualquer carga de trabalho compatível com C#, XAML ou C++.Visual Studio IntelliCode is installed by default when you install a workload that supports C#, XAML, or C++.
    • Modelos de base C# e XAML serão ativados por padrão.C# and XAML base models will be on by default.
    • Versões prévias dos recursos, como treinamento de modelo personalizado e preenchimento de argumento, podem ser habilitados por meio Ferramentas > Opções > IntelliCode.Preview features, such as custom model training and argument completion, can be enabled via Tools > Options > IntelliCode.
  • Adicionado suporte a reconhecimento por monitorAdded Per-Monitor Awareness support
  • Novas correções de código disponíveis para C#.New codefixes available for C#.
  • Adicionado suporte a reconhecimento por monitor para a janela PropertyBrowser do Visual Studio baseada em WinForms.Added Per-Monitor Awareness support for WinForms based PropertyBrowser window of Visual Studio. Requer a versão RTM 4.8 do .NET Framework instalada no computador.Requires .NET Framework 4.8 RTM version installed on the machine.
  • O Link de Origem agora pode usar a autenticação do Windows para dar suporte ao controle do código-fonte do TFS local.Source Link can now use Windows Authentication to support on-premises TFS Source Control.
  • Servidor de símbolos nuget.org adicionado à lista de servidores de símbolos padrãoAdded nuget.org symbol server to the list of default symbol servers

ProjetoProject

  • O botão para mudar o modo de exibição do Gerenciador de Soluções agora mostrará consistentemente um menu suspenso de todos os modos de exibição possíveis.The button for switching the Solution Explorer view will now consistently shows a dropdown menu of all possible views.
Solution switching
Alternância de modo de exibição da soluçãoSolution view switching
  • Tempo de carregamento aprimorado para soluções muito grandes.Improved the loading time for very large solutions. A melhoria varia de acordo com o tamanho das soluções.The improvement varies based on the size of the solutions.

  • Removida a caixa de diálogo Converter, localizada em Arquivo > Converter.Removed the Convert dialog under File > Convert. Esse recurso foi preterido anteriormente no Visual Studio 2015.This feature was previously deprecated in Visual Studio 2015.

  • Atualizadas as regras de validação para os esquemas task.vs.json e launch.vs.json. Adicionadas descrições para as propriedades.Updated the validation rules for the task.vs.json and launch.vs.json schemas, and added descriptions for the properties.

  • Adicionado suporte para depuração remota do Linux usando um programa personalizado por meio de launch.vs.json.Added support for Linux remote debugging using a custom program via launch.vs.json.

ExtensibilidadeExtensibility

  • Agora os usuários podem usar a versão mais recente do Microsoft.VisualStudio.SDK para direcionar suas extensões ao Visual Studio 2019.Users can now use the latest version of the Microsoft.VisualStudio.SDK to target Visual Studio 2019 in your extensions. Lembre-se de usar esta versão do SDK somente se a versão mais antiga compatível do Visual Studio for a 16.0.Remember to only use this version of the SDK if the lowest supported version of Visual Studio is 16.0.
  • A criação de novos projetos VSIX agora contém a versão 16.0 do pacote do NuGet Microsoft.VisualStudio.SDK.Creating new VSIX projects will now contain the 16.0 version of the the Microsoft.VisualStudio.SDK NuGet package.
  • Agora os usuários podem adicionar marcas aos seus modelos de projeto para habilitar a categorização e filtragem na caixa de diálogo Novo Projeto do Visual Studio 2019.Users can now add tags to your project templates to enable categorization and filtering in the Visual Studio 2019 New Project Dialog. Os usuários também podem escolher entre as marcas internas ou suas próprias marcas personalizadas de linguagem, plataforma e tipo de projeto.Users can also choose from the built-in tags or their own custom language, platform, and project type tags.
Template tagging
Marcação de modeloTemplate tagging
  • Extensões de CodeLens agora podem exibir o conteúdo de interface do usuário arbitrário em seu pop-up de detalhes do CodeLens.CodeLens extensions can now display arbitrary UI content in their CodeLens details popup.

  • Language Server Protocol atualizado com:Updated Language Server Protocol with:

    • Suporte para buffers projetados para habilitar o LSP para comparação em linha e arquivos do Razor em LiveShare.Support for projected buffers to enable LSP for inline diff, and Razor files in LiveShare.
    • Suporte para diagnóstico desnecessário.Support for unnecessary diagnostics.
    • Suporte para textDocument/typeDefinition.Support for textDocument/typeDefinition.
    • Suporte para textDocument/foldingRange (estrutura de tópicos).Support for textDocument/foldingRange (outlining).
  • Removida a necessidade de arquivo .resx em projetos do VSIX (atualização de BuildTools)Removed the need for .resx file in VSIX projects (BuildTools update)

  • O pacote do NuGet Microsoft.VSSDK.BuildTools agora fornecerá um arquivo .resx vazio como parte do build se nenhum .resx com a propriedade MergeWithCTO existir.The Microsoft.VSSDK.BuildTools NuGet package will now provide an empty .resx file as part of the build if no .resx with MergeWithCTO property exist. A maioria das extensões não usa nem precisa de um arquivo .resx para mesclar, portanto, isso manterá o projeto mais limpo.Most extensions don't use or need a .resx file to merge, so this will keep the project cleaner.

  • As alterações de reconhecimento por monitor podem afetar algumas extensões.Per-monitor awareness changes might affect some extensions. Saiba mais sobre o suporte dos Extensores do Visual Studio a reconhecimento por monitor.Learn more about Per-Monitor Awareness support for Visual Studio extenders.

EditorEditor

  • A Pesquisa do Visual Studio agora exibirá com destaque as três ações usadas mais recentemente invocadas por meio da Pesquisa do Visual Studio, conforme mostrado no modelo de exemplo.Visual Studio Search will now display on focus the three most recently used actions invoked through Visual Studio Search, as shown in this sample mockup. (Observação: ícones e itens de linha específicos não foram totalmente atualizados nesse modelo.)
    (Note: icons and specific line items have not been fully updated in this mock-up.)
    Visual Studio Search
    Modelo da Pesquisa do Visual StudioMock-up of Visual Studio Search

C++C++

  • Use a instalação local do WSL (Subsistema do Windows para Linux) com C++ nativamente no Visual Studio sem configuração adicional ou conexão SSH.Use local Windows Subsystem for Linux (WSL) installation with C++ natively in Visual Studio without additional configuration or SSH connection.
Windows Subsystem for Linux
Subsistema do Windows para LinuxWindows Subsystem for Linux
  • O AddressSanitizer agora está integrado ao Visual Studio para projetos do Linux e WSL.AddressSanitizer is now integrated into Visual Studio for Linux projects and WSL.
ASan integration
Integração a ASanASan integration
  • Agora os usuários podem separar computadores de build remoto de computadores de depuração remota ao direcionar para Linux, em projetos do MSBuild e do CMake.Users can now separate remote build machines from remote debug machines when targeting Linux in both MSBuild and CMake projects.
  • As dicas de ferramenta Informações Rápidas agora contêm um link para pesquisar documentos online para saber mais sobre a construção do código.Quick Info tooltips now contain a link to search for online docs to learn more about the code construct. No caso do código sublinhado em vermelho, o link em Informações Rápidas procurará o erro online.In the case of red-squiggled code, the link in Quick Info will search for the error online.
  • O código nas dicas de ferramenta Informações Rápidas agora é colorido para refletir sua colorização no editor.Code within Quick Info tooltips is now colorized to reflect its colorization in the editor.
Colorized code in Quick Info tooltips
Código coloridos em dicas de ferramenta Informações RápidasColorized code in Quick Info tooltips
  • Correções rápidas automáticas para os avisos de Análise de código C6001: o uso de <variável> de memória não inicializada e C26494 VAR_USE_BEFORE_INIT está disponível no menu de lâmpada em linhas relevantes, ativado por padrão no conjunto de regras nativas mínimas da Microsoft e nos conjuntos de regras de Tipo da Verificação Principal do C++, respectivamente.Automatic quick fixes for the Code Analysis warnings C6001: using uninitialized memory <variable> and C26494 VAR_USE_BEFORE_INIT are available via the lightbulb menu on relevant lines, enabled by default in the Microsoft Native Minimum ruleset and C++ Core Check Type rulesets, respectively.
New Code Analysis quick fixes
Novas correções rápidas de Análise de códigoNew Code Analysis quick fixes
  • Armazena em cache os aperfeiçoamentos no Editor de Configurações do CMake, incluindo suporte para o WSL (Subsistema do Windows para Linux) e configurações de caches existentes, alterações ao build padrão e raízes de instalação, bem como suporte a variáveis de ambiente em configurações do Linux CMake.Improvements to the CMake Settings Editor, including support for Windows Subsystem for Linux (WSL) and configurations from existing caches, changes to the default build and install roots, and support for environment variables in Linux CMake configurations.
Improvements to the CMake Settings Editor
Melhorias no Editor de Configurações do CMakeImprovements to the CMake Settings Editor
  • O registro aprimorado para conexões remotas torna mais fácil diagnosticar problemas com o desenvolvimento multiplataforma.Improved logging for remote connections makes it easier to diagnose issues with cross-platform development.
Improved logging for remote connections
Registro aprimorado para conexões remotasImproved logging for remote connections
  • Agora você pode separar seu computador de build remoto de seu computador para depuração remota ao direcionar para Linux (específico para projetos do MSBuild, disponível em breve para CMake).You can now separate your remote build machine from your remote debug machine when targeting Linux (specific to MSBuild projects, coming soon for CMake).
  • A Barra de Modelo pode preencher o menu suspenso com base em instanciações desse modelo em sua base de código.The Template Bar can populate the dropdown menu based on instantiations of that template in your codebase.
New Template Bar dropdown menu
Novo menu suspenso Barra de ModeloNew Template Bar dropdown menu
  • O C++ IntelliCode agora é fornecido na caixa e pode ser habilitado em Ferramentas > Opções > IntelliCode > Geral.C++ IntelliCode now ships in-box and can be enabled under Tools > Options > IntelliCode > General. Esta versão do IntelliCode tem precisão melhorada e inclui suporte para funções gratuitas.This version of IntelliCode has improved accuracy and includes support for free-functions.
  • A integração do CMake agora é compatível com a cadeia de ferramentas de Clang/LLVM para projetos direcionados ao Windows e/ou ao Linux.CMake integration now supports the Clang/LLVM toolchain for projects targeting Windows and/or Linux. Agora você pode criar, editar e depurar projetos do CMake que usam Clang, MSVC ou GCC.You can now build, edit, and debug CMake projects that use either Clang, MSVC, or GCC.
CMake integration supports the Clang/LLVM toolchain
A integração do CMake é compatível com a cadeia de ferramentas de Clang/LLVMCMake integration supports the Clang/LLVM toolchain
  • Lâmpadas para #includes ausentes que podem ser instaladas por vcpkg e preenchimento automático de pacotes disponíveis para a diretiva find_package do CMake.Lightbulbs for missing #includes that can be installed by vcpkg, and autocompletion of available packages for the CMake find_package directive.
Autocompletion of available packages
Preenchimento automático de pacotes disponíveisAutocompletion of available packages
  • Atualizada a versão do CMake fornecida com o Visual Studio para 3.14.Updated the CMake version that ships with Visual Studio to 3.14. Esta versão adiciona suporte interno para geradores de MSBuild direcionados a projetos do Visual Studio 2019, bem como APIs de integração de IDE baseado em arquivo.This version adds built-in support for MSBuild generators targeting Visual Studio 2019 projects as well as file-based IDE integration APIs.

  • As Páginas de Propriedades Gerais de projetos C++ foram revisadas, dividindo algumas opções sob uma nova página Avançado.The General Property Pages for C++ projects has been revised, splitting out some options under a new Advanced page. A página Avançado também inclui as propriedades adicionais de arquitetura preferencial do conjunto de ferramentas, bibliotecas de depuração, a versão secundária do conjunto de ferramentas MSVC e builds do Unity (jumbo).The Advanced page also includes additional properties for preferred toolset architecture, debug libraries, the MSVC toolset minor version, and Unity (jumbo) builds.

  • As seguintes versões prévias de recursos do C++20 foram adicionados à nossa implementação da Biblioteca Padrão C++, disponível em /std:c++latest:The following C++20 preview features have been added to our implementation of the C++ Standard Library, available under /std:c++latest:

    • starts_with() e ends_with() para basic_string/basic_string_view.starts_with() and ends_with() for basic_string/basic_string_view.
    • contains() para contêineres associativos.contains() for associative containers.
    • remove(), remove_if(), e unique() para list e forward_list agora retornam size_type.remove(), remove_if(), and unique() for list and forward_list now return size_type.
    • shift_left() e shift_right() adicionados a <algorithm>.shift_left() and shift_right() added to <algorithm>.
  • As seguintes versões prévias dos recursos C++20 foram implementadas no compilador C++, disponível em /std:c++latest:The following C++20 preview features have been implemented in the C++ compiler, available under /std:c++latest:

    • Maior capacidade de localizar os modelos de função por meio de pesquisa dependente de argumento para expressões de chamada de função com argumentos de modelo explícitos (P0846R0).Increased ability to find function templates via argument-dependent lookup for function call expressions with explicit template arguments (P0846R0).
    • Inicialização atribuída (P0329R4), que permite que os membros específicos sejam selecionados na inicialização de agregação, por exemplo, usando a sintaxe Type t { .member = expr }.Designated initialization (P0329R4), which allows specific members to be selected in aggregate initialization, e.g. using the Type t { .member = expr } syntax.
  • O suporte a lambda foi revisado, resolvendo um grande número de bugs de longa data.Lambda support has been overhauled, addressing a large number of long-standing bugs. Essa alteração é habilitada por padrão ao usar /std:c++latest.This change is enabled by default when using /std:c++latest. Em outros modos de linguagem /std:c++* e no modo padrão, o novo analisador pode ser habilitado por /experimental:newLambdaProcessor, por exemplo, /std:c++17 /experimental:newLambdaProcessor.In other /std:c++* language modes and under the default mode, the new parser can be enabled via /experimental:newLambdaProcessor, e.g. /std:c++17 /experimental:newLambdaProcessor.

  • Documentação do CMake inclusa no editorIn-editor documentation for CMake

  • Os preenchimentos e informações rápidas para comandos internos CMake, variáveis e propriedades facilitam a edição dos arquivos CMakeLists.txt.Completions and quick info for built-in CMake commands, variables, and properties make it easier to edit your CMakeLists.txt files.

Tooltip info for add_subdirectory CMake command
Informações de dica de ferramenta para o comando CMake add_subdirectoryTooltip info for add_subdirectory CMake command

F# e ferramentas do F#F# and F# tools

Esta é uma versão relativamente secundária para a linguagem e as ferramentas de F#, mas contém algumas vantagens.This is a relatively minor release for the F# language and tools, but it's not without some goodies! Assim como na atualização do VS 16.0, esta versão também se concentrou no desempenho das ferramentas de edição.As with the VS 16.0 update, this release also focused on performance of editor tooling.

Compilador F# e F# interativoF# compiler and F# interactive
  • Adicionamos suporte a P/Invoke ao F# interativo no .NET Core (N.º 6544)Added P/Invoke support to F# interactive on .NET Core (#6544)
  • Adicionamos uma otimização do compilador para Span<'T> quando usado em um loop de for (N.º 6195)Added a compiler optimization for Span<'T> when used in a for loop (#6195)
  • Adicionamos uma otimização para evitar alocações Some incorretas para opções de F# em vários cenários (N.º 6532)Added an optimization to avoid an extraneous Some allocations for F# options in various scenarios (#6532)
  • Alteramos a ordem de execução das expressões usadas na instanciação de registros anônimos para serem de cima para baixo, ao invés de alfabéticas, a fim de corresponder à experiência atual com registros normais (N.º 6487)Changed the execution order of expressions used in the instantiation of Anonymous Records to be top-to-bottom, rather than alphabetical, to match the current experience with normal Records (#6487)
  • Solucionado um bug em que expressões literais muito grandes ou declarações de sctruct muito grandes podiam fazer com que o compilador acumulasse um excedente de pilha na compilação (N.º 6258)A bug where very large literal expressions or very large struct declarations could cause the compiler to stack overflow on build has been resolved (#6258)
  • Corrigido um bug em que pontos de interrupção não eram mais acionados na depuração de uma função com registros anônimos (N.º 6512)A bug where breakpoints would no longer trigger when debugging a function with an Anonymous Records has been fixed (#6512)
  • Corrigido um bug em que registros anônimos passados para constructos que esperavam que um parâmetro obj causavam uma falha no compilador (N.º 6434)A bug where Anonymous Records passed to constructs expecting an obj parameter caused a compiler crash has been fixed (#6434)
  • Corrigido um bug em que loops de for var expr1 to expr2 do ... podiam resultar em uma sintaxe estranhamente válida (e descartada) (N.º 6586)A bug where for var expr1 to expr2 do ... loops could result in bizarrely valid (and discarded) syntax has been fixed (#6586)
  • Corrigido um bug em que registros anônimos não podiam ser usados corretamente com eventos (N.º 6572)A bug where Anonymous Records could not be used properly with events has been fixed (#6572)
  • Solucionado um bug antigo em que analisadores extremamente grandes eram gerados em FsLexYacc (mais de 100 milhões de linhas, N.º 5967)A longstanding bug where extremely large generated parsers in FsLexYacc (over 100 million lines) has been resolved (#5967
  • Solucionado um problema antigo no componente de plug-in Provedor de Tipos do compilador que poderia deixar a porta aberta para uma perda de memória causada por um provedor de tipos (N.º 6409)A longstanding issue in the Type Provider plugin component of the compiler that could leave the door open for a memory leak caused by a type provider has been resolved (#6409)
  • Adicionado suporte para --pathmap ao compilador F# por Saul Rennison, que resolve um problema em que o executável resultante de uma compilação incluiria caminhos absolutos para arquivos de origem no recurso de arquivo de assinatura F# inserido (N.º 5213)Support for --pathmap was added to the F# compiler by Saul Rennison, which resolves an issue where the resulting executable from a compilation would include absolute paths to source files in the embedded F# signature file resource (#5213)
  • Uma otimização para o AST de F# que melhora seu consumo por meio de outras ferramentas e ambientes (por exemplo, Fable) foi adicionada por ncave (N.º 6333)An optimization to the F# AST that improves its consumption via other tools and enviroments (e.g., Fable) has been added by ncave (#6333)
  • Uma otimização em torno da passagem de informações ao resolver membros foi adicionada por Steffen Forkmann (N.º 4457)An optimization around traversing information when resolving members has been added by Steffen Forkmann (#4457)
  • Um aprimoramento para mensagens de erro, de modo que, quando uma implementação não contém substituições necessárias, uma lista dessas substituições é relatada, foi adicionado por Gauthier Segay (N.º 4982)An improvement to error messages such that when a type implementation is missing necessary overrides a list of those missing overrides is reported has been added by Gauthier Segay (#4982)
Ferramentas F#F# tools
  • A lista suspensa Estrutura de Destino para projetos F# no SDK do .NET agora incluirá valores para todos os valores .NET Core, .NET Standard e .NET Framework disponíveis, a fim de facilitar a migração para o .NET Core do .NET Framework no SDK do .NETThe Target Framework dropdown for F# projects in the .NET SDK will now include values for all available .NET Core, .NET Standard, and .NET Framework values to ease migrating to .NET Core from .NET Framework on the .NET SDK
  • Foi corrigido um bug em que a renomeação de parâmetros de tipo genérico produz nomes com acento grave duplo (N.º 5389)A bug where renaming generic type parameters produces double backtick-escaped names has been fixed (#5389)
  • Solucionado um problema antigo em que os Provedores de Tipos eram instanciados novamente de forma redundante, causando alocações em massa ao longo do tempo (N.º 5929)A longstanding problem where Type Providers were redundantly reinstantiated, causing massive allocations over time, has been resolved (#5929)
  • Solucionado um problema antigo em que a leitura de IL alocava desnecessariamente 20 MB em um curto período de tempo (N.º 6403)A longstanding issue where reading IL needlessly allocated 20MB over a short period of time was been resolved (#6403)
  • Um bug em que o método GetToolTipText no serviço do compilador de F# podia mostrar a mesma assinatura XML para várias sobrecargas de membros foi resolvido por Vasily Kirichenko (N.º 6244)A bug where the method GetToolTipText in the F# compiler service could show the same XML signature for several member overloads has been resolved by Vasily Kirichenko (#6244)
Infraestrutura de software livre do F#F# open source infrastructure

Por fim, aprimoramos a experiência de contribuição fazendo o seguinte:Finally, we improved the contribution experience by doing the following:

  • Concluímos nossa compilação a partir do processo de origem para que o compilador e a biblioteca principal de F# possam ser compilados com o repositório de compilação de origem do .NET CoreCompleted our build from source process so that the F# compiler and core library can be built with the .NET Core source build repository
  • Removemos nossa dependência em netstandard1.6 para que toda a base de código aponte para netstandard2.0 e net472 uniformementeRemoved our dependency on netstandard1.6 so that the entire codebase uniformly targets netstandard2.0 and net472
  • Adicionamos um arquivo .vsconfig à raiz do repositório para que os contribuidores que usam o Visual Studio não precisem saber com antecedência tudo o que deve ser instaladoAdded a .vsconfig file to the root of the repository so that contributors using Visual Studio don't have to know everything that needs installing up front
  • Reescrevemos o LEIAME de nosso projeto para remover informações potencialmente confusas, incluir um início rápido para começar a contribuir e tentar ser mais inclusivos nas mensagens sobre os tipos de alterações que gostaríamos de fazerRewrote our project's README to remove potentially confusing information, include a quickstart for getting started with contributing, and attempting to be more inclusive in our messaging about the kinds of changes we'd love to take

Produtividade do .NET.NET Productivity

  • Existe agora o preenchimento experimental do IntelliSense para tipos não importados!There is now experimental intellisense completion for unimported types! Agora os usuários receberão sugestões do IntelliSense para tipos em dependências em projetos mesmo se eles ainda não tiverem adicionado a declaração de importação ao arquivo.Uers now receive intellisense suggestions for types in dependencies in projects even if they have not yet added the import statement to the file. Ative essa opção em Ferramentas > Opções > Editor de Texto > C# > IntelliSense.Turn this option on in Tools > Options > Text Editor > C# > Intellisense.
Intellisense completion for unimported types
Preenchimento do IntelliSense para tipos não importadosIntellisense completion for unimported types
  • A opção de ativar/desativar a inserção e remoção de comentários de linha única está disponível por meio do atalho de teclado (Ctrl+K,/).Toggle Single Line Comment/Uncomment is now available through the keyboard shortcut (Ctrl+K,/). Esse comando adiciona ou remove um comentário de linha única, dependendo do fato de sua seleção já estar comentada.This command will add or remove a single line comment depending on whether your selection is already commented.
  • Capacidade de exportar estilos de nomenclatura com o botão “Gerar editorconfig”, localizado em Ferramentas > Opções > Editor de Texto > C#> Estilo do Código.Ability to export naming styles with the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
  • Capacidade de usar uma nova regra de estilo de código do editorconfig para exigir ou impedir usos dentro de um namespace.Ability to use a new editorconfig code style rule to require or prevent usings inside a namespace. Essa configuração também será exportada ao usar o botão "Gerar editorconfig", localizado em Ferramentas > Opções > Editor de Texto > C# > Estilo do Código.This setting will also be exported when using the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
Editorconfig rule for usings outside/inside namespaces
Regra do Editorconfig para usos fora/dentro de namespacesEditorconfig rule for usings outside/inside namespaces
Tools Options setting for usings inside/outside namespace
Configuração Opções de Ferramentas para usos dentro/fora do namespaceTools Options setting for usings inside/outside namespace
  • A coluna "Tipo" de Localizar Todas as Referências agora tem mais opções de filtro e está ciente dos namespaces e tipos.The Find All References “Kind” column now has more filter options and is aware of namespaces and types.
Find All References Kind column has more filter options
A coluna do tipo Localizar Todas as Referências tem mais opções de filtroFind All References Kind column has more filter options
  • Adicionamos uma correção de código para dividir/mesclar instruções if.Added a codefix for split/merge if statements.
Split or merge if statements
Dividir ou mesclar instruções ifSplit or merge if statements
  • Adicionamos uma correção de código para encapsular expressões binárias.Added a codefix for wrapping binary expressions.
Wrap binary expressions
Encapsular expressões bináriasWrap binary expressions
  • Uma lista de preenchimentos de texto do regex agora pode ser acessada por meio do menu do intellisense (Ctrl + espaço) quando dentro de uma cadeia de caracteres do regex.A regex completion list can now be accessed through the intellisense menu (Ctrl + space) when inside a regex string. Esses preenchimentos também incluem uma descrição na linha do que a sugestão faz.These completions also include an in-line description of what the suggestion does.
Regex completion offered in Intellisense with (Ctrl + space)
Preenchimento de expressão regularRegex completion
  • Adicionamos uma correção de código para desselar uma classe.Added a codefix for unsealing a class.
Unseal a class codefix
Desselar uma classeUnseal a class
  • Use a limpeza de código em um único clique para projetos e soluções.Use one-click code cleanup for projects and solutions. Clique com o botão direito do mouse em projetos ou na solução no Gerenciador de Soluções e selecione "Executar Limpeza de Código".Right-click on projects or the solution in the Solution Explorer and select ‘Run Code Cleanup’.
Right-click to run code cleanup over the entire solution
Clique com o botão direito do mouse para executar a limpeza de código em toda a soluçãoRight-click to run code cleanup over the entire solution
You will see a dialog box while cleanup is applied to each file
Uma caixa de diálogo é exibida enquanto a limpeza é aplicada a cada arquivoA dialog is present box while cleanup is applied to each file
  • Agora use uma caixa de diálogo de refatoração para mover o tipo para o namespace ou para a pasta.Now use a refactoring dialog to move type to namespace or folder. Coloque o cursor no nome de classe, pressione (Ctrl + .) para abrir o menu de ações e refatorações rápidas e selecione "Mover para o namespace".Place your cursor in the class name and type (Ctrl + .) to open the quick actions and refactorings menu and select ‘Move to namespace.’ Isso inicia uma caixa de diálogo em que você pode selecionar o destino de namespace para o qual você gostaria de mover o tipo.This launches a dialog where you can select the target namespace you would like to move the type to.
Place cursor in class name and type (Ctrl+.) to view refactorings
Coloque o cursor no nome da classe e pressione (Ctrl+.) para exibir as refatoraçõesPlace cursor in class name and type (Ctrl+.) to view refactorings
Select the destination namespace
Selecione o namespace de destinoSelect the destination namespace
  • A opção de ativar/desativar a inserção e remoção de comentários de bloco agora está disponível por meio do atalho de teclado (Ctrl + Shift + /) ou por meio de Editar > Avançado > Ativar/Desativar Comentário de Bloco.Toggle Block Comment/Uncomment is now available through the keyboard shortcut (Ctrl+Shift+/) or through Edit > Advanced > Toggle Block Comment. Este comando adicionará ou removerá os comentários de bloco, dependendo do que você selecionou.This command will add or remove block comments depending on what you have selected.
Toggle block comment with (Ctrl+Shift+/)
Ative/desative o bloqueio de comentários com (Ctrl+Shift+/)Toggle block comment with (Ctrl+Shift+/)
  • Agora há um codefix para transformar campos struct somente leitura em graváveis.There is now a codefix for making readonly struct fields writable. Coloque o cursor no nome do struct, pressione (Ctrl + .) para abrir o menu de ações e refatorações rápidas e selecione "Transformar campos somente leitura em graváveis".Place your cursor in the struct name, type (Ctrl+.) to open the quick actions and refactorings menu, and select ‘Make readonly fields writable.’
  • O codefix para adicionar um campo privado de um construtor e vice-versa é mais fácil de descobrir e mostrará quando qualquer parte do nome do campo for selecionada.The codefix to add a private field from a constructor and vice versa is easier to discover and will show when any portion of the field name is selected. Essa refatoração agora também oferece todos os construtores possíveis.This refactoring now also offers all possible constructors.

Visualização do Designer XAML para desenvolvimento de WPF do .NET Core 3.0XAML Designer Preview for .NET Core 3.0 WPF development

  • Não há uma versão prévia do Designer XAML para desenvolvedores que criam aplicativos do WPF do .NET Core 3.0 no Visual Studio.There is an early preview of the XAML Designer for developers building .NET Core 3.0 WPF applications in Visual Studio. Muitos recursos de tempo de design estão indisponíveis no momento.Many design-time features will be unavailable at this time. Como essa é uma versão prévia, se você encontrar problemas como falhas, envie comentários sobre o Visual Studio à equipe para melhorar a experiência futura.Since this is an early preview, if you encounter issues such as crashes, please submit Visual Studio feedback for the team to improve the experience going forwards.
  • Com cada atualização para o Visual Studio 2019, continuaremos a implementar mais recursos que estavam disponíveis anteriormente no Designer XAML para aplicativos WPF do .NET Framework.With each update to Visual Studio 2019, we will continue implementing more of the features that were previously available in the XAML Designer for .NET Framework WPF applications.

Ferramentas do SDK do .NET.NET SDK tooling

Esta versão incluiu muito trabalho para desbloquear o uso do WPF no .NET Core:This release included a lot of work to unblock the use of WPF on .NET Core:

  • Um problema em que uma caixa de diálogo de erro era exibida sempre que você adicionava um novo item a um projeto WinForms ou WPF do .NET Core foi resolvido (N.º 4486).An issue where an error dialog popped up whenever you add a new item to a .NET Core WinForms or WPF project was been resolved (#4486).
  • Suporte para arquivos XAML em projetos do SDK do .NET (N.º 1467) que inclui muitos itens menores de trabalho destinados a obter paridade de experiência com projetos .NET antigos.Support for XAML files in .NET SDK projects (#1467) which includes many smaller items of work aimed at achieving experience parity with old-style .NET projects.
  • Suporte ao item de menu de contexto para WinForms no .NET Core (N.º 137): Formulário do Windows, Controle de usuário, Componente e Classe.Context menu item support for WinForms on .NET Core (#137): Windows Form, User Control, Component, and Class.
  • Suporte ao item de menu de contexto para WPF no .NET Core (N.º 137): Janela, Página, Controle de usuário, Dicionário de recursos.Context menu item support for WPF on .NET Core (#137): Window, Page, User Control, Resource Dictionary.
  • A janela Fonte de Dados agora está ativada para projetos do SDK do .NET, permitindo cenários comuns de gerenciamento de dados para WinForms (N.º 4479).The Data Sources window is now enabled for .NET SDK projects, enabling common data management scenarios for WinForms (#4479.

Separadamente, várias outras correções foram adicionadas nesta versão:Separately, a variety of other fixes were added in this release:

  • Os projetos do SDK do .NET agora são compatíveis com arquivos .razor (N.º 4468)..NET SDK projects now support .razor files (#4468).
  • Um texto de ajuda acessível foi adicionado à página de propriedades Depurar, permitindo que seja lido por leitores de tela (N.º 4568).Accessible help text was added to the Debug property page, allowing it to be read by screen readers (#4568).
  • Adicionamos uma configuração que permite desabilitar o clique duplo para abrir um arquivo de projeto (N.º 4493).We added a setting that allows you to disable double-click to open a project file (#4493).
  • A opção de menu de contexto para editar um arquivo de projeto não inclui mais o nome do projeto, corrigindo um problema em que o menu de contexto podia ficar muito largo devido a um nome de projeto muito longo (N.º 1492).The context menu option to edit a project file no longer includes the project name, fixing an issue where the context menu could get too wide due to a very long project name (#1492).
  • Um bug em que a criação de uma fonte de dados com a interface do usuário de associação de dados criava dois arquivos .datasource foi corrigido (N.º 4485).A bug where creating a Data Source with the Data Binding UI created two .datasource fileas has been fixed (#4485).
  • Um bug em que usar arquivos vinculados podia fazer com que o verificador atualizado falhasse foi resolvido (N.º 4580).A bug where using linked files could cause the up-to-date checker to fail has been resolved (#4580).
  • Vários erros envolvendo a resolução do pacote e a exibição de seu estado resolvido/não resolvido no nó Dependências foram corrigidos (N.º 2924, N.º 4577).A variety of bugs involving package resolution and the display of their resolved/unresolved state in the Dependencies node have been fixed (#2924,#4577).

Veja uma lista completa dos problemas solucionados acessando o marco 16.1 no GitHub.You can see a full list of closed issues by going to the 16.1 milestone on GitHub.

XamarinXamarin

  • Atualizada a experiência do Android padrão para API 28 para modelos, criação de dispositivo, instaladores e muito mais.Updated the default Android Experience to API 28 for templates, device creation, installers, and more.
  • O IntelliSense no Windows agora mostra recomendações para atributos de tempo de design durante a gravação de XAML do Xamarin.Forms.IntelliSense on Windows now shows recommendations for design-time attributes when writing Xamarin.Forms XAML.

Problemas conhecidosKnown Issues

Veja todos os problemas e soluções alternativas disponíveis no Visual Studio 2019 versão 16.1, seguindo o link abaixo.See all issues and available workarounds in Visual Studio 2019 version 16.1 by following the below link.

Visual Studio 2019 Known Issues


ComentáriosFeedback

Adoraríamos ouvir sua opinião!We would love to hear from you! 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.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. OThe Feedback Icon está localizado no canto superior direito.icon is located in the upper right-hand corner. 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.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.You can also get free installation help through our Live Chat support.


BlogsBlogs

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.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


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

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.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Início da página
Top of Page