March 21st, 2018

Visual Studio 2017 Version 15.7 Preview 2

Christine Ruana
Principal Program Manager

Today we released the second preview of the next update: Visual Studio 2017 version 15.7. We hope that you will use this Preview and share your feedback with us. To use the Preview, you can either install it fresh from here, you can update the bits directly from the IDE, or if you have an Azure subscription, you can provision a virtual machine with this latest preview (starting tomorrow).

The top highlights of this Preview include:

  • Improved intellisense for conditional XAML
  • Additional C++ development improvements
  • Streamlined configuration for updating UWP apps
  • Inclusion of TypeScript 2.8
  • Ability to debug JavaScript files using Microsoft Edge
  • Tooling to prevent Web application permission problems
  • Support for building additional project types on the build servers.

This second Preview builds upon the features we added in Preview 1. As always, you can drill into the details of these features by exploring the Visual Studio 2017 version 15.7 Preview release notes. We appreciate your early adoption, engagement, and feedback as it helps us ship the most high-quality tools to everyone in the Visual Studio community.

Productivity

XAML Intellisense: The XAML editor now provides IntelliSense for authoring conditional XAML. When using a type that is not present in the target min version of your app, the XAML editor now not only warns but also provides several options to fix it. The quick fix figures out the right conditional using statement based on the platform version where the type was first introduced, allowing the app to target a wider range of platform versions while being able to consume the latest controls.

XAML IntelliSense

C++ Development

Code Analysis: Five new rules enforcing items from the C++ Core Guidelines regarding use of the Guidelines Support Library are now available.

C++ Standards Conformance: Five more C++17 Standard features are added to the compiler and IntelliSense in this release, making MSVC much closer to be fully compliant with the latest C++ Standard. As an example, extend template argument deduction for functions to constructors of template classes – when you construct a class template you no longer have to specify the arguments. You can now have public base classes in aggregate types, so that they can be initialized using aggregate initialization syntax without writing boilerplate constructors. In braced initializer lists, bases are initialized first, followed by data members.

C++17 Template argument deduction for class
Before After
pair<int, double> p(2, 4.5);

auto t = make_tuple(4, 3, 2.5);

lock_guard<std::mutex> lck(foo.mtx);

pair p(2, 4.5);

tuple t(4, 3, 2.5);

auto lck = lock_guard(foo.mtx);

We are now complete with the full implementation of C++11 Expression SFINAE, and have made the corresponding Standard Library changes. We have also implemented parallel algorithms conforming to the ISO C++17 standard.

For more C++ feature additions, please see the release notes.

Universal Windows Platform Development

Automatic updates for sideloaded UWP apps: The Universal Windows Platform allows distributing applications without the Microsoft Store by using a mechanism called “sideloading”. With Visual Studio 2017 version 15.7 Preview 2 using the latest Windows 10 Insider Preview SDK, there is now tooling to easily configure the automatic update settings for these UWP apps.

UWP Side load Update Settings

TypeScript and JavaScript Development

Compiler: Visual Studio 2017 version 15.7 will include TypeScript 2.8.

Developer Productivity: We’ve continued our push to help make TypeScript and JavaScript developers more productive by adding support for fixing all occurrences of a problem in a document (for example, removing unused variables), organizing imports (including sorting and removing unused declarations), and displaying the lightbulb more proactively when optional improvements are possible. We’ve also fixed some of the top issues raised by customers, including premature triggering of snippets, un-cancellable refactorings, hard-to-disable formatting, and incorrect TypeScript version selection. These improvements are powered by TypeScript 2.8, so for the best experience, we recommend updating your existing projects to use the latest TypeScript version.

Performance: One of the best ways to make developers more productive is to improve the performance of their tools.  To that end, we’ve made background analysis of closed files optional (Only report diagnostics for files opened in the editor under Tools > Options > TextEditor > JavaScript/TypeScript / Project).  We’ve also added support for jsconfig.json – analogous to tsconfig.json – so that JavaScript developers can fine-tune their language service experience in the same way as TypeScript developers.

Debugging using Microsoft Edge: Visual Studio ASP.NET and .NET core developers on Windows Insider builds can now set breakpoints and debug their JavaScript files using Microsoft Edge browser. Visual Studio will use the new Edge DevTools Protocol developed by the Microsoft Edge team when targeting Microsoft Edge browser, which means that developers will be able to debug and fix JavaScript issues from within Visual Studio in both Microsoft Edge and Google Chrome. We are glad to enable this oft requested feature from our customers and would love to hear what you think about it.

Web Development

It is often tricky and time consuming to diagnose runtime application permission problems. In Visual Studio 2017 version 15.7, we’ve made a change to help you identify a specific kind of access issue during development. When running an ASP.NET or ASP.NET Core application on the local machine, the app may not have access to the Key Vault from the account specified under Tools | Options | Azure Service Authentication, and thus won’t be able to run locally. Visual Studio will now detect that case and provide a proactive error during development. This type of diagnostic will shorten the time it takes to discover and fix this local runtime permission problem.

Build Tools

The Visual Studio 2017 Build Tools allow you to create build servers without installing the entire Visual Studio editing environment. Over the past few updates, we’ve been expanding the matrix of project types that the Build Tools support. In the last minor release, we added the ability to build TypeScript and Node.js project types, and in this release we are adding support for building additional project types such as Azure, Office and Sharepoint, Mobile development with .NET (Xamarin), ClickOnce, Docker Tools, Test Tools, and installing into containers. Click here to download the preview release of the Visual Studio Build Tools and try out these new capabilities.

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). Thank you for using the Visual Studio Previews.

Author

Christine Ruana
Principal Program Manager

Christine started at Microsoft as an intern in 1991 on Word 1. She is currently a Program Manager on the Visual Studio release and acquisition team, and is focusing on helping enterprises easily acquire the product and stay secure. She lives in Redmond, Washington with two children in college and one still at home. She enjoys rock climbing and traveling and watching her peeps pursue their passions.