JetBrains Resharper 5.0: Product Review

I've been using Resharper with Visual Studio .NET since version 2.0, and it gets better and faster with each new version. Resharper, to me, is primarily a productivity tool. It has many features, and the nice thing about them is that you can enable or disable (or change the behavior of) just the ones you want. That's what I think makes Resharper one of the best "enhancers" to the developer that money can buy.

In version 5.0, there have been numerous bug fixes, new features, support for VisualStudio 2010 (including Visual Studio 2005 and 2008), performance and usability enhancements, and much more. Resharper is also a lot faster. A personal license for Resharper 5.0 is still $199.00 and you can download a fully-functional 30 day trial at the Jetbrains site.

Here are highlights of some of the features that I particularly like in Resharper 5.0:

Code Analysis for C#
ReSharper analyzes and highlights errors in C# code (up to C# 4.0) while you type, without having to compile it first. It also helps you solve problems instantly, by suggesting quick-fixes for most errors. You can analyze your code both in a current file and throughout the entire solution. For example, in C# 3.0 Resharper will recommend using "var" for type initialization, or making a method static.

Coding Assistance
ReSharper extends and improves Visual Studio's native code completion. If you begin to use a namespace that isn't referenced, Resharper shows you a list of candidates and will automatically insert the appropriate using statement at the top of the class for you. It introduces color highlighting for fields, local variables, and types; transforms code using context actions; lets you move and duplicate blocks of code; auto-inserts brackets, parenthesis and quotes; shows concise documentation for types, type members and method parameters as pop-up tips, and more.

Code Cleanup
Code Cleanup enables you to run a dozen useful ReSharper features at once — specifically, reformat your code according to custom style settings, arrange usages of 'this' qualifier, remove code redundancies, convert properties with backup fields to auto-properties, make fields read-only if possible, optimize using directives, shorten qualified references, update file header, replace explicit types with vars, and revamp your code with many more settings. I don't know about you, but I am pretty lazy when it comes to indentation and formatting. With Resharper, my code has never looked cleaner!

Code Generation
ReSharper is smart enough to generate method stubs from usage, and feature-rich enough to provide special-purpose dialog boxes for creating constructors, read and write properties, and more. All these classy tools are readily accessible from a single pop-up window.

Code Templates
You can use a rich set of predefined code templates as well as define your own templates to automatically create loops, arrays, variables, method declarations, and a variety of other code constructs. File templates, 'surround with' templates and live templates for C#, VB.NET and XML let you choose the most convenient way of inserting a ready piece of code in any situation. Editing and managing templates is now more convenient than ever!

Navigation and Search
Whenever you need to find a certain type, field, method, or any other symbol, ReSharper provides you with a variety of ways to do it. You can find a symbol by name, navigate to a symbol declaration from its reference in code, or find and highlight symbol usages. ReSharper also allows you to thoroughly review type hierarchies and file structures, with its dedicated tool windows that are smartly integrated into Visual Studio user interface.

ReSharper provides a much wider set of automated code refactorings than Visual Studio. In total, 34 different refactorings are available.

Unit Testing
ReSharper automatically detects whether your project contains NUnit tests. It allows you to run and profile unit tests right from the code editor, shows the structure of tests in your solution, and provides you with a dedicated window where you can analyze test results and re-run unit tests. Support for other test frameworks (MbUnit, xUnit, MSTest) is available via third-party plugins.

Supported Languages and Technologies - including LINQ, XML and XAML
C# (up to 4.0)

ReSharper 5 Full Edition and C# Edition extend language support to C# 4.0, including LINQ, implicitly typed locals and arrays, extension methods, automatic properties, lambda expressions, object & collection initializers, anonymous types, expression trees, and partial methods. ReSharper not only analyzes the new constructs, but provides C# 3.0, 3.5 and 4.0 -related enhancements in a number of areas — specifically, warnings, suggestions, code completion options, refactorings, and templates.

ReSharper lets you apply most of its smart features to VB.NET code, including ASP.NET pages written in VB.NET. Among other facilities, ReSharper's syntax highlighting, coding assistance, code generation, navigation and search, parameter info, quick documentation lookup, and many more features are available to any VB.NET developer. All refactorings that were provided for C# 2.0 in ReSharper 3.x are now available for Visual Basic 8. The greatest benefit is to be experienced by .NET developers working on mixed C# and VB.NET projects.

ReSharper 4 significantly speeds up analysis of ASP.NET pages, to enable more web developers benefit from the great toolset that ReSharper provides. Take advantage of context actions, quick-fixes, coding assistance, navigation, refactorings, and other features. For embedded C# code, error highlighting is available as well. With ReSharper, you can easily edit and refactor C# code within ASP.NET, as well as web control properties and events, data sources and content placeholders.

In ReSharper 5.0, support for ASP.NET is improved dramatically. New and enhanced features for ASP.NET include Master page support in navigation and generation actions. Specifically, ReSharper generates page content based on ContentPlaceHolders from referenced master pages. It also supports ASP.NET MVC.

One really great productivity feature that I like is the ability to create live Templates that will replace or surround code with predefined item. For example, lets' say you've converted an old VB 6.0 project to VB.NET and you are now updating that to C#. A lot of your Object-by-Value semantics from VB will require that you cast to specific types. You can create surround templates that will replace highlighted code expressions with (for example) Convert.ToString(expression) or Convert.ToInt32(expression). All you need to do is highlight the expression and hit a few keys, and it's done!

NAnt and MS Build Scripts
Advanced editing capabilities, previously available only for C#, are now extended to NAnt and MSBuild scripts — error highlighting, quick-fixes, code completion, navigation and search, applicable refactorings and file structure view will make your scripting experience easier.

There are a number of available open-source and third party plugins. Some can be found up on the site.

You can get a better idea of the many new features in Resharper 5.0 here.

NOTE: By special arrangement with JetBrains, we will be awarding one fully licensed copy of Resharper 5.0 to the winner of our monthly drawing contests. All you need to do is be a registered member at (free) and submit your entry. Just click the "Enter free drawing" image above!

By Peter Bromberg   Popularity  (4494 Views)