With Visual Studio 15 Preview 5, Performance Is Key

Performance comes in the form of shorter load times and more efficient memory usage across the tooling. and productivity are highlights of this latest preview.

The Visual Studio team has released a fifth preview of Visual Studio 15 that improves on performance and productivity across the tooling.

"With this Preview, I want to focus mostly on performance improvements, and in the coming days we'll have some follow-up posts about the performance gains we've seen.," writes Microsoft Program Manager John Montgomery, in a blog post.

Much of the performance gains he writes about have much to do with "lightweight loading" and "on-demand loading" when staring up VS 15. A new Lightweight Solution Load option can be turned on in Tools that will allow developers to edit and debug immediately, without having to wait for all projects to load.

VS 15 P5 also allows for extensions to be loaded on demand rather than upon startup. Montgomery said that the team is already doing this with Python and Xamarin extensions, and "are working on moving all extensions we ship with Visual Studio and extensions shipped by third party extension vendors to this model." He said that the team is working up an on-demand loading guide for extension builders.

Noteworthy are some behind-the-curtain improvements, such as placing memory-intensive tasks into separate processes. Montgomery calls out Git Source Control and the TypeScript language service as two memory hogs that are now being moved outside of the VS main process so code can run uninhibited. He said to expect better performance in future releases as more components are moved out of the main process.

Productivity improvements have been made to how developers navigate, edit and debug code as well.

With C#, C++, and VB, IntelliSense now has a filtering feature that narrows the list of API types that are scrolled through when IntelliSense pops up. With XAML, filtering is also working in the background, and IntelliSense now provides completion for the x:Bind compile time binding mechanism. When working with JavaScript, there's a new language service that "uses static analysis powered by TypeScript to provide more detailed IntelliSense, full ES6/ES7 coverage, and a more consistent editing experience," Montgomery notes.

Other improvements:

  • Additions to Quick Actions and Refactorings for C# and VB: Move Type to Matching File, Sync File and Type Name, Convert to Interpolated String
  • Code Navigation: Search for files, types and methods via Go To:, group, filter, sort, and nested searches with Find All Reference.
  • Debugging: Addition of experimental Run to Click feature and new Exception Helper dialog.

The release notes contains a full list of additions and improvements and known issues. Montgomery said that the preview is not ready for prime time and should be used for testing only.

About the Author

Michael Domingo is a long-time software publishing veteran, having started up and managed several developer publications for the Clipper compiler, Microsoft Access, and Visual Basic. He's also managed IT pubs for 1105 Media, including Microsoft Certified Professional Magazine and Virtualization Review before landing his current gig as Visual Studio Magazine Editor in Chief. Besides his publishing life, he's a professional photographer, whose work can be found by Googling domingophoto.

comments powered by Disqus


Subscribe on YouTube