We have a good .NET user group here in Huntsville called HUNTUG (for Huntsville Users Group). They have a meeting at least once a month and are able to bring in talented speakers from the Southeast and beyond via sponsorship from Microsoft and other supporting companies. They always have lots of free food and technical magazines at the meetings, and often give away door prizes such as books, shirts, or software. I was lucky enough to win a great Visual Studio 2005 add-on called ReSharper at one of the latest meetings, and one of the chairpersons asked me to write a review of it for the software reviews section of the user group's site.

Here's said review: [more]

ReSharper for Visual Studio by JetBrains is a Visual Studio add-on that, after using for about a week, I realize I can no longer live without. It has helped me to look at existing code in a new light and has even shown me several good coding tips and tricks. Before using the tool, I was appreciative of the many coding tools included with Visual Studio 2005 (such as code formatting, refactoring, and code snippets support), but after using ReSharper for a substantial amount of time, I realize that I have been missing out on more advanced, helpful, and more productive features that 3rd party tools like this can offer.

ReSharper comes in editions for C#, VB.NET or both, and is priced at anywhere from free for a classroom license to $350 for a commercial license. The current version that I evaluated is 3.0 for Visual Studio 2005. They also offer a version for Visual Studio .NET 2003, and are tentatively planning a version 4 release for Visual Studio 2008 (including support for C# and VB.NET 3.5) in January 2008.

While ReSharper has many features (which are highlighted on the tool's website), I found several to be particularly useful. The tool gives more detailed error messages and more advanced warnings that Visual Studio does by default and includes the ability to rectify many of these potential problems automatically. ReSharper includes a more advanced "find usages" dialog and list that is more polished than the default feature. Also, the add-on makes navigating to references easier by providing a hyperlink interface on class or method names from anywhere when the control key is depressed (it even does this for declarative, plain-text event handlers in aspx files).

ReSharper is not without its faults, however. It re-routes many of the standard Visual Studio keyboard shortcuts and, although this can be configured to closely mimick the default behavior, it is still confusing sometimes. Visual Studio takes a performance hit when running ReSharper too (especially when first loading a project or if working on a slow machine). Also, the tool leaves a few meta data files and directories littered about your project folder (which are fairly harmless but can be a little annoying if you're a neat freak like me).

All in all, highly recommended.