Visual Studio 2017 15.5 Ships with Better Performance, Debugging, More
Performance boosts in many areas highlight a host of improvements to the new Visual Studio 2017 Version 15.5, just released yesterday along with Visual Studio for Mac.
Coming less than two months after v15.4 was launched, the latest iteration now loads large C# and Visual Basic projects twice as fast.
"The primary way we achieved this was by starting the design-time build process earlier and by batching the design-time build operations for all projects and executing them in parallel with other solution load operations," said VS exec John Montgomery in a blog post yesterday. The company provided a video to show much faster an Orchard Content Management System solution loads before and after optimization.
Other tweaks lessen the time to switch between debug and release workflows, speed up file/folder handling in .NET Core projects, more quickly unfold project templates and more.
Debugging -- always a point of focus for VS developers -- is improved through the introduction of historical -- or step-back -- functionality, which provides automatic snapshots of an application's state at each breakpoint and debugger step that can be reviewed and inspected in turn.
Language support functionality has also been improved, with a host of modifications to Visual C++ programming (read about that here) and also improvements for Visual C# and Visual F#, the latter of which has received .NET Core SDK project support. That feature, for one example, lets developers create new .NET Core console apps, .NET Standard libraries and .NET Core unit test projects from the File > New Project menu (read more about that here)
Also, Visual C# developers can now use features found in C# version 7.2, such as Span<T>, the readonly struct modifier and the private protected access modifier.
On the mobile side of things, functionality surrounding Xamarin Live Player (introduced in v 15.4) was enhanced.
"The Xamarin Live Player enables you to develop, test, and debug mobile apps directly on your iOS and Android devices, all you need is Visual Studio and a device," Montgomery said earlier when the feature was introduced. "Optimized for Xamarin.Forms, you can modify your XAML code and see changes reflected in real-time on device without having to compile or wait for a full deploy. This functionality is just a checkbox away, so be sure to give it a try and let us know what you think."
In the new v15.5, Microsoft said developers can now use Xamarin Live Player to preview XAML in an Android emulator or an iOS simulator on a Mac live as they type, with the ability to render design-time data.
"Previewing XAML with the Xamarin Live Player feels natural; as you move from document to document, Visual Studio will automatically preview the active XAML document for you," said Xamarin exec Pierce Boggan in his own blog post yesterday. "Entering 'Live Run' mode to quickly iterate and see code changes reflected in your UI on device or simulator is as easy as pressing Shift+Alt+F5, or by clicking the 'Live Run' button that appears at the top of the editor for XAML.
"Live Player devices act and feel just like regular emulator and device debug targets. The Xamarin Live Player already supports breakpoints when debugging, and we've improved how the overall functionality integrates into Visual Studio in this release, including integration with the Console and Error windows."
Boggan also noted that the Remoted iOS Simulator -- which lets developers test and debug iOS apps entirely in Visual Studio on Windows without the need for a Mac -- is available for all Visual Studio editions, including the free Community edition.
Speaking of Macs, Boggan also said it's now easier to pair a Windows machine with a Mac via a new connection workflow.
Finally, Boggan mentioned improved .NET Standard support for Xamarin. "Developers are excited about .NET Standard for sharing code across iOS, Android, and Windows, and have been asking us to make it easy to get started with Xamarin.Forms and .NET Standard," he said. "Beginning today, File -> New -> Cross-Platform App (Xamarin.Forms) will give you the option to select .NET Standard as your code sharing strategy. In addition, we know that sometimes you begin a project with certain platforms in mind, so we have also added the ability to select which platforms your app will target."
In other changes to Visual Studio 2017 15.5:
- The existing Docker support has been enhanced to include multi-stage Dockerfiles. "The continuous delivery features make it easy to configure Visual Studio Team Services to set up CD for ASP.NET and ASP.NET Core projects to Azure App Service," Microsoft said.
- Unit testing has been enhanced for managed languages and C++. Coders using the latter language now enjoy integrated support for Google Test and Boost.test.
- Developers using Visual Studio tools for Azure Functions can now leverage .NET Core in their projects. Microsoft provided guidance on all the improvements to Azure Functions in Visual Studio.
- Web developers using Angular 2 gain the ability to see errors, completions and code navigation within inline templates and .ngml template files.
- Security is improved through better secrets management. "Visual Studio has added features to help identify and manage secrets like database connection strings and Web service keys," Microsoft said. "We have a preview of support for credential scanning that can easily read through your source files to ensure you don't unintentionally publish key secrets into your source repo. And the integrated support for Azure KeyVault gives you an easy place to publish those secrets (and get them out of your source code)." More on secrets is available here.
As noted, Visual Studio for Mac was also released, with version 7.3 highlights listed as:
- Visual Studio Test Platform (VSTest) support. Visual Studio for Mac now supports a wider variety of test frameworks through the integration of VSTest, giving developers more choice in the test frameworks they want to use. Frameworks such as MSTest or xUnit can now be used within Visual Studio for Mac via NuGet adapter packages.
- New Roslyn based refactorings. The editor in Visual Studio for Mac has improved support for refactoring, helping developers write more maintainable code. "Generate From Usage," "Change Method Signature" and "Extract Interface" are now offered as refactorings within C# code.
- Updater support for .NET Core. Visual Studio for Mac will now check to see if the .NET Core 2.0 SDK is installed when checking for updates. If not, developers can easily download and install it via the Visual Studio Update dialog instead of the previous manual installation.
- Automatic iOS app signing. Visual Studio for Mac now offers automatic signing of iOS apps, boosting developer productivity by reducing the number of manual steps required to prepare iOS apps for distribution.
Microsoft said the Mac offering also includes several reliability improvements that decrease memory usage, increase performance and reduce crashes.
All of these changes and many more are provided in detail in the release notes.
The new Visual Studio 2017 Version 15.5 can be downloaded here.
David Ramel is the editor of Visual Studio Magazine.