Visual Studio 2017 has just received its latest full update, version 15.5. Following the trends established by previous updates, this release addresses a broad set of features that should give nearly all users something to benefit from. One of the main areas focused on with this release is IDE performance, in particular reducing the Solution load times for C#/Visual Basic projects. .NET Core projects should also see quicker responses when it is time to perform files operations (add, removing, and renaming). Microsoft’s John Montgomery reports that based on Microsoft’s measurements, large C#/VB solutions load in half the time as compared to previous editions of VS2017.
Microsoft achieved these gains by moving from a sequential loading process to a more parallelized one. Previously, VS2017 performed the project load, design time build, and then updated IntelliSense. Now in 15.5, the IDE is able to perform the project load concurrently with the design time build, finishing with IntelliSense. Microsoft’s Viktor Veis recently described how these changes were made, and suggests using an SSD (even if only for the Windows partition) on your development machine for best results.
A new capability has been added to debugging with IntelliTrace: “Step-back”. When enabled, this allows developers to go both forwards and backwards between debugging breakpoints. Previously one could only go forward so debugging sessions had to be restarted when code was stepped through too far.
C++ developers will see expanded unit testing support in 15.5. When selected in the VS installer, the IDE supports Google Test and Boost.test. C++ developers will also see expanded Standard Template Library (STL) support for C++17 standards. According to Montgomery 75% of C++17 features are now supported.
Visual Studio 2017 15.5 is available for download now. Current VS2017 users can upgrade from within the IDE while those looking to try out the IDE can use one of the web-based installers. Full release notes are also available here, with a list of the full range of changes and bug fixes.