OzCode Review - The magical extension that takes the pain out of debugging
Posted on Thursday, 10 Mar 2016
TLDR; Yes, OzCode is easily worth the money. It doesn't take you long to realise the amount of time it saves you in debugging quickly pays for itself over time.
Debugging code can be both hard and time-consuming. Thankfully, the guys over at OzCode have been working hard to battle the debugging time sink-hole by developing OzCode, a magically intelligent debugging extension for Visual Studio.
Remembering back to when I first installed OzCode (when it was in its beta stage!), it took all of a few minutes to see that the OzCode team were onto a winner. I clearly remember entering into debug mode by pressing F5 and watching my Visual Studio code window light up with a host of new debugging tools. Tools that I've been crying out for in Visual Studio (or other editors for that matter!) for a long time. In fact, OzCode has changed the way I debug altogether.
What does OzCode cost, and is it worth it?
Before continuing, let's go over the price. OzCode is a paid for Visual Studio extension, coming in at an extremely reasonable $79 (£55) for a personal licence. Is it worth the money? Definitely.
I'm always happy to pay for good software and OzCode is no exception. Suffice it to say, it doesn't take long to realise the value it provides and how quickly it pays for itself in the time it saves you. Don't believe me? Go try the free 30-day trial and see for yourself. I purchased it as soon as it was out of public beta as it was clear it was worth the money.
It's also worth mentioning that OzCode do provide open-source licences and to Microsoft MVPs.
So without further ado, let's take a deeper look at OzCode and some of the features that make it one of the first extensions I install when setting up a new development machine, and why I think you'll love it.
OzCode's magic glance feature is by far the biggest change to how you'll debug your code, and probably the first thing you'll notice when entering into debug mode. Normally, when you're trying to find out the value of a variable or property within Visual Studio you need to hover over the variable(s) you'd like to inspect. This is less than perfect as the more variables you have to inspect then the more time it'll take you hovering over them to keep track of what's changing. This is what OzCode's Magic Glance feature steps in.
With OzCode installed and Magic Glance at your disposal, you're treated to a helpful display of variable/parameter values without the requirement to hover over them. This also helps you build a better mental model and holistic view of the data you're debugging.
Collections (or any derivative of an array) receive an even larger dosage of OzCode love with the Reveal feature. If you've ever had to view specific properties within a collection then you'll know it's not the most pleasant experience.
OzCode simplifies the process of reviewing data in a collection by providing you with the ability to mark properties within a collection as favourites (via a toggleable star icon) which make them instantly visible above the variable.
Linked closely to the aforementioned Reveal function, Search adds the additional benefit of being able to search a collection for a particular value. To do this simply inspect the collection and enter the value you're searching for. OzCode will then filter the results that match your input. By default OzCode will perform a shallow search on your collection (I'd imagine this is for performance purposes) - however, if your object graph is deeper then you can easily drill down even deeper.
If you've ever had to split a complex expression up in order to see the values whilst debugging then OzCode's Investigate feature will be music to your ears. When reaching a complex (or simple) if statement, OzCode adds visual aids to the expressions to indicate whether they're true of false.
Quick Attach to a process
OzCode's Quick Attach to a process feature is easily one of my most used features - and I'll explain why in a second. Depending on your project type, you either have to enter debugging mode by pressing F5, or by manually attaching your build to a process. With OzCode, they've greatly simplified this process, and as a keyboard shortcut junkie - they've also provided shortcuts to make it even faster.
Using shortcuts to attach to a process via quickly became my de facto way of entering debugging mode, and it saves me a tonne of time. Friends and colleagues are often impressed at how quickly I'm able to enter debugging mode, to which I explain that it's all thanks OzCode. Debugging is now a single keypress away and I love it! (as opposed to multiple clicks, or waiting for Visual Studio to launch my application in a new browser window)
Loads more features
These are just a few of my favourite features that easily make OzCode worth the money.
If you want to see a full list of features then I'd recommend taking a look over OzCode's features page.
- Predict the Future
- Live Coding
- Conditional Breakpoints
- When Set... Break
- Exceptions Trails
- Predicting Exceptions
- Custom Expressions
- Quick Actions
- Show All Instances
Future of OzCode
The future of OzCode is looking bright. With code analysis tools now being able to leverage Roslyn platform I can't wait to see what wizardry the OzCode guys come up with next. For a sneak peek at some of the great features on the horizon I would definitely recommend this recent OzCode webinar. If you've only got a few minutes then I would highly recommend you take that time to check out the 28-minute mark at the LINQ visualisation.
Any questions about this review or OzCode itself then feel free to ask!