Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

ReSharper 3.0: Ultra Productive Cross-Language Development

6 Jul 2007 1  
Are you spending most of your development time coding the simplest things by hand? Discover how you can code faster and better with ReSharper 3.0. The latest version of ReSharper brings yet more productivity-boosting tools for Visual Studio and offers full-featured Visual Basic .NET support.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Introduction

ReSharper is undoubtedly the most intelligent add-in to Microsoft Visual Studio. It comes equipped with a rich set of features that greatly increase the productivity of C# and Visual Basic.NET developers. With ReSharper, you get in-depth code analysis, intelligent coding assistance, on-the-fly error highlighting, quick error correction, industry-leading ser of automated code refactorings, and powerful solution-wide navigation and search. ReSharper also offers an advanced integrated unit testing solution and support for XML, ASP.NET, XAML, and build script editing. ReSharper provides extensive cross-language functionality for C# and VB.NET which enables .NET developers to efficiently handle mixed projects.

Key Features

In-depth Code Analysis

Error Highlighting and Quick-Fixes

ReSharper analyzes and highlights errors and warnings in your C# code on the fly (while you type). For most errors it offers to solve the problem instantly, with intelligent quick-fixes. It also offers code suggestions, which provide insights into code structure and logic to draw your attention to potential design flaws.

Advanced Coding Assistance

Advanced Coding Assistance

ReSharper offers a number of shortcuts for streamlining common coding tasks to increase your productivity and save your time. In the screenshot above, ReSharper smartly suggests to insert a missing using or Import directive right after you've entered a type name. It also enables you to quickly generate code using various code templates, view documentation for types and their members right in the editor, and perform code transformations using the so-called "context actions," and a lot more.

ReSharper extends and improves native Visual Studio IntelliSense with three types of Code Completion, the most useful of which are Smart Code Completion and Type Name Completion. Smart Completion works at the right-hand side of assignments, filtering the list of methods and variables to match the expected type of expression. Type Name Completion, unlike basic completion which only suggests types accessible at the current location, completes the names of types available in the current project; it also automatically adds the appropriate using directives when necessary.

Numerous Code Refactorings

ReSharper provides the richest set of automated code refactorings available in Visual Studio:

Rename Symbol

Inline Variable

Safe Delete

Move Type

Extract Interface

Convert Method to Property

Copy Type

Extract Superclass

Convert Property to Method(s)

Change Method Signature

Extract Class from Method Parameters

Convert Abstract Class to Interface

Extract Method

Make Method Static

Convert Interface to Abstract Class

Extract type to a new file

Make Method Non-Static

Encapsulate Field

Introduce Variable

Use Base Type where Possible

Move Type to Outer Scope

Introduce Field

Pull Members Up

Move Static Members

Introduce Parameter

Push Members Down

Each 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. You can rename, move, and safe delete symbols; introduce and inline fields, variables, and parameters; and a lot more. In addition, all kinds of simpler code transformations (which are just as convenient and useful) are made possible with Quick-Fixes and Context Actions.

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 the code, or find and highlight symbol usages. You can also use a single shortcut for all navigation actions available at the current position, called "Navigate From Here."

In addition, ReSharper enables you to thoroughly review type hierarchies and file structures, with its dedicated tool windows that are smartly integrated into the Visual Studio user interface.

New navigation tools introduced in ReSharper 3.0 include "To-do Lists" and "Go to Symbol" navigation.

Cross-Language Functionality

For mixed C# and VB.NET projects, ReSharper helps you keep all parts of code working together smoothly and navigate around your code with ease.

All navigation and search actions take code in all languages into account, including C#, VB.NET, ASP.NET, and XAML. You can navigate to usages, declarations, inheritors, base types and more � across languages. Automated reference correction resulting from the use of refactorings, context actions or quick-fixes also covers both languages whenever possible. Unit testing is available and equally useful for unit tests written in either C# or Visual Basic.

XML Support

ReSharper offers a number of time-saving XML features, including type completion; navigation to referenced types; highlighting, replacing and moving tags; navigating between tags and to opening/closing tags; useful code assistance (see screenshots below); and live templates support.

ASP.NET Support

ASP.NET Support

Now, you can edit ASP.NET files with both pleasure and increased productivity. Take advantage of error highlighting, quick-fixes, context actions, coding assistance, navigation, refactoring, and other features. With ReSharper, you can edit and refactor C# code within ASP.NET as well as Web control properties and events, data sources, and content placeholders, without hassle.

XAML Support

XAML features include XML editing in XAML code, all of ReSharper's standard code completion features, several refactorings (including Rename refactoring), and on-the-fly error, syntax and semantic analysis. The screenshot above shows how Smart Code Completion works in XAML resources.

Integrated Unit Testing

Unit Testing

ReSharper automatically detects unit tests in your code and offers comprehensive unit testing support. You are able to run and debug tests right from the code editor. At the same time, a dedicated Unit Test Explorer window lets you see the structure of your unit tests and run any combination of tests in one or more unit test sessions.

NAnt and MS Build Scripts Editing

NAnt and MS Build Scripts Editing

Advanced editing capabilities, previously available only for C#, are now extended to NAnt and MSBuild scripts. As soon as you open a script file in Visual Studio .NET with ReSharper installed, full coding assistance is available.

To get the full story on ReSharper's feature set, please visit the ReSharper Features page.

Why ReSharper

With unparalleled support for C#, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality, ReSharper 3.0 is sure to satisfy more Visual Studio developers than ever before.

The tool decreases the time you spend on routine, repetitive handwork and gives you more time to focus on the task at hand. Its robust set of features for automatic error-checking and code correction cuts development time and increases your efficiency. You'll find that ReSharper quickly pays back its cost in increased developer productivity and improved code quality. The wait is over� ReSharper is here, and now .NET developers can experience what we mean when we say "Develop with pleasure!"

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here