Resharper - The Must-Have Productivity Tool for .NET Developers

Sunday, August 30, 2009

Resharper - The Must-Have Productivity Tool for .NET Developers

I have been using Resharper since a year and am very impressed with it. Microsoft development environments have always been very developer friendly, right since early Visual Studio days. This tool [Resharper] sits on top of Visual Studio and helps developers in finding errors on the fly, helps in code refactoring, navigating, code reformatting, clean up and yes in automatic code generation. It makes developer’s life easier, helps in producing high quality code and adds values. It has support for C#, VB.Net, ASP.Net, XML, XAML.
It saves time on compilation, locating and fixing errors, Automate routine tasks, Improve coding practices, Navigation.

Following are its main features…

On-the-fly Error Detection - ReSharper analyzes your C# 3.0 code before you compile, letting you instantly see whether a file contains any errors, warnings, or inefficiencies, by looking at the Marker Bar that ReSharper adds to the right-hand side of the editor window. The Status indicator at the top of the Marker Bar changes its color if the file contains errors or warnings. When you hover over it, the indicator shows the total number of errors and warnings in the current file. ReSharper instantly detects and highlights errors in your code, without having to compile it first. Errors are highlighted with either red font or curly underline. If you roll the mouse pointer over an error, its description is displayed in a tooltip.ReSharper is capable of detecting errors not only in C# code, but in ASP.NET code-behind classes and markup references. For XAML, ReSharper checks XML syntax and expertly validates XAML semantics, including references between XAML entities.  In build scripts, ReSharper analyses and highlights unknown properties, targets, tasks, and attributes.

Navigation – Helps in code Navigation which is really helpful. Following are the navigation help available with Resharper. Navigate from Here, Go to Symbol, Go to Type, Go to File, Go to File Member, Go to Base, Go to Inheritor, Go to Implementation, Go to Declaration, Go to Type Declaration, Go to Last Edit Location, Go to Next Member/Tag, Go to Previous Member/Tag, CamelHumps, Find Usages, Go to Usage, Highlight Usages, Type Hierarchy, File Structure, Find Referenced/Dependent Code, Collapse All in Solution Explorer, Locate in Solution Explorer, View Recent Files, View Recent Edits, Stack Trace Explorer, To-do Explorer.

Code Refactoring - ReSharper’s set of refactoring by far surpasses that provided by Visual Studio, with regard to number, usability and scope of application. Each of our code refactoring analyzes the entire scope of the code selection to which it is applied (which can be as wide as your whole solution), including cross-language code, and uses this insight to update the code structure in the most intelligent way possible. However, simple changes - usually applied locally - are actually code transformations and not real refactoring, as defined by M.Fowler and implemented in ReSharper. Code transformations, in their turn, are conveniently implemented in ReSharper as quick-fixes, context actions and other coding assistance features.

Coding Generating and Assistance - With ReSharper, you can use a method/function, property, local or field variable or even a class before it’s been declared. ReSharper will suggest a quick-fix (for C#) or several context actions (for VB.NET) for generating the corresponding symbol based on the usage, and then smartly adjust the declaration according to the usage context. For example, if you create a method from usage, ReSharper will not only create a method, but also detect its return type as well as the types of its parameters. Code assistance a very good feature and helps a lot. It has Syntax Highlighting, Context Actions, Code Completion, Symbol Completion, Smart Completion, Import Symbol Completion, Complete Statement, Extended Naming Style Configuration, Parameter Info, Highlight Matching Delimiters, Importing Namespaces, Auto-insertion of Delimiters, Code Reordering, Quick Documentation, Comment/Uncomment Code, Highlight Current Line, Extend/Shrink Selection, Duplicate Line or Selection, Multiple Entries Clipboard.

Drawbacks - Sometimes I have seen if the code files are too big Resharper takes a while to analyze things which slows down Visual Studio and have also see its run time errors, Due to which Visual Studio hangs. But nevertheless which product does not have errors? Am sure they will improve in next versions.
I would definitely suggest developers to try it out and say it’s a MUST have Tool.

References
http://www.jetbrains.com/resharper/

Top