Visual Studio Icon Visual Studio 2019 Preview Release Notes


| Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Important

This release is not "go-live" and not intended for use on production computers or for creating production code. For instructions on installing and updating Visual Studio 2019, see this documentation on updating Visual Studio 2019 to the most recent release.


What's New in Visual Studio 2019

Visual Studio 2019 Preview Releases

Visual Studio 2019 Blog

The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 version 16.3 Preview 2 New release icon

released August 13, 2019

Summary of What's New in Visual Studio 2019 version 16.3 Preview 2

Top Developer Community Issues Fixed in Visual Studio 2019 version 16.3 Preview 2

Details of What's New in Visual Studio 2019 version 16.3 Preview 2

C++

  • Added the following C++20 Standard Library preview features (with /std:c++latest):
    • P0487R1: Fixing operator>>(basic_istream&, CharT*)
    • P0616R0: Using move() In <numeric>
    • P0758R1: is_nothrow_convertible
    • P0734R0: C++ extensions for Concepts
    • P0898R3: Standard Library Concepts
    • P0919R3: Heterogeneous Lookup For Unordered Containers
  • New C++ Core Guideline checks, including the new "Enum Rules" rule set, and additional const, enum, and type rules.
  • A new default semantic colorization scheme allows users to better understand their code at a glance, the call-stack window can be configured to hide template arguments, and C++ IntelliCode is on-by-default.
  • Configure debug targets and custom tasks with environment variables using CMakeSettings.json or CppProperties.json or the new "env" tag on individual targets and tasks in launch.vs.json and tasks.vs.json.
  • Users can now use a quick action on missing vcpkg packages to automatically open a console and install to the default vcpkg installation.
  • The remote header copy done by Linux projects (CMake and MSBuild) has been optimized and now runs in parallel.
  • Visual Studio's native support for WSL now supports parallel builds for MSBuild-based Linux projects.
  • Users can now specify a list of local build outputs to deploy to a remote system with Linux Makefile projects.
  • Setting descriptions in the CMake Settings Editor now contain more context and links to helpful documentation.

Container Tools

  • Developers building Azure Functions (v2) can now add Docker container support (Linux only) to their C# projects. This can be done by right clicking the project name in Solution Explorer and selecting "Add" --> "Docker Support". In addition to adding a Dockerfile to your project the debug target will be set to "Docker". What this means is debugging of Functions code will happen inside of the running container. Users will be able to hit breakpoints, inspect variables, and use all the powerful debugging features Visual Studio provides.
Debug Azure Functions running in Linux containers.
Debug Azure Functions running in Linux containers

Debugger

  • The Parallel Stacks Window has improved the visualization of tasks and their dependencies in a process to make it easier to diagnose problems in asynchronous code.
Tasks visualization in parallel stacks window
Improved task visualization in the Parallel Stacks Window

Installer

  • Visual Studio now updates both the Visual Studio IDE and the Installer with a single click for increased productivity.
  • The Visual Studio installer components for .NET Core 2.1 and 2.2 used to only carry the runtime. From this preview onwards the components will also carry the templates as well as the runtime.
  • A search box in the Visual Studio Installer's Individual components tab allows for quick location of all available components for installation.
Installer components search
Search individual components in the Visual Studio Installer

IDE

  • Improvements to the Installer dialog interface within the Visual Studio IDE makes it easier to identify specific workloads being added to Visual Studio.
  • VS Search will support the ability to search for types and members with C# and VB, as well as file search for all languages. Results will show up as users type their search query, as well as in a dedicated ‘Code’ group accessible via keyboard shortcut or mouse click.
  • Newly installed project templates are indicated with a "New" label to allow quick identification, and filters show selected values in the New Project Dialog. In addition, developers can organize recently used templates by pinning, unpinning, and removing them from the list.
Start window MRU search
See newly installed projects and selected filters, and pin templates in the New Project Dialog

.NET Framework 4.8

The .NET Framework 4.8 development tools have been added to support targeting .NET Framework 4.8. The .NET Framework 4.8 offers several new features and improvements as well as numerous reliability, stability, security, and performance fixes. Find more details about the .NET Framework 4.8 in the .NET Framework 4.8 blog announcement

.NET Productivity

  • You can now wrap chains of fluent calls with a refactoring. Place your cursor on a call chain and press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select either Wrap call chain or Wrap and align call chain.
Wrap call chain
Wrap Call Chain
  • Users can now introduce a local variable immediately after writing its initializer. First, write an expression. Then place the cursor in the expression name and press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select the option to introduce a local variable.
Introduce a local variable
Introduce Local Variable After Writing Initializer
  • There is now .NET Core tooling support for analyzers. Users can add the most recommended analyzer package by right clicking on the project name within the solution explorer and select properties. Select Code Analysis to install the analyzer package and to configure when to run code analysis.
.NET Core Tooling Analyzer Support
.NET Core Tooling Analyzer Support
  • Previously, we added IntelliSense completion for unimported types. This feature came with the option to turn it off for users who did not want unimported types always populating their IntelliSense. Now, for users who turn off the completion for unimported types, it's much easier to get it back in the completion list with the new imported type filter added to the IntelliSense toggles.
IntelliSense completion list expander
IntelliSense completion list expander
IntelliSense completion list expander triggered
IntelliSense Completion List Expander Triggered
  • There is now Quick Info style support for XML comments. Place the cursor over the method name. Quick Info will then display the supported styles from the XML comments above the code.
Quick info style support for XML comments
Quick Info style support for XML comments

Writing Python Tests

  • Python Developers can now run tests using the popular Python framework pytest in both Python projects and Open Folder workspace scenarios.
  • To enable pytest and unittest for Python projects, right-click on the project solution name and select Properties. From there, select the Test tab to select testing options. Note that for unittest, you must specify the directory for the tests (root directory is the default) as well as the pattern for the test filenames. Test Discovery is intitiated as soon as changes are saved in the Test tab.
pythontest_project
Configuring a Python project to discover pytests or tests written with unittest. Notice that by selecting 'Show output from: Tests' in the Output Window, users are able to see logging information associated with test runs, for both failed and passed tests.
  • The unittest testing experience has been reworked such that a user now needs to manually configure tests for both Python projects and Open Folder workspaces as these tests are no longer automatically discovered:
  • To enable tests for Python folders, click on the Show All Files icon to Show All Files in the Solution Explorer. From there, click on the PythonSettings.json file located within your 'Local Settings' folder (if there isn't a file there, create one). Within this file, you can specify the 'TestFramework' you wish to use as well as the test filename patterns and the directory that contains your tests (both options apply to unittest):
pythontest_folder
  • Test debugging is updated to use PTVSD 4, but if users wish to continue using the 'Legacy Debugger' or run into any issues with using the new debugger, they can enable it by going to Tools > Options > Python > Debugging > Use Legacy Debugger and check the box to enable it.
  • We have also made it simple for users with pre-existing projects and in open folder workspaces that contain test files to quickly continue working with their code in Visual Studio 2019. When users open a project that contains testing configuration files (e.g. a .ini file for pytest), but they have not installed or enabled pytest, they will be prompted to install the necessary packages and configure them for the Python environment they are working:
pytest infobar
Whenever a Python project or folder is opened that contains test files that aren't configured, users are prompted to do so as well as install the necessary test package, which in this example, is pytest.
  • Similarly for unittest test files within a project or open folder workspace, users will be prompted to install and/or enable the testing framework. For both scenarios, developers have the option to ignore the message and to manually configure the framework.

Web Tools

  • Easily configure applications' dependencies in publish profiles using the new Add Dependency wizard. It currently supports adding dependencies to Azure SignalR Service, Azure SQL Server, Azure Storage allowing users to either provision new instances or select existing ones without leaving the IDE.
  • The ASP.NET runtime team has enabled support for serving static content from within Razor class libraries due to popular demand. In this preview of Visual Studio, the team has added tooling support for this scenario.

Xamarin

Added Android Q Preview support for Xamarin.

  • Users can now use Android Q Beta 4 Final APIs within Xamarin.Android. They can get started with the Android Q Preview by setting Compile using Android version: (Target Framework) to Android 10.0 (Q) under the Application tab of the Visual Studio project property pages. Features new to Android Q include:
    • Support a Dark Theme to ensure a consistent experience for users who enable system-wide dark theme.
    • Support Gesture Navigation in the app by going edge-to-edge and making sure custom gestures are complementary to the system navigation gestures.
    • Optimize for foldables: Deliver seamless, edge-to-edge experiences on today’s innovative foldable devices.
    • More interactive notifications by enabling suggested replies and actions within notifications to engage with audience users.
    • Better Networking APIs for Wi-Fi network requests and connectivity.
android q
Set the Compile using Android version: (Target Framework) to Android 10.0 (Q).

XAML Hot Reload for Xamarin.Forms.

  • Users can now use the public preview of XAML Hot Reload for Xamarin.Forms in Visual Studio and Visual Studio for Mac! XAML Hot Reload enables developers to rapidly iterate on their UIs by debugging their app to an emulator, simulator, or physical device, changing XAML, and hitting save to see those changes immediately reflected on the running app. For more info, check out the XAML Hot Reload documentation.
xaml hot reload
XAML Hot Reload for Xamarin.Forms.

Android Material Design in the XAML Previewer.

  • Material design using Xamarin.Forms Visual now previews for both iOS and Android in the Xamarin.Forms XAML Previewer. For more information on the XAML Previewer, go to https://aka.ms/xamarinforms-previewer.

JavaScript/TypeScript

  • JavaScript and TypeScript classification (commonly called “syntax coloring”) will be applied to large files more quickly. The list of JavaScript and TypeScript code fixes and refactorings (i.e. the lightbulb) will also be displayed more quickly.

Release Notes Icon Visual Studio 2019 version 16.3 Preview 1 New release icon

released July 24, 2019

Summary of What's New in Visual Studio 2019 version 16.3 Preview 1

  • Improvements for C++ developers, including toggleable line comments and improved IntelliSense member list filtering.
  • Search through recent projects, solutions, and folders within the start window.
  • Search for templates in the New Project Dialog with advanced search capabilities.
  • Support for adding new Open API & GRPC service references to .NET Core 3.0 projects.
  • Publish .NET Core 3.0 worker projects to Azure Container Registry, DockerHub, etc.
  • .NET Productivity additions in this release include the ability to rename the containing file when renaming a class as well as Edit and Continue enhancements within the debugger.

Top Developer Community Issues Fixed in Visual Studio 2019 version 16.3 Preview 1

Details of What's New in Visual Studio 2019 version 16.3 Preview 1

C++

  • C++ developers can now toggle line comments using the keyboard shortcut Ctrl + K, Ctrl + /.
  • IntelliSense member lists are now filtered based on type qualifiers, e.g. const std::vector will now filter out methods such as push_back.

IDE

  • A search box in the start window allows you quick location of recently used projects, solutions, and folders. In addition, these MRU code containers integrate with Visual Studio global search so developers can find them through the Visual Studio search box.
Start window MRU search
Search in recent projects list on start window
  • Search for templates in the New Project Dialog through a more robust fuzzy search which adapts with typos and plurals to highlighting matching keyword and rank results based on search and filter relevance.
New Project Dialog template search
Improved search accuracy and highlighting in project templates search

.NET tools

  • Support for adding new Open API & GRPC service references to .NET Core 3.0 projects.
  • Publish .NET Core 3.0 worker projects Azure Container Registry, DockerHub, etc.
  • .NET Core 3.0 templates for Worker, gRPC, Razor Class library & Blazor are surfaced in the New Project Dialog.
  • Any updates made to the .NET Core 3.0 templates via the .NET CLI are also surfaced in Visual Studio.

.NET productivity

  • Developers can now rename a file when renaming an interface, enum, or class. Place the cursor in the class name and type (Ctrl + R,R) to open the Rename dialogue and check the ‘Rename file’ box.
Rename containing file when renaming a class
Rename containing file when renaming a class
  • There is now Edit and Continue support for multi-targeted projects which includes modules loaded multiple times in the same process on different domains or load contexts. In addition, developers can edit source files even when the containing project is not loaded or the application is running.

Visual Studio Performance Profiler

  • The CPU Usage tool in the Performance Profiler automatically displays the "hot path" indicator with a red flame icon when displaying the Call Tree. This saves a click on common CPU Usage performance investigations. The CPU Usage tools is accessible by using Alt-F2 or from the Debug menu.
  • The Performance Profiler now participates in forward/backward navigation in the Visual Studio IDE. As developers navigate to various views of tools in the Performance Profiler, navigation points are saved along with other navigation items. They can be employed by clicking the navigation buttons or using navigation commands in Visual Studio.
Forward/Backward Navigation Image
Forward/Backward Navigation in the Profiler

Known Issues

See all open issues and available workarounds in Visual Studio 2019 by following the below link.


Feedback

We would love to hear from you! 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. The Feedback Icon icon is located in the upper right-hand corner. 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. You can also get free installation help through our Live Chat support.


Blogs

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.


Visual Studio 2019 Release Notes History

For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Top of Page