The next version of Visual Studio has finally hit RC! The version formerly known as VS “15” is now called VS2017 and I wanted to take it for a spin and see what’s in store for us devs with the latest and greatest bits from Microsoft.
The new installer
In the past, developers used to schedule Visual Studio installations during lunch. Or just before bedtime. It was a huge juggernaut of an installer that took several hours to complete – with its bloat consuming your hard drive’s free space. Once a developer opened Visual Studio, they were immediately confronted with an endless plethora of tools and languages – most of which would never be used.
Those days are gone…
The new installer is lean and fast, and helps you choose the Visual Studio configuration that’s “just right” for your personal needs. I marked Desktop Development, Universal Apps Development and Node.js (just in case), and they were installed – quickly.
The only downside is that I barely had time to grab a cup of coffee.
The first thing I noticed when opening my new shiny Visual Studio were the dotted lines to the left of my code.
To be honest, at first I found these pretty irritating, as I don’t like my screen’s real-estate taken from me just to connect to curly brackets. But then I hovered over one of those lines and saw this:
That’s what happens when you hover over one of the dotted lines – you get a full structure visualization which shows the context you are in. I know there are extensions with similar functionality, but it’s not the same as having this experience out of the box.
And yes – it also works with XAML – although, if the root node is long, it gets a bit jarring:
Navigation and Editing
I’ve been using ReSharper from the beginning of the century (2003), and would probably continue to use it till the end of time. For some reason I did not install my trusty productivity tool of choice on the new installation (yet) – and boy was I amazed.
First I found new Go To commands – which work amazingly well.
Just press Ctrl + T and write the class/file/method name/whatever and it works. You no longer need to filter the solution. It does not have the full functionality that R# has (specifically, CamelHumps search is notably missing) but it would probably be good enough for many developers. I did have problems with key bindings at the beginning, but once I reset my local keyboard bindings I could use Ctrl + T to navigate, just like I did before with my (still) favorite productivity tool of choice.
Then I tried the new and improved Find All References, which has proper filtering and search, and looks better than ever:
And finally I found to my delight that “Move Type to File” refactoring was one of the new refactorings added. It means that I can write two classes side by side and then move one of them to a new file with that class name.
I wrote about MSTest V2 on my personal blog and was happy to see that new NuGet enabled MSTest is the default go to “Unit testing project”. Definitely a step in the right direction.
On top of that in the VS version I installed (Enterprise) there’s a new object under the Test menu called Live Unit Testing – at first I had no clue what it might be. so I turned it on. At first nothing happened but after my first compilation I saw something interesting:
It looks as if Microsoft has jumped on the Continuous Testing bandwagon and at least for my simple borderline trivial example, it managed to update the test results with each code update.
Right now, it looks like there’s also a way to see the “live test run” in the test results window – or the good old “regular” test runs
A new menu item was added called “Project” which looks mighty familiar since it has most of the commands that show when you right click on the project in the solution window.
Needless to say – all of the options are for the current project.
I think I’ll start using it since I can quickly get there using my keyboard, and I don’t need to search the current project with my mouse. But there’s more – a close inspection shows two very interesting items , “Add analyzer” and “Export template”, which I need to check out soon.
There many good news as far as debugging using Visual Studio: performance improvements make he debugger run faster and a few cool features were added such as a small icon to run up to that point in code (in case you never used Ctrl + F10 and like the mouse) and the much needed ability to add conditions to exception settings.
And yes – OzCode is fully supported in VS017 – in fact we’re happy to announce that for the second release in a row, OzCode an official Visual Studio Sim-Ship partner. And yes, the new magical LINQ debugging capabilities are already supported in VS2017.
What do you think about the shiny new VS2017 bits? Sound off in the comments below.