Visual Studio 2019 Preview Release Notes
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
- August 13, 2019 — Visual Studio 2019 version 16.3 Preview 2
- July 24, 2019 — Visual Studio 2019 version 16.3 Preview 1
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:
- Visual Studio 2019 version 16.3 Preview 2 and Visual Studio 2019 for Mac version 8.3 Preview 2 Released!
- Visual Studio 2019 version 16.2 and 16.3 Preview 1 now available
- Visual Studio 2019 version 16.2 Preview 2
- Visual Studio 2019 version 16.1 and Preview 16.2 Preview
- Visual Studio 2019: Code faster. Work smarter. Create the future.
released August 13, 2019
Summary of What's New in Visual Studio 2019 version 16.3 Preview 2
- Debug Azure Functions running in Linux containers.
- Search individual components while installing or modifying in the Visual Studio Installer.
- Streamlined Visual Studio update experience that integrates Visual Studio IDE and Installer updates.
- Differentiate workloads and components when adding them in the Visual Studio IDE.
- Code Search via VS Search (Ctrl+Q)
- Easily find newly installed project templates, view selected values on filters, and pin recently used templates in the New Project Dialog.
- Easily configure your applications' dependencies in publish profiles using the new [Add Dependency] wizard(#webtools-add-dependency-wizard).
- The Visual Studio installer components for .NET Core 2.1 and 2.2 now also include templates (instead of just the runtime).
- Tooling support for serving static assets from within a Razor class library.
- Updated Python Testing Experience using the newly-added Python testing framework pytest as well as a modified unittest experience.
- Reduced time to index large folders and search for files in these folders.
- Added Android Q Preview support for Xamarin.
- XAML Hot Reload for Xamarin.Forms.
- Android Material Design in the XAML Previewer.
- Improved tasks view when debugging in Parallel Stacks Window.
- A variety of C++ productivity improvements, including new C++ Core checks, a new default semantic colorization scheme, and on-by-default IntelliCode
- Support for parallel builds in MSBuild-based Linux C++ projects that leverage the native WSL experience.
- .NET Productivity additions in this release include the ability to wrap chains of fluent calls, introduce a local variable immediately after writing its initializer, .NET Core tooling support for analyzers, and an option to expand the list of completions for unimported types.
Top Developer Community Issues Fixed in Visual Studio 2019 version 16.3 Preview 2
- Problem with command Tab order (in design mode)
- error MSB6006: "CL.exe" exited with code 2.
- Error Signing into the VS Feedback Tool
- blank code metrics result
- Rename refactoring does not work in files included in Shared Projects - Rename operation was cancelled or is not valid
- C++/CLI bug with inline namespaces header
- Error: Some or all identity references could not be translated.
- rvalue-reference-to-array can bind to lvalue-reference-to-array
- Brace completion when member list is up does not put the character in the right position
- Secure Secrets with Azure Key Vault Not In Connected Services List
- VS file search is signficantly slower than VA file search
Details of What's New in Visual Studio 2019 version 16.3 Preview 2
- Added the following C++20 Standard Library preview features (with
- 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.
- 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.
- 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.
- 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.
- 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.
.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
- 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.
- 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.
- 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.
- 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.
- 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.
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.
- 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 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):
- 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:
- 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.
- 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.
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.
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.
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.
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
- Fixed known issue: Visual Studio crash when TFS is not found.
- Fixed known issue: Visual Studio error displaying .razor file.
- Fixed known issue: target="blank">Increase AndroidClientHandler timeouts.
Details of What's New in Visual Studio 2019 version 16.3 Preview 1
- 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::vectorwill now filter out methods such as
- 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.
- 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.
- 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.
- 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.
- 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.
See all open issues and available workarounds in Visual Studio 2019 by following the below link.
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 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.
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.