Microsoft has announced the latest version of Visual Studio. Visual Studio 2019 version 16.5 adds new XAML, .NET, C++, and debugging features.

XAML
This release adds the XAML Hot Reload for Xamarin.Forms, which helps accelerate development by making it easier to build, experiment, and iterate over a mobile app’s user interface. With this update, as changes are made to an application, the state of the application is not lost as changes are saved. In addition, developers don’t have to recreate the repo like they previously did. 

.NET
This release introduces a number of .NET productivity features. It adds the ability to convert if statements to switch statements or switch expressions. With this release, IntelliSense now supports completion for unimported extension methods. Microsoft also added the ability to simplify string interpolation refactoring, which makes string interpolation more legible and concise. 

Visual Studio 2019 version 16.5 also features updates to the .NET Object Allocation tool. The backtrace view is now in a separate panel to make it easier to distinguish between allocation type and functions within the type being called. A new average size column has also been added to the allocation type panel and backtrace view. Finally, new icons have been added to the allocation, call tree, and functions view, making it easier to visualize classes and structures being allocated.

C++
This release also adds a number of improvements to the C++ cross-platform and CMake development experience. Developers will now be able to interact with stored remote connections via the command line, which is useful for situations like provisioning new development machines or setting up Visual Studio in continuous integration. 

This release also adds the ability to leverage support for Windows Subsystem for Linux (WSL) when separating the build system and remote deploy machine. This allows developers to build natively on WSL and then deploy build artifacts to a second machine for debugging. 

In addition, developers will be able to add, remove, and rename source files and targets in CMake projects from the IDE without having to manually edit CMake scripts. 

Finally, Visual Studio 2019 version 16.5 adds CMake code navigation features like Go To Definition and Find All References. These features will make it easier to understand complex CMake projects. 

Debugging in C++ and .NET
According to Microsoft, Pinnable Properties has been a popular debugging tool. In this release, Microsoft added a new feature to Pinnable Properties that helps with debugging multithreaded applications.  According to the company, this new feature will eliminate the issue of determining the source of a deadlock or other bug. 

Another debugging update is the ability to debug processes running in Docker Windows containers. Previously, this had been an option only for Docker Linux containers. 

In addition, the company has added debugging support in Visual Studio for developers building applications on top of Open Enclave SDK.