UPDATE: I want to thank the guys at JetBrains (the guys behind ReSharper) for their support of the local developer community. Every month it seems they are providing help in the form of licenses to the Perth .NET CoP, which Mitch has been giving away as door prizes. Not only that but when they sent me my license key they followed it up with some helpful advice on how to get started. Well done fellas.
I'm a big romantic at heart so today, being Valentine's Day and all, I did get a thoughtful gift for a special someone. That's right, my demo copy of ReSharper got a license key today.
3 months ago now I wrote a glowing review of CodeRush and said that I would spend the next 30 days looking at ReSharper. I installed the tool and the license ran out before I really had a chance to take it for a spin. This is unfortunate because although I did like ReSharper, from what I got to play with I liked CodeRush better. Rather than write that review and go out to hand money over to the CodeRush team straight away I waited to see what I would miss about ReSharper. I missed a whole lot, even from the limited set of features I'd had a chance to have a look at.
Without doubt, the coolest feature of ReSharper, for me, is the code analysis tools. ReSharper will analyse your code as you're writing it and point out errors and compiler warnings. It does all of this without having to actually build the code. I can hear the VB.NET guys laughing in the background at me right now as they've had this feature since the late 90s (at least) but ReSharper takes things a little further.
Not only does ReSharper find errors and potential problems in your code but it will also make suggestions on how to fix them. When the cursor is near one of these problem spots a little icon will appear and with a quick keystroke (alt+enter by default) it will bring up a context menu with potential fixes. Selecting one transforms your code in-place. It's like pair programming by yourself!
One of the issues that ReSharper is capable of finding and marking up is "dead code", that is code isn't being called from anywhere. This great when you are refactoring code as you get to unleash the power of the delete key with relative confidence.
To round all of this out there is a small sidebar added to the code editor window. This sidebar gives you a graphical overview of problems in your code showing errors, warnings, to-do comment tokens, and more in an easy to understand manner. clicking on an area in the sidebar even navigates you directly to the problem point so that you can make a change. The sidebar has a little traffic light-like status indicator as well so you can tell at a glance if all is well in your source code.
ReSharper also takes over a number of Visual Studio features, making them a little more intelligent. This includes: Refactoring tools, Intellisense and even the clipboard. ReSharper enhances little activities by auto-closing parenthesis and braces.
This is really just a small portion of the feature set. Like CodeRush, ReSharper is going to make your coding life easier in so many ways that you will really feel lost without it after a few weeks. I would say that ReSharper is harder to discover than CodeRush though. Where CodeRush tends to be very in your face about things, ReSharper seems to quietly sit in the background and make helpful suggestions.
Although my preference goes to CodeRush there are only three things that I can say I don't actually like about ReSharper. Firstly, presumably because it's doing all of that background analysis, it seems to chew up more system resources than CodeRush. Unfortunately I didn't do any performance profiling on CodeRush so it'd be hard to do a direct comparison.
Secondly, I found it much harder to figure out just what ReSharper could do for me. Perhaps this is unfair as it's coming straight after CodeRush which was so good at it. Unfortunately I still feel that those 30 days of the demo need to be spent learning ReSharper for you to decide whether or not you like it.
Lastly, although I haven't yet tried, I have heard that not all of the features are compatible with Visual Studio 2008 yet. This is a bit of a bummer. That being said, VS2008 integration seems to be a top feature for version 4.0 and a v3.1 license today will get you a free upgrade to v4.0 when it ships.
If it were my money it would probably go to CodeRush today. After a few more months of ReSharper I may need to change my mind but I got a handle on CodeRush that much quicker. That being said it was not my money and I did enjoy my ReSharper experience so ReSharper gets the opportunity to show me what it's got. I look forward to checking out the 31 days of ReSharper.
If you want to go and grab a 30-day trial head over here: http://www.jetbrains.com/resharper/download/index.html
If you are going to do that I would highly recommend that you dedicate some time getting to know it. You will need it, but it is worth it.
No new comments are allowed on this post.