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.4 Preview 5 New release icon

released November 14, 2019

Top Issues Fixed in Visual Studio 2019 version 16.4 Preview 5


Release Notes Icon Visual Studio 2019 version 16.4 Preview 4

released November 6, 2019

Top Issues Fixed in Visual Studio 2019 version 16.4 Preview 4


Release Notes Icon Visual Studio 2019 version 16.4 Preview 3

released November 4, 2019

Top Issues Fixed in Visual Studio 2019 version 16.4 Preview 3

Known Issue in 16.4 Preview 2 and 3

Scenario:

  • User has 16.3.x installed on their machine and user has 16.4 Preview 1
  • User UPGRADES to either 16.4 Preview 2 or 16.4 Preview 3
  • .NET 3 is removed from the box
  • 16.3 .NET 3 development broke

Resolution:

  • Running repair on 16.3 fixes the environment.

Summary of What's New in Visual Studio 2019 version 16.4 Preview 3

  • XAML Designer zoom/position now defaults to Fit All.
  • Create Data Binding Dialog has been added.
  • Improvements to regions IntelliSense
  • Snippets in XAML IntelliSense
  • Pop-up XAML editor as a separate window from designer
  • Displaying resources for referenced assemblies
  • Just My XAML in Live Visual Tree
  • Merge Resource Dictionary
  • Edit Template now works with controsl from 3rd party controls.

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

Python

  • Official support for Python 3.8 is coming soon, but not yet available. For more details on issues that may be experienced, see the Github issue.

WPF/UWP Tooling

Customers building WPF/UWP applications will see the following improvements in Visual Studio XAML tooling:

Designer

  • XAML Designer zoom/position now defaults to Fit All: Based on customer feedback we’ve reevaluated the default XAML Designer zoom behavior that occurs when you open a XAML window/page/control/etc. The previous experienced stored the zoom level and position for each file across Visual Studio sessions which caused confusion when customers were coming back to a file after some time had passed. Starting with this release we will only store the zoom level and position for the duration of the active session and go back to a “fit all” default once Visual Studio is restarted.
  • Create Data Binding Dialog: Visual Studio has had a data binding dialog available to WPF .NET Framework developers from the right-click of the XAML Designer and Property Explorer, and this dialog was also previously available to UWP developers. In this release we’re bringing back this experience to UWP developers and adding support for WPF .NET Core applications. This feature is still in development and will continue to improve in the future to bring back feature parity with .NET Framework dialog capabilities.

XAML Editor

  • Improvements to #regions IntelliSense: Starting with Visual Studio 2015 #region support has been available for WPF and UWP XAML developers and more recently for Xamarin.Forms. In this release we’ve fixed an IntelliSense bug, with this fix #regions will now show properly as you begin to type <!. We have also added the ability for #regions to work correctly across any element nesting levels.
  • Snippets in XAML IntelliSense: IntelliSense has been enhanced to support showing XAML snippets, this will work for both built-in snippets and any custom snippets that you add manually. Starting with this release we’re also including some out-of-the-box XAML snippets: #region, Column definition, Row definition, Setter and Tag.
  • Pop up XAML editor as a separate window from designer: It is now possible to easily split the XAML Designer and its underlying XAML editor into separate windows using the new Pop up XAML button next to the XAML tab. When clicked the XAML designer will minimize its attached XAML tab and pop open a new window for just the XAML editor view. You can move this new window to any display or tab group in Visual Studio. Note that it is still possible to expand the original XAML view but regardless all XAML views of the same file will stay synchronized in real-time.
Pop up XAML code window
Pop up XAML code window
  • Displaying resources for referenced assemblies: XAML IntelliSense has been updated to support displaying XAML resources from a referenced assembly (when source is not available) for WPF Framework and WPF .NET Core projects.

XAML Debugging Tools

  • Just My XAML in Live Visual Tree: The Live Visual Tree is a feature that is available to both UWP and WPF developers when they run their application in debug mode and is part of the live editing tooling related to XAML Hot Reload. Previously the feature would display the full live visual tree of the attached running application with no filter possible to see just the XAML you’ve written in your app. This made for a very noisy experience and based on customer feedback we’ve added a new default called “Just My XAML” which will limit the tree to just controls you wrote in your application. While this is the new default it is still possible to go back to the previous behavior through either the button within tine Live Visual Tree itself or through a new setting (found under: Options > Debugging > General > Enable Just My XAML)
Show Just My XAML in Live Visual Tree
Show Just My XAML in Live Visual Tree

Resources & Templates

  • Merge Resource Dictionary: It is now possible to easily merge an existing resource dictionary within your UWP/WPF project with any valid XAML file using the new feature available through the solution explorer. Simply open the XAML file in which you want to add the merge statement, then find the file you wish to merge in and right-click on it in solution explorer. In the context menu select the option “Merge Resource Dictionary Into Active Window”, which will add the right merge XAML with path.
Merge Resource Dictionary
Merge Resource Dictionary
  • Edit Template now works with controls from 3rd party controls: It is now possible to create a copy of a controls template even when it’s not part of your solution as source code. With this change the “Edit Template” feature will now be available and work as it does for 1st party elements where the source is available today. Note that this feature is applicable to both 3rd party control libraries and 1st party where source isn’t available.

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

released October 15, 2019

Top Issues Fixed in Visual Studio 2019 version 16.4 Preview 2

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

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

C++

  • Visual Studio CMake projects now have Overview Pages to help you get started with cross-platform development. These pages are dynamic and help you connect to a Linux system and add a Linux or WSL configuration to your CMake project.
CMake Overview Pages
CMake Overview Pages
  • You can now further configure which code analysis tool(s) to use in CMake projects via CMakeSettings.json. See the C++ Team Blog for more information.
Clang-Tidy warnings in the Error List
Clang-Tidy warnings in the Error List
  • The launch drop-down menu for CMake projects now displays your most recently used targets and can be filtered.
  • C++/CLI now supports interop with .NET Core 3.1 and higher on Windows.
  • You can now enable ASan for projects compiled with MSVC on Windows for runtime instrumentation of C++ code that helps with detection of memory errors.

Publish to GitHub Support

  • The publish to GitHub feature that was a part of the GitHub Extension for Visual Studio is now included in Visual Studio’s GitHub Essentials.
  • You can now publish local Git repositories to GitHub using the Publish to GitHub button on Team Explorer Synchronization page.

Vertical Document Tabs in Visual Studio

Manage your document tabs in a vertical list on either the left or right side of your editor.

Vertical Document Tabs in Visual Studio

Integrated terminal

  • You can now create multiple terminal instances
  • Profiles for Developer PowerShell, Developer Command Prompt and any available WSL distros are automatically generated on first launch or after using the profile's restore button
  • The terminal supports the selected Visual Studio color theme

Autohide tool windows

Enabling this preview feature option allows you to skip startup delays introduced by launching Visual Studio with multiple tool windows opened.

.NET Productivity

  • You can now configure the severity level of a code style rule directly through the error list. Place your cursor on the error, warning, or suggestion. Right click and select Set severity. Then select the severity level you would like to configure for that rule. This will update your existing EditorConfig with the rule’s new severity. This also works for third party analyzers.
Set rule severity directly through the error list
Set rule severity directly through the error list
  • Find All References now allows you to group by type and member.
Group by type and member in Find All References
Group by type and member in Find All References
  • You can now make a local function static and pass in variables defined outside the function to the function’s declaration and calls. Place your cursor on the local function name. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Make local function static.
Make local function static
Make local function static
  • You can now pass a variable explicitly into a local static function. Place your cursor on the variable in the static local function. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Pass variable explicitly in local static function.
Pass a variable into a local static function
Pass a variable into a local static function

Release Notes Icon Visual Studio 2019 version 16.4 Preview 1

released September 23, 2019

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

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

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

C++

  • Code Analysis now natively supports Clang-Tidy for both MSBuild and CMake projects, whether you're using a Clang or MSVC toolset. clang-tidy checks can run as part of background code analysis, appear as in-editor warnings (squiggles), and display in the Error List.

.NET Web Tools

  • Automatic detection of SQL Server and Azure Storage connections strings when managing publish dependencies or using Connected Services. They are offered in a drop-list for users to pick from, whereas before they had to re-type them in.
  • Added support for developing Azure Functions using the 64bit runtime
  • Added support for .NET Core 3.0 app publishing options: Ready to Run (Crossgen), Linking, and SingleExe

.NET Productivity

  • You can now configure the severity level of a code style rule directly through the editor. If a user does not currently have an .editorconfig file, one will be generated for them. Place your cursor on the error, warning, or suggestion and type (Ctrl+.) to open the Quick Actions and Refactorings menu. Select ‘Configure or Suppress issues’. Then select the rule and choose the severity level you would like to configure for that rule. This will update your existing EditorConfig with the rule’s new severity. This also works for third party analyzers.
Set rule severity directly through the editor
Set rule severity directly through the editor
  • You can now use the Go To Base command to navigate up the inheritance chain. Go To Base command is available on the context (right-click) menu of the element you want to navigate the inheritance hierarchy. Or you can type (Alt+Home). If there is more than one result a tool window will open with all of the results that you can choose to navigate to.
Go To Base
Go To Base
  • You can now add null checks for all parameters. This will add if statements that check nullity of all the nullable, non-checked parameters. Place your cursor on any parameter within the method. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select the option to ‘Add null checks for all parameters’.
Add null checks for all parameters
Add null checks for all parameters
  • Methods that have no XML documentation can now automatically inherit XML documentation from the method it is overriding. Place your cursor over the undocumented method that implements a documented interface method. Quick Info will then display the XML documentation from the interface method.
XML inherit documentation
XML inherit documentation

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