Review: JetBrains ReSharper 5

A superior Visual Studio add-in

Microsoft's Visual Studio 2010 IDE is one of the best in the software development business today. As a result of years of ultra-refinement, there is little out of the box that fails to satisfy even the most jaded developers. Even so, those .NET developers who live their coding lives inside Visual Studio know the IDE's shortcomings better than others. Over time, these shortcomings become major irritations. The most prevalent irritations I encounter are anything that makes me type more than I have to, or having the IDE logically identify and execute what I want it to do given the context within the problem set I am working on.

Fortunately for me, and for other demanding developers, JetBrains knows our pain and has come to the rescue with a salve that will smooth over the annoyances and make living in the IDE not only bearable, but fun again. This productivity-accelerating tool is called ReSharper. In its fifth generation, ReSharper 5 builds on what the product has already established its reputation on: accelerating the mundane and getting out of the way. I have tried other code-assist VS add-ins, and they either didn't figure out the ideal context of my look-up needs, or they slowed down IDE too greatly while they chewed away on being context-sensitive.  ReSharper exhibits none of these negative traits. Indeed, its performance appeared nearly as snappy as a native VS2010 code editor feature.

A Slew of Useful Features
The most frequent ReSharper functions I call upon are the code and symbol completion, navigation, and syntax highlighting. I also appreciate the more recently added real-time code analysis that identifies code reference and syntax issues before the compiler has to work to catch these. The feature works on C#, ASP.NET code-behind, ASP.NET MVC, and XML/XAML semantics. It even offers suggestions on improving code quality by identifying common beginner inefficiencies and recommending more efficient expression replacements. ReSharper can even automatically fix/replace most identified errors with a click of a mouse.

ReSharper comes packaged with over 900 code inspections, shown in Figure 1, which can be further extended with your own custom pattern inspections. These aid not only in keeping your code in compliance with your desired formatting and structural specifications but also help greatly when importing legacy and/or foreign code into your environment that needs to be optimized for your organization.

In addition to code analysis and assistance, other ReSharper features include helpful accelerators to build scripts and clean up and beautify code, powerful navigation and refined search options that spider through classes and project files, and integrated access to unit tests to help drive Test-Driven Development (TDD) practices. Code generation via templates, shown in the Templates Explorer in Figure 2, and fast refactoring are also part of the package, and like the other features, work across the various languages that can be hosted within Visual Studio such as C#, Visual Basic, and XAML.



For those developers who are already fans and users of the earlier 4.5 edition, ReSharper 5 introduces two notable additions: internationalization and web development. Internationalization support takes the form of locating and corralling strings into a resource that keeps localizations bundled into a separate, easy-to-maintain resource that is not buried in obscure corners of the source code. ReSharper also aids this task by baking internationalization support into its powerful refactoring engine so that such string resources can be safely managed without worrying about accidentally missing a string and breaking code.

The new web development features extend ReSharper's code inspections, syntax highlighting, user control auto-registration, code templates, and more to ASP.NET and ASP.NET MVC projects, making ReSharper the go-to tool for all kinds of Visual Studio projects. Having been a ReSharper user for a while, I find this addition a welcome extension to the family. And now that the Windows Phone 7 SDK has been released, I look forward to future editions of ReSharper to fully support those types of projects as well.

Flash-based video demos of the product in action are available at www.jetbrains.com/resharper/demos/index.html. A 30-day trial is also available for download from the JetBrains ReSharper website.

Nearly Flawless
Although all features worked as advertised, I did encounter a few collisions with other Visual Studio add-ins that failed to work until ReSharper was disabled. Granted, these were specialized circumstances that were easy to navigate around but still generated some head-scratching moments and required manual intervention to resolve. JetBrains' ReSharper forums relate similar stories by other users. While the problems are likely outside of JetBrains' control due to the way Visual Studio manages add-ins, perhaps they can at least provide a list of known conflicts; better yet, have the application notify users of such collisions and prompt to let the program try to resolve itself or disable ReSharper and relaunch Visual Studio to see if the issue is addressed. I suspect these conflicts may only arise for a very select few customers and realize the effort required to maintain such a workaround system, but such is a way of life until add-ins can somehow run in their own virtual containers in some future iteration of Visual Studio.

An Essential Visual Studio Add-in
If you haven't picked up on my enthusiasm, let me make it obvious: I love using ReSharper. The seamless code inspection and navigation add remarkable gains in productivity, and the new ASP.NET MVC support is a much-welcomed bonus. ReSharper is the add-in that turns the Visual Studio 2010 dial to 11.

JetBrains tags ReSharper as "The Must-Have Productivity Tool for .NET Developers," and I emphatically agree. From the continuous code assistance and analysis to its templates and refactoring abilities, ReSharper is the premier Visual Studio extension any serious .NET developer should obtain.

Rating: Four out of five stars
Website: www.jetbrains.com/resharper
Price: $199 for an individual developer license


Mike Riley ([email protected]) is an advanced computing professional specializing in emerging technologies and new development trends. He is also a contributing editor for DevProConnections. Follow Mike on Twitter @mriley.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish