What’s new in Microsoft’s Visual Studio 2017

The Version 15.6 beta provides a raft of C++ improvements, as well as enhancements for developer productivity and diagnostics

What’s new in Microsoft's Visual Studio 2017
Thinkstock

The third and final beta of the Version 15.6 update to Microsoft’s Visual Studio 2017 IDE is now available.

Visual Studio 2017 15.6 beta’s features

In February, Microsoft released its feature-complete beta for Visual Studio 2017 15.6. Its features include:

  • Faster load times for .Net Core.
  • Notifications about extensions that could cause the UI to become unresponsive. Developers are given an option to disable the extension and disable future notifications pertaining to that extension.
  • For diagnostics, the debugger’s threads window is significantly faster. The window also is now asynchronous, so users can interact with Visual Studio while data is processed in the background.
  • For C++ development, developers can choose whether to automatically generate the CMake cache when opening CMake projects. CMake is a tool for defining build processes that run across multiple platforms.
  • C++ linker improvements involve changes to the PDB (program database), which has reduced latency and enabled a 30 percent reduction in heap memory consumption with the Visual Studio Debugger.
  • Compile-time improvements have been made for C++, via improved optimizations of pre-incremented loops and better propagation of constant global data in link-time code generation.
  • Build tools in Visual Studio now support TypeScript and Node.js project types.
  • A limited, private preview is being offered for Visual Studio Live Share, which provides for real-time collaboration among teams. Interested developers can sign up on the Visual Studio Live Share website.

Microsoft on January 10 released a second beta of Visual Studio 2017 15.6. Its features include:

  • Improved solution load performance, focused on scenarios where a project already has been opened.
  • The design time build cache has been optimized, with project data loading now done in parallel. Visual Studio thus can use the disk and CPU with greater efficiency. Microsoft has found that large C# and Visual Basic solutions will “warm-load” twice as fast as before.
  • For productivity, the beta lets developers navigate to decompiled sources.
  • For diagnostics, the CPU usage tool now displays logical call stacks for asynchronous code when used during post-mortem profiling with the Alt-Z Performance profiler. Asynchronous code running on behalf of a parent function or task appears as a child in Call Tree and Caller/Callee views. This view makes it easier to navigate asynchronous code and understand performance.
  • For Azure cloud development, continuous delivery can be configured for solutions with ASP.Net Core projects.
  • The Test Explorer capability, for running tests, has added a hierarchy to organize tests by project, namespace, and class.
  • Test Explorer has changed real-time test discovery so it is now on by default, rather than require a flag be set.

The preview also offers new capabilities for C++ developers:

  • For C++ standards conformance, the preview implements more of the C++ 17 standard library, including APIs such as stable_sort and partition.
  • Missing include files are automatically discovered for C++ Open Folder if under the workspace root.
  • Debug options are now available for embedded ARM GCC development.
  • Five new checks have been added to enforce rules around integer overflow and additional rules for C++ guidelines.
  • CMake projects are now automatically listed in Test Explorer.

Features introduced in the December 8, 2017, initial beta include:

  • The CPU Usage tool shows source-line highlighting based on consumption of specific lines of code.
  • Using Intellisense capabilities for Python code no longer requires a completion database.
  • The Team Explorer collaboration tool improves Git tags functionality, with the Tags tile available for viewing all tags in a repo. Developers also can delete and push tags and build a new branch from tags.
  • Access to the App Authentication Extension, for configuring a device to use protected settings when working with the Azure cloud, has been moved into the main setup.
  • Real-time test discovery, used for projects using the Roslyn compiler to find tests and populate the Test Explorer, is on by default. It had been available via a flag in the Version 15.5 release.
  • For Azure cloud development, Visual Studio supports configuring continuous delivery to Azure for Team Foundation Version Control, Git SSH remotes, and web apps for containers.
  • The WCF Web Service Reference connected service provider now supports an existing service reference, simplifying the process of regenerating client proxy code for an updated web service.

Where to download the Visual Studio 15.6 beta

You can download the Version 15.6 beta at the Visual Studio website.

Now available: Visual Studio 2017 15.5 features

Visual Studio 2017 15.5 was released on December 4, featuring faster load times for C# and Visual Basic.

Visual Studio 2017 15.5’s compiler and standard library gained the following new support for the C++ 17 standard:

  • The compiler supports about 75 percent of C++ 17 features, including structured bindings, constexpr lambdas, inline variables, and float expressions.
  • C++ code generation has been improved.
  • New C++ Core Guidelines checks should ensure the quality of C++ code.
  • Support for the Google Test Framework assists with writing Google Test C++ unit tests
  • The Linux C++ workload supports cross-compilation for ARM microcontrollers.

Also new in Visual Studio 15.5:

  • For Angular 2, the platform supports inline and .ngml template files, via the Angular 2 language service. This assists with TypeScript and JavaScript development.
  • For the TypeScript and JavaScript language service, an issue causing more memory to be used than intended has been fixed. This same issue also could have caused loading of the wrong version of TypeScript in multiproject efforts. To improve performance and reliability in large projects, the Only Analyze Projects Which Contain Files Opened in the Editor checkbox has been added in the JavaScript/TypeScript Text Editor Project Options page.
  • The IntelliTrace stepback debugging capability adds support for ASP.Net applications that are running in IIS (Internet Information Services) Express. Stepback debugging, introduced in the first beta, takes a snapshot of an application on each breakpoint and debugger step, helping with the development review process.
  • The remote tasks capability lets developers run a command on a remote system defined in the Visual Studio Connection Manager. Developers also can copy files to the remote system.
  • The F# Language Support checkbox in the .Net desktop development workload has been renamed to F# Desktop Support, reflecting that it includes just F# and .Net Framework templates.
  • F# language support is installed by default with a workload that requires .Net Core 2.0. F# .is included in the .Net Core 2.0 SDK.
  • It supports the beta version of the Language Server Protocol, which lets developers use languages for which Visual Studio does not provide native support. The Language Server Protocol beta is available as an extension on Visual Studio Marketplace.
  • Secrets management, for identifying secrets such as database connection streams and web service keys.
  • Xamarin Live Player, for continuously deploying and debugging mobile apps using Visual Studio and an iOS or Android device.
  • The ability to use .Net Core, the cross-platform version of .Net, with the Azure Functions serverless computing platform.
  • Support for Git submodules and work trees in Team Explorer.

Where to download Visual Studio 15.5

You can download Visual Studio 15.5 from the project website.