Visual Studio 2017 Version 15.7 Preview 1

Christine

March 13th, 2018

Last week we released Visual Studio 2017 version 15.6 and Visual Studio for Mac version 7.4, and today we are releasing the first preview of the next minor update: Visual Studio 2017 version 15.7. We hope that you will use this Preview and share your feedback with us. To install, you can get it fresh from here or, if you already have a prior Preview installed, you can either click on the in-product notification or check for an update directly. Alternatively, if you have an Azure subscription, you can provision a virtual machine with this latest preview (starting tomorrow).

The top highlights of this Preview are described below and include productivity enhancements, better diagnostics, additional C++ development improvements, better management of Android and iOS environments, updated tooling for Universal Windows Platform and .NET Core projects, and an improved update experience. Please note that this is the first set of version 15.7 features; more goodness awaits in the next Preview. And as always, you can view the complete list of new features and details on how to enable them in the Visual Studio 2017 version 15.7 Preview release notes.

We appreciate your early adoption and feedback as it helps us ship the most high-quality tools to everyone in the Visual Studio community. Thank you for engaging in Visual Studio previews!

Productivity

UI Responsiveness: Performance and productivity are two areas we continually work on improving in Visual Studio. In Visual Studio 2017 version 15.7, we’re making some of the debugging windows asynchronous, which means that they will no longer block Visual Studio as they do work. This change will allow for faster stepping because you can continue interacting with Visual Studio without interruption. In this Preview, you should see the first of these improvements in the Threads, Callstack and Parallel Stacks windows, with more window improvements in future releases. As always, we’d love to hear your feedback on the Visual Studio debugger: email vsdbgfb@microsoft.com.

Diagnostics

Snapshot Debugging: The Visual Studio Snapshot Debugger can now be launched from the Debug -> Attach Snapshot Debugger menu item. The snapshot debugger in Visual Studio enables you to diagnose and debug issues your Azure Web Applications without impacting the availability of the application. You can learn more about the Visual Studio Snapshot debugger through our docs.

IntelliTrace Events and Snapshots for .NET Core: IntelliTrace’s new step-back debugging feature, first shipped in Visual Studio 2017 version 15.5, is now supported for debugging .NET Core applications. The feature automatically takes a snapshot of your application on each breakpoint and debugger step, enabling you to go back to a previous breakpoint or step and view the state of the application as it was in the past. To enable this feature, go to Tools > Options > IntelliTrace settings > and select ‘IntelliTrace events and snapshots’. IntelliTrace step-back is a Visual Studio Enterprise feature available on Windows 10 Anniversary Update or above for debugging .NET applications.

C++ Development

Code Analysis: C++ Core Check is now part of the default toolset for native code analysis. Whenever code analysis is executed over a project, a subset of rules is enabled from C++ Core Check in addition to default recommended rules.

Linux project properties: We added parallel compilation support for Linux projects, which may significantly improve build times; this can be enabled via Property Pages > C/C++ > Max Number of Parallel Compilation Jobs. We also added the “Public Project Include Directories” Linux project property to improve consumption of includes from project-to-project references in Linux solutions.

Compiler throughput: We’ve made changes in fastlink PDBs to reduce in-heap memory consumption by 30%. These changes reduce the time to hit the first breakpoint when debugging and makes single-stepping significantly faster. These changes also eliminate a major cause of out-of-memory crashes when debugging large projects.

ClangFormat: ClangFormat support for C++ developers was added to the IDE. Like with EditorConfig, you can use ClangFormat to automatically style and format your code as you type, in a way that can be enforced across your development team.

Universal Windows Platform Development

We have included the Windows 10 Insider Preview SDK, Build 17110 as an optional component associated with the Universal Windows Platform workload. We have also added support for generating Windows Machine Learning class wrappers for an ONNX file that is added to a UWP project. Currently, both components are optional but will be included by default in future preview releases.

.NET Mobile Development

Figuring out what Android SDKs to install for mobile development can be time consuming. Visual Studio 2017 version 15.7 adds a new Android SDK manager that takes the guesswork out of managing Android SDK installations. When opening a project for which you don’t have SDKs installed to build it, a notice will appear to help you download the required SDKs. After hitting “Download & Install” and accepting the relevant license agreement, the correct SDKs will automatically be installed in the background for you.

We are also making provisioning iOS devices for development easier. In Visual Studio 2017 version 15.7, we’re replacing requesting a development certificate, generating a signing key, adding a device in the Developer Center, and creating a provisioning profile with a single button. All the heavy lifting of provisioning an iOS device is handled for you in less than 30 seconds.

ASP.Net and Web Development

Visual Studio 2017 version 15.7, currently in preview, is the recommended version of Visual Studio to use with .NET Core 2.1, which is also currently in preview. .NET Core 2.1 has a bunch of new features like a new managed socket implementation and various improvements like better support for HTTPS. It doesn’t matter which you install first, either way Visual Studio 15.7 will find .NET Core 2.1 and offer it as an option.

Acquisition

The update experience is now more streamlined than ever in Visual Studio 2017. The yellow notification flag in the upper right-hand corner of the IDE will still notify you when an update is available, but you can now also initiate your own update check by going to Help -> Check for Updates. After you save your work and choose “Update Now”, Visual Studio will automatically apply the update and then reopen back where you left.

This new update experience is just the beginning of our investments in this area, and we’d love to hear your feedback in this space, particularly about how and when you want to apply updates. Please share your ideas with us via the Update Survey.

Try out the Preview today!

If you’re not familiar with Visual Studio Previews, take a moment to read the Visual Studio 2017 Release Rhythm. Remember that Visual Studio 2017 Previews can be installed side-by-side with other versions of Visual Studio and other installs of Visual Studio 2017 without adversely affecting either your machine or your productivity. Previews provide an opportunity for you to receive fixes faster and try out upcoming functionality before they become mainstream. Similarly, the Previews enable the Visual Studio engineering team to validate usage, incorporate suggestions, and detect flaws earlier in the development process. We are highly responsive to feedback coming in through the Previews and look forward to hearing from you.

Please get the Visual Studio Preview today, exercise your favorite workloads, and tell us what you think. If you have an Azure subscription, you can provision a virtual machine of this preview (starting tomorrow). You can report issues to us via the Report a Problem tool in Visual Studio or you can share a suggestion on UserVoice. You’ll be able to track your issues in the Visual Studio Developer Community where you can ask questions and find answers. You can also engage with us and other Visual Studio developers through our Visual Studio conversation in the Gitter community (requires GitHub account).