Visual Studio 2017 Version 15.6 Preview 4

Today, we are excited to share the final Visual Studio 2017 version 15.6 feature preview, which builds upon earlier previews of Visual Studio 2017 version 15.6. This preview contains new features, bug fixes, and other enhancements that address your feedback.

The top highlights of this Preview are described in this blog post: an enhanced acquisition experience for updates, performance improvements, information about Visual Studio Live Share, better Build and Test Explorer tools, and various C++ improvements.  You can view the complete list of new features and details on how to enable them in the Visual Studio 2017 version 15.6 Preview release notes.

We hope that you will install and use the Preview and share your feedback with us.  If you’re on a Windows machine, 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 flag or check for an update directly.  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!

Performance

Solution Load: In Visual Studio 2017 version 15.5, we delivered improved solution load performance for large C# and VB solutions and in 15.6 Preview 2 we made “warm” loading of solutions twice as fast. In this Preview, we focused on .NET Core, and according to our lab measurements, we expect customers to see an average of 20 percent faster solution load times. Customers with large solutions (30+ projects) will see the most gains. UI Responsiveness: A consistent piece of feedback over the past several Visual Studio releases has been the request for transparency around extensions’ impact on performance and reliability. In this preview, extensions that are suspected of causing the UI to become unresponsive will now be reported too. The notification gives the option to disable the extension as well as the option to disable future notifications for that extension.

Diagnostics: The debugger’s Threads window significantly faster compared to the previous releases. Also, the window now works asynchronously which allows users to interact with Visual Studio while it processes data in the background. Developers will really appreciate these perf improvements, particularly when the target application being debugged uses a lot of threads.

Visual Studio Live Share

A few months ago at our Connect(); developer event we announced Visual Studio Live Share. With Visual Studio Live Share, you get real-time sharing in tools you love. You can share the full context of your code, collaboratively edit while still navigating files independently, securely share local servers, and even collaboratively debug while still retaining the ability to inspect on your own.

We’re excited to announce that we have started a limited private preview of Visual Studio Live Share with Visual Studio 2017 version 15.6 Preview 4! If you’re interested in actively participating, please sign-up and we’ll let you know when you’ve been added to the program.  We are working closely with a small group of developers in order to collect feedback and ensure we can deliver the best experience possible before opening the service more broadly.  For more information, please check out our documentation and FAQ.

C++ Development

CMake: You can now choose whether or not to automatically generate the CMake cache when you open new CMake projects in Visual Studio.

C++ linker improvements: Debugging large solutions with /Debug:fastlink PDBs is more robust. Changes in the PDB lead to reduced latency and a 30% reduction in heap memory consumption in the Visual Studio Debugger. Additionally, mapfile generation overhead is reduced in full linking scenarios. We still recommend using PDB files instead of mapfiles. C++ compiler improvements: The C++ team has made significant compile-time improvements. The compiler now optimizes your code to run faster through improved optimizations of pre-incremented loops and improved identification and propagation of constant global data in LTCG. We’ve also made it so that compile times are shorter compared to 15.5: the compiler front-end is between 3-5% faster on most inputs, the compiler optimizer is 3% faster due to reduced overhead of core optimization algorithms, and large LTCG compilations are 10% faster due to re-architected data structures. Profile-Guided Optimization: Profile-Guided Optimization is enabled and fully supported on ARM64.

Build Tools

The Visual Studio Build Tools allow you to create build servers without installing all of Visual Studio. In addition to supporting C++, ASP.NET, and .NET Core for Desktop projects, the Build Tools will now start supporting TypeScript and Node.js project types, and we expect to add support for more project types in future releases.  Here is the download location for the Visual Studio 2017 version 15.6 Preview Build Tools. There are also other improvements specifically to the MSBuild component of the Build Tools.   For example, MSBuild can now easily and seamlessly leverage NuGet to resolve SDKs without doing any extra package modification. We expect this feature to be popular, so we’ve created a SDK repository for everyone to use.  More information is available here, and please provide MSBuild feedback here.

Unit Testing

Navigate your tests by Project, Namespace, and Class in an expandable list by clicking the Hierarchy View button. In the hierarchy view you may notice that tests are ordered alphabetically. This has been an ask from many customers and we are excited to hear feedback.

Tests will be discovered automatically with Real time test discovery without requiring you to build your managed project. This allows the Test Explorer to stay in sync with code changes such as adding, removing, or editing tests. Note that unlike Hierarchy View feature described above which is available for all types of projects, the automatic test discovery feature is only available for C# and Visual Basic projects.

You can now configure your test discovery options in Tools > Options > Test. This includes the ability to turn off test discovery for managed tests to improve build performance when you are not testing.

Please 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 it becomes 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 install the Visual Studio Preview today, exercise your favorite workloads, and tell us what you think. 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).

Christine Ruana Principal Program Manager, Visual Studio

Christine is on the Visual Studio release engineering team and is responsible for making Visual Studio releases available to our customers around the world.