Visual Studio Icon Visual Studio 2019 Preview Release Notes


| Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Latest Release 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.5 Preview 2 New release icon

released January 22, 2020

In This Release of Visual Studio 2019 version 16.5 Preview 2

Workload
F# Important Known Issue F# projects only build in IDE, fail to build from command line.
Visual Studio IDE
New Features Multi-selection of Azure directories
.NET Productivity
New Features Refactoring to turn a fragment of code from an existing method into a local function
Refactoring to make members static
Refactoring to simplify string interpolations
EditorConfig option to exclude analyzers to run on generated files or folders
Analyzer authors can now distribute custom code refactorings as a NuGet package
Debugging
New Features Pin properties in DataTips and the Autos, Locals, and Watch windows in C++
View which managed thread is holding a .NET object lock
Open Enclave debugging for Azure Confidential Computing
C++
New Features IntelliSense improvements
Connection Manager over the command line
Debug/deploy for WSL
Support for FIPS 140-2 compliance mode
Language services for CMake Language files & better CMake project manipulation
XAML (UWP/WPF)
New Features New XAML Designer Preview for WPF .NET Framework Projects
Changing “Artboard Background” color for the XAML Designer now works with WPF .NET Core projects
XAML Designer now supports loading .NET Core 3.x Projects that include PublishSingleFile, RuntimeIdenfier and PublishTrimmed settings
Xamarin
New Features Document Outline for Xamarin.Forms XAML UIs
Xamarin Hot Restart
Android Apply Changes
Custom Profiles with Startup Tracing
Kotlin support for Xamarin.Android generator
Improved AndroidManifest.xml Merging
Custom Control Quick Changes for Android Layouts
Improved Android IntelliSense

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

Visual Studio IDE

You can now filter accounts to the specific subset of the Azure Active Directories you want to make available to Visual Studio

.NET Productivity

You can now turn a fragment of code from an existing method into a local function. Highlight the code you want extracted. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Extract local function.

Extract local function

You can now make members static. Place your cursor on the member name. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Make static.

Make members static

You can now simplify string interpolations when possible. Place your cursor on the string interpolation. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Simplify interpolation.

Simplify-string-interpolation

You now have the option to exclude generated files or folders when running analyzers. Create an EditorConfig file and mark the required files or folders as generated with the following syntax:

EditorConfig option to exclude generated files or folders

Analyzer authors can now distribute custom code refactorings as a NuGet package when previously it could only be distributed as a VSIX.

Debugging

You can now pin object properties in C++ via DataTips and the Autos, Locals, and Watch windows. Pin properties in C++

You can now see which managed thread is holding a .NET object lock via the Call Stack window, Parallel Stacks window, and the location column in the Threads window. <img src="media/16.5/16.5_P2_view-dotnet-object-lock.png" align='bottom' alt="View .NET object lock in Call Stack"

C++

  • IntelliSense now displays more readable type names when dealing with the Standard Library.

  • We've added the ability to toggle whether Enter, Space, and Tab function as commit characters, and to toggle whether Tab is used to Insert Snippet. Find these settings under Tools > Options > Text Editor > C/C++ > Advanced > IntelliSense. Disabling autocomplete options

  • You can now leverage Visual Studio's native support for WSL when separating your build system from your remote deploy system. This allows you to build natively on WSL and deploy the build artifacts to a second remote system for debugging. This workflow is supported by both CMake projects and MSBuild-based Linux projects.

  • You are now able to interact with your stored remote connections over the command line. This is useful for tasks such as provisioning a new development machine or setting up Visual Studio in continuous integration. C++ Connection Manager

  • Visual Studio now supports FIPS 140-2 compliance mode when developing C++ applications that target a remote Linux system.

  • The source file copy for CMake projects targeting a remote Linux system has been optimized. Visual Studio now keeps a "fingerprint file" of the last set of sources copied remotely and optimizes behavior based on the number of files that have changed.

  • Code navigation features such as Go To Definition and Find All References are now supported for functions, variables, and targets in CMake script files. Language services for CMake scripts

  • Add, remove, and rename source files and targets in your CMake projects from the IDE without manually editing your CMake scripts. When you add or remove files with the Solution Explorer, Visual Studio will automatically edit your CMake project. You can also add, remove, and rename the project's targets from the Solution Explorer's Targets View. 'Add' menu in CMake Targets View

WPF/UWP Tooling

New XAML Designer Preview for WPF .NET Framework Projects is now available for early preview. This new designer brings with it the same improvements now available to WPF .NET Core developers and includes better performance and bug fixes. We encourage all .NET Framework WPF customers to give this improved designer a try and report any issues you encounter through the feedback hub.

Known limitations:

  • Some 3rd party control extensibility will be disabled
  • Blend data, resources and triggers panels will be disabled

To get started go to options > Preview Features and select “New WPF XAML Designer for .NET Framework” and restart Visual Studio.

Note: This feature is a preview channel only capability that will not be finalized until a future release that has not yet been determined.

Other improvements include:

  • Changing “Artboard Background” color for the XAML Designer now works with WPF .NET Core projects (Options > Environment > Fonts and Colors, then change to XAML Designer settings and update Artboard Background)

  • XAML Designer now supports loading .NET Core 3.x Projects that include PublishSingleFile, RuntimeIdenfier and PublishTrimmed settings in their project file (csproj). Note that including these settings slows down designer performance.

Top Issues Fixed in This Release of Visual Studio 2019 version 16.5 Preview 2

From Developer Community
Package manager has multiple errors displayed on Tools, Nuget Package Manager, & Manage Nuget Packages for solution
MSVC codegen error vector reverse_iterator x64 C++17 debug build
VS 15.8 preview 4 constexpr implicit conversion operator error
Custom Project Template Ignored
Bug in C++/CLI optimizer
_com_ptr_t is not accepted by clang 9.0RC
Visual Studio 16.3.1 fails at compiling template code (e.g. from Basler Pylon SDK)
VS 16.4.0 Preview 1.0 - ArgumentException The collections refer to different snapshots
Visual Studio not updating when having to elevate permissions
clang-format formats entire file on open-close braces
live unit testing fails with FatalError - System.ArgumentException: The supplied SnapshotPoint is on an incorrect snapshot.
VS crashes when trying to drag a tab in vertical tab layout (right or left)
C2440 error building atlenc.h with /permissive- in VS 16.4 Preview 1
Visual Studio IDE crashes when I click the unfold icon of a namespace.
C4265 warning is flawed

Xamarin

  • You can now see a hierarchy of your Xamarin.Forms controls in the Document Outline pane. On Windows, it can be opened with Ctrl+Alt+T (View > Other Windows > Document Outline). On Mac, you can open it via Views > Pads > Document Outline.

  • This release includes a preview of Xamarin Hot Restart for iOS apps built with Xamarin.Forms. Hot Restart enables a much faster build and deploy cycle when making changes to your code, resources, and even project references. It also works with XAML Hot Reload to speed up your inner development loop editing both your UI and code: Check out the Xamarin Hot Restart documentation to get started.

Xamarin Hot Restart
  • You can now apply Android resource changes at runtime using Android Apply Changes. This feature allows you to quickly see changes made to your Android resource files (XML layouts, drawables, etc) on an Android device or emulator without requiring the application to be restarted.
Android Apply Changes
  • You can now generate your own custom profiles when using startup tracing in your Android application. This provides you an even more performant startup experience with a minimal increase to APK size.
  • You can now generate Xamarin.Android bindings against Kotlin libraries.
  • You can now use the Google Manifest Merger when merging AndroidManifest.xml files in your Android projects. This allows you to customize how each manifest and its contents will be merged. For more details on rules that can be applied, please see Merge multiple manifest files.
  • You can now opt-into a new option which will automatically reload all opened designer surfaces when any modification is done to your codebase.
Custom Control Quick Changes for Android Layouts
  • Take advantage of consolidated editor functionality to offer more responsive and precise IntelliSense. This includes many changes such as improved completion for common XML constructions such as attribute quotes and updating end tag names automatically. You can control these behaviors via Android XML editor preferences:
Android XML IntelliSense Options

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

released December 3, 2019

In This Release of Visual Studio 2019 version 16.5 Preview 1

Visual Studio IDE
New Features On-hover a close button appears for each document in the tab group overflow list
Productivity Improvements Implemented user suggested improvements in vertical tabs
.NET Productivity
New Features Ability to use System.HashCode to implement the GetHashCode method when System.HashCode is available
Ability to convert if to switch statements or switch expressions
IntelliSense completion for unimported extension methods
C++
Productivity Improvements Visual Studio Linux projects now have more accurate IntelliSense and allow you to control remote header synchronization on a project-by-project basis.
Azure Tools
Productivity Improvements Now provides .NET Core Worker Server support.
Support was added for Azure Functions v3. This gives a new option during project creation to use v3 instead of v2.
When publishing to App Service Linux, Visual Studio now waits until the app is running before opening the browser window.
XAML
New Features Enabled support for the 1909 version of Windows 10 as a UWP target platform.
Dragging an image from project into the XAML editor generates an Image tag
Suggested Actions in XAML Designer for easier access to common properties
JavaScript/TypeScript
New Features Code Search for JavaScript/TypeScript
ESLint for TypeScript files
TypeScript 3.8 Beta compiler and language service for JavaScript and TypeScript. Release Notes
Experimental: Faster syntax highlighting engine that uses the syntax tree instead of TextMate grammars

Top Issues Fixed in This Release of Visual Studio 2019 version 16.5 Preview 1

From Developer Community
Green squiggles appear everywhere in my source code
Tool window sometimes moves or dissapears during window layout switching
Test discovery fails
VS 2019 / C++ / Google Test: Impossible to get Unit Tests to work
Visual Studio IDE mono integration does not allow step into debug of modules not in original build path
Document tabs undock when selected
Stopping debugging too quickly after starting a debug session on iOS causes a hang in the debugger.
Intellisense does't recognize x:FactoryMethod attribute in XAML
Debugger error on single-step when using Debug.WriteLine in a Windows.Forms app with WPF ElementHost
Constant CPU usage when solution loaded
Incorrect detection of support for nodiscard with reason
intellisense/vcpkgsrv crashes on deduction guide
SQL Server unit Testing projects template not found in VS2019
"codedesign" exited with code 1
Android Device Manager Internet Connection Issues
Bad SSE code generation with VS2019
error LNK2005: "__cdecl Windows::Foundation::operator co_await(struct Windows::Foundation::IAsyncAction ^)" (??__LFoundation@Windows@@YA@PE$AAUIAsyncAction@01@@Z) already defined in pch.obj
Dynamic library project - native lib dependency link error using C++/Cli and netcoreapp3.1 target
Missing content priority properties in iOS designer when view is contained in UIStackView
Xamarin mobile debugger brings IDE to a crawl
CMakeLists.txt missing entry point to "Debug and Launch Settings" in Folder View for Linux and WSL configs
visual studio won't start when switched back to scaling 250% from 100%
Add support for skipping dotnet dev-certs when debugging
Splitting a string with a regex returns seemingly wrong results
C++ dependent base classes and SEH exception filters
VC 16.3 list::splice bug
The dialog message when i delete a file from a project is strange.
Create Publish Settings - "Create Profile" button not opening create profile wizard
AppInstaller.exe can't open *.applinstaller file that 's maked from Windows Application Packaging Project.
Adding New Item dialog is missing Inherited Form / User Control Options From Windows Forms selection
View in browser does not give me the page that i was inside it goes to the default route.
VS 16.4.0 Preview 1.0 - BuildWindow InvalidOperationException
Reordering window tabs when tabs are on the left
Miss Translation in "Visual Studio Feedback" window.
Incorrect error reporing of decltype(member)::staticMethod()
REGRESSION: IntelliSense error when initializing a C++/CLI value class with '{}'.
Build process for cpp project in VS2019 developer command prompt uses VS2019 cl.exe for .v141 Platformtoolset
High CPU usage
IntegratedConsoleDebugging project capability not respected by Asp.Net Core project system
Crash when opening any file with Lang Pack installed
Editing razor component crash

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

Visual Studio IDE

On-hover a close button appears for each document in the tab group overflow list.

On hover a close button appears

.NET Productivity

You can now use System.HashCode to implement the GetHashCode method when System.HashCode is available.

System.HashCode to implement the GetHashCode Method

You can now convert if to switch statements or switch expressions. Place your cursor on the if keyword. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Convert to 'switch' statement or Convert to 'switch' expression.

Convert if to switch statements or switch expressions

There is now IntelliSense completion for unimported extension methods. You will first need to turn this option on in Tools > Options > Text Editor > C# > Intellisense > and select Show items from unimported namespaces.

IntelliSense completion for unimported extension methods

WPF/UWP Tooling

Dragging an image from your project into the XAML editor will now generate a XAML image tag with the Source property set to the correct image path.

XAML Designer Suggested Actions enables easy access to common properties when a control is selected within the XAML Designer. To use this feature first enable it through Options > Preview Features > XAML Suggested Actions. Once enabled click on a supported control and use the lightbulb to expand and interact with the Suggestion Actions UI. In this release supported controls include: Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox. While in preview this feature is also only available for WPF .NET Core applications and doesn’t support extensibility, nor is it feature complete.

XAML Designer Quick Actions

Other improvements include:

  • Enabled support for the 1909 version of Windows 10 as a UWP target platform.

JavaScript/TypeScript

VS Search now supports the ability to search for types and members in TypeScript and JavaScript files. There is also support for searching JavaScript blocks in open markup files (i.e. HTML, CSHTML)

Visual Studio now supports ESLint for Typescript files: there is a global configuration with a set of recommended rules or ESLint can be set up locally to a project with full customization. More information and instructions available on our GitHub page


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