Reviews

Review: ReSharper

ReSharper 1.0.1
$99
JetBrains
Prague, Czech Republic
+420 2 4172 2501
(609) 714-7883
www.jetbrains.com

JetBrains have been in the Java world for a while, producing the popular IntelliJ IDEA IDE. Now they've moved in on .NET with this product, an add-in for making C# code editing more efficient (sorry, users of other .NET languages need not apply yet).

The package is one of those that's loaded with functionality, and thus has a pretty steep learning curve. Although everything is available through a main ReSharper menu, and occasionally through a context menu, it's clear from the help that you should learn the keyboard shortcuts for efficiency. If you're a keyboard-oriented coder, of course, this won't bother you.

Refactorings are perhaps the sexiest feature here, or at least the one for which JetBrains is best known. You can extract a method, change a method to a property, do various smart renamings, and so on. I tried these out, and they work well and quickly. Anything that lowers the bar for refactoring code is a good thing, as it makes it possible to backtrack past old mistakes without fretting too much about side effects.

But there's a lot besides refactorings here. Take the code editing features, for example. There are advanced types of code completion (it's smart enough to match data types when selecting things to offer as matches), the ability to quickly insert code structures such as try/catch, and live templates that fill in gobs of code with little effort and then prompt you to fill in variable names.

There are also plenty of fit and finish touches. These range from a richer syntax coloring than the VS .NET default to showing you matching braces to marginal symbols that indicate when a method overrides a method of a parent. All of this stuff just works, and it's easy to get used to it, as well as to the enhanced error checking that lets you find dubious code without needing to compile.

ReSharper also offers functions for navigating code and finding the usage of various things. For example, you can quickly navigate to the base class declaration that you're modifying, or highlight all the uses of a variable in a file.

Overall, I like the way ReSharper turned out. The flow is smooth and well-integrated with VS .NET, and the functionality is useful. My only hesitation comes from the exclusively C# focus. If they also worked in VB .NET, I'd say any .NET developer needs a copy. If you're a C# person, it's definitely worth your while to take the free test drive.