The latest release of Visual Studio has been launched with improvements to performance, the editor, and debugging.

For C++ developers, one important change is that Visual C++ is now C++ Standard compliant to C++17. The developers say they're going to continue working on conformance and make changes that "alleviate the remaining caveats". However, they say that there are no feature areas in the C++ standard that you should avoid with the MSVC compiler. The compliance should make it easier to use Visual C++ for cross platform projects.

Away from the compliance, performance improvements include introduced parallel project load, which loads large .NET solutions twice as fast as earlier versions when you reload the same solution; and asynchronous debugging windows to avoid blocking VS while debugging is happening. The performance for .NET mobile apps has also been improved as Visual Studio will boot and deploy the Xamarin runtime on your device while a compile is taking place.

There is improved refactoring for .NET in the editor, so you can toggle between foreach loops and for-loops in C# and Visual Basic, and convert LINQ query expressions into foreach loops in C#.

The XAML editor now provides IntelliSense when you're creating conditional XAML, so if you use a type that isn't present in the target-minimum version of your app, you're warned and shown several ways to fix it, including suggesting the best conditional using statement for the platform version where the type was first introduced.

Xamarin.Forms XAML handling has also had its IntelliSense improved. It now uses the same engine that powers WPF and UWP, so you get improved matching, Lightbulb suggestions, code navigation, and error checking among other improvements.

TypeScript 2.8 is now included, and when used this offers support for fixing all occurrences of a problem in a document such as removing unused variables. Other fixes include no more premature triggering of snippets or inability to cancel refactorings.

C++ support has been improved in a number of ways, including the addition of CLangFormat support in the IDE, meaning you can now use ClangFormat to automatically style and format your code as you type. Support for CMake has also been improved with a new CMake Targets View that offers an alternative way to view a CMake project’s source in the Solution Explorer, organized into individual CMake targets rather than by folder. You can also carry out single file compilation and static analysis of C++ code.

The debugger has been improved with the ability to use IntelliTrace events and snapshots for .NET Core. These features were added to VS 2017 version 15.5, but couldn't be used for debugging .NET Core apps. The feature automatically takes a snapshot of your application on each breakpoint and debugger step, so you can go back to a previous breakpoint or step and view the state of the application as it was in the past.

The debugger also now supports authenticated Source Link requests for Visual Studio Team Services and private GitHub repositories, so you can see correctly matching source code by downloading it from the internet. Edge debugging has also been improved with the ability to debug and fix JavaScript issues from within Visual Studio in both Microsoft Edge and Google Chrome.