My first thought was- why is it so small- after logging into my.visualstudio.com and loading up the download/update manager I was surprised that “all” of visual studio would have an install size of 600MB. What!?!?! No Way. The install went off without a hitch until I tried to open up one of my solutions. It was nothing fancy- just a console application, but here is where MS dropped the bomb- it doesn’t come with .NET development out of the box… but I guess that’s my bias being a .NET developer. I had to “install missing features” which included .NET development (2GB is more like it!!!). I don’t know how big the install files were- but it was quite speedy even on my slower than a lumbering polar bear of an internet connection. And of course we get the standard restart required after this install.
Opened up my solution and ran with debugging. Nuget packages were restored, and everything went off without a hitch! Now lets review some of the new features!
Live Unit Testing
Let’s be honest we all like unit tests- but the UI can be clunky depending on what you’re doing. I’ve conditioned myself to enjoy seeing all those passes, so it’s not something that’s too terrible. However, it seems like there’s even more visual treats in live unit testing. Enter the side by side (screenshot from a demo by Microsoft):
As you can see the tests are on the left with the actual code being tested on the right. If you have broken unit tests you get red Xs. Passing unit tests are green check-marks and code without unit test coverage is represented with blue dashes. So many glyphs! Anyways, here is what happens when you fix that pesky test:
So this is more visually clear when you’re at the test level. However, I’ll have to try this on a real project to see if there are any drawbacks and if it changes my workflow at all.
From my perspective there are quite a few wins here:
Null Reference Analysis
If you’re ever debugging code and run into a null reference exception- you might not have a good visual indication of where the null ref is coming from if you have a bunch of methods chained together. In this manufactured example the exception helper comes right out and tells us what is null (s was null).
Inner Exceptions right away
Hooray! I feel like we’ve been waiting for this. I’m not going to miss navigating those tree menus.
Great! One thing that I often want to do when I’m troubleshooting my exception is hover over some of my variables and objects and see their values. This can be hard to do if you basically have to close the exception. Hence why I’m so good at copying to the clipboard and pasting in notepad++. Maybe this will change that?
Run to Click
Again this one seems obvious in hindsight- I’ve gotten used to putting a breakpoints on the offending line of code. Sometimes when you’re just running through code (especially when learning a code base) you don’t need to be setting breakpoints, you just need to indicate “run until here”. So basically we’ve removed an extra key press (F5) in some situations. I’m happy with it! With how much time I spend debugging this will probably be hours of my life back.
I didn’t see anything that scared me nor raised my eyebrows. I was able to open up prior projects with no problem. Install and download time was a HUGE improvement despite my snippity bit earlier about having to install an extra “workload” (this is what Microsoft calls their large development framework modules). Microsoft is clearly aiming to become more modular with Visual Studio as opposed to the previously strategy of “ship it all”. The cloud integration looks better than it was, but I didn’t get a chance to try it out. On the whole the new features seem like good enhancements, but nothing groundbreaking.