# Wednesday, February 04, 2009


I've got a confession to make. I have totally fallen in love with Resharper. Before you continue reading I just want you to know that I am not on commission for these guys, but I find the tool to be so invaluable to my productivity that I wouldn't want to develop without it. Resharper is a refactoring plugin for Visual Studio.NET that enhances the programming experience in the IDE. It empowers navigation, analysis, refactoring, assistance, cleanup, code generation and unit testing.

I recently gave a short speech / demo about the usage of Resharper at the local user group here in Norway. If you happen to live in Grenland you can read more about these gatherings here
Since it's so hard to get paid for doing post development refactorings, refactoring should be a continuous task that you do while programming. It increases the robustness of the application drastically and makes future changes easier to incorporate.

The easiest feature to get started with is the Full Cleanup (CTRL-E - CTRL-C). It will automatically fix the most common mistakes in a C# file.




One of the most useful aspects of ReSharper is the integrated Unit Testing parts. Automatically run all Unit Tests within the IDE simply by attaching a shortcut to the Unit Testing Explorer Window and run your unit tests.




Here's a short list of the most commonly used refactorings.

NAVIGATION HISTORY

  • View File Structure (CTRL-ALT-F)
  • View Type Hierarchy (CTRL-ALT-H)
  • Go To (CTRL-T, CTRL-SHIFT-T, ALT-\)
  • Todo-Items (CTRL-ALT-D)
  • Unit Testing (CTRL-ALT-U)
  • Find Usages (SHIFT-F12)

CODE REFACTORING

  • - Refactor            CTRL-SHIFT-R
    • Rename           
    • Change signature
    • Convert abstract class to interface
    • Convert method to property
    • Copy type
    • Encapsulate field
    • Extract class from parameters
    • Extract interface, method, superclass
    • Inline variable
    • Make method static/non-static
    • Safe delete

CODING ASSISTANCE

  • Symbol completion (CTRL-SPACE)
  • Smart completion (CTRL-SHIFT-SPACE)
  • Import symbol completion (CTRL-ALT-SPACE)
  • Context actions (ALT-ENTER)
  • Matching delimiters       
  • Moving code elements (CTRL-SHIFT-ALT (up/down-left-right))
  • Surround with regions
  • Suggest namespace import directives

CODE ANALYSIS

  • Code highlightning
  • Marker bar and status indicator
  • Solution wide analysis
  • External Annotations
  • Quick Fixes
  • Navigation between errors/warnings/suggestions    SHIFT-ALT (pg-up/pg-down)
  • Value analysis (null, bool)
  • String.format analysis

CODE CLEANUP

  • - Format/Fix File (CTRL-E, CTL-C)
  • - Cleanup profiles

CODE GENERATION

  • Constructor
  • Properties
  • Read-only properties
  • Impl. Interface member
  • Override inherited member
  • Equality members
  • Formatting members

Unit Testing

- Unit Test Explorer CTRL-ALT-U
- Advanced Functionality (requires Gallio plugin)
- Support for MSTest, MBUnit, NUnit, NBehave

Don't delay any further. Get ReSharper today!

posted on Wednesday, February 04, 2009 10:45:05 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]
Related posts: