News

What's New in Visual Studio 2017 15.8

New features in Visual Studio 2017 15.8 focus on productivity and performance.

Here's a rundown of four new features the Visual Studio team pointed out in announcing the new release, which shipped yesterday (Aug. 14).

Multi-Caret Editing Improvements
This makes it easier to simultaneously edit code located in multiple locations in a file. Developers can create insertion points and selections at multiple locations and then add, edit, or delete text at the same time.

Microsoft detailed the two-step process:

  • Insert carets with Ctrl + Alt + LeftMouseClick
  • Add a selection and caret at next location that matches current selection with Shift + Alt + Ins.

To see further available actions, developers can use the menu, Edit > Multiple Carets.

Implementation of this feature illustrates the effectiveness of contributing feature ideas via Visual Studio's UserVoice site, as this functionality was requested in this issue, which said:

Multiple selections/cursors in Sublime Text is by far the most useful editor feature I have in my toolbox. Using search and replace in Visual Studio is slow and unwieldy in comparison and I find myself frequently copying blocks of text into Sublime Text just to perform versatile edits using multiple cursors, after which I copy the result back into Visual Studio.

A future version of Visual Studio would win huge points with this feature alone.

It took some time doing (the issue was raised September 2013), but Microsoft completed the request with v15.8 Preview 3, replying last month:

"We have introduced native support for Multi-Caret editing and selection. You can find all features/actions under the Edit > Multiple Cursors menu when you have focus in the editor. Currently, you can insert multiple carets, add a selection on the next match, and add selections on all matches. We look forward to hearing your feedback as we continue to improve this feature!

Faster Git Branch Switching
The new version provides much faster Git branch checkout and branch switching for Chttps://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#, VB and C++ projects, Microsoft said, because large solutions no longer require reloads.

Faster Unit Test Execution
Test performance, Microsoft's John Montgomery said in a blog post yesterday, received a big boost. "We significantly improved performance when running a few tests in a large solution with multiple test projects," he said. "In our lab, a solution with over 10,000 MSTests executed a single test up to 82 percent faster!

TypeScript 3.0 Support
While Visual Studio 2017 15.8 Preview 3 released in June supported TypeScript 2.9, the new v15.8 supports TypeScript 3.0, which just shipped last month.

In announcing TypeScript 3.0, Microsoft's Daniel Rosenwasser highlighted new project reference functionality, designed to better support various project scenarios, such as multiple folders with a variety of interdependent and shared code strategies.

"Project references allow TypeScript projects to depend on other TypeScript projects -- specifically, allowing tsconfig.json files to reference other tsconfig.json files," Rosenwasser said. "Specifying these dependencies makes it easier to split your code into smaller projects, since it gives TypeScript (and tools around it) a way to understand build ordering and output structure. That means things like faster builds that work incrementally, and support for transparently navigating, editing, and refactoring across projects. Since 3.0 lays the foundation and exposes the APIs, any build tool should be able to provide this."

Now, of course, those build tools include Visual Studio 2017 15.8.

Full details of the new release, as explained in the release notes, include this lengthy list:

Visual Studio 2017 15.8 can be downloaded here.

About the Author

David Ramel is the editor of Visual Studio Magazine.

comments powered by Disqus
Most   Popular
Upcoming Events

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.