Click here to Skip to main content
13,625,824 members
Click here to Skip to main content
Add your own
alternative version

Tagged as


11 bookmarked
Posted 24 Oct 2008
Licenced CPOL

ReSharper 4: High Gear .NET Development

, 24 Oct 2008
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

Editorial Note

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.


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, solution-wide analysis, quick error correction, code formatting & cleanup in one go, industry-leading set of automated code refactorings, advanced integrated unit testing solution, and powerful solution-wide navigation and search. Essential ReSharper features are available in C#, VB.NET, XML, ASP.NET, XAML, and build scripts. ReSharper provides extensive cross-language functionality for C# and VB.NET which enables .NET developers to efficiently handle mixed projects.

Key Features

In-depth Analysis of C# 3.0 Code

Error highlighting and quick-fixes in ReSharper

ReSharper analyzes errors and warnings in your C# code across your whole solution and highlights them in the editor 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 and hints, which provide insights into code structure and logic to draw your attention to potential design flaws. You can also annotate your code to make ReSharper analyze it even better.

ReSharper 4.0 provides comprehensive support for C# 3.0, including LINQ, implicitly typed locals and arrays, extension methods, automatic properties, lambda expressions, object & collection initializers, anonymous types, expression trees, and partial methods. Whenever there's an error or inefficiency in your C# 3.0 code, ReSharper will let you know instantly.

Advanced Coding Assistance

ReSharper suggests importing a namespace in C#

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 provides Import Symbol Completion for VB.NET

ReSharper extends and improves native Visual Studio IntelliSense with three types of Code Completion. Symbol Completion only suggests types accessible at the current location. Smart Completion works at the right-hand side of assignments, filtering the list of methods and variables to match the expected type of expression. Import Symbol Completion, completes the names of types and extension methods available in the current project; it also automatically adds the appropriate using directives when necessary. In addition, there's Complete Statement - a feature that inserts necessary syntax elements (braces, semicolons etc.) and gets you to the position to start the next statement, all with a single shortcut.

Numerous Code Refactorings

ReSharper provides the richest set of automated code refactorings for C# 3.0 and VB8 available in the Visual Studio ecosystem:

Change SignatureCopy TypeMake Method Non-Static (Non-Shared)
Convert Abstract Class to InterfaceEncapsulate FieldMake Method Static (Shared)
Convert Anonymous to Named TypeExtract Class from ParametersMove Static Member
Convert Extension Method to Plain StaticExtract InterfaceMove Type to Another File or Namespace
Convert Indexer (Default Property) to MethodExtract MethodMove Type to Outer Scope
Convert Interface to Abstract ClassExtract SuperclassPull Members Up
Convert Method to Indexer (Default Property)Inline MethodPush Members Down
Convert Method to PropertyInline VariableRename
Convert Property to Auto-PropertyIntroduce FieldReplace Constructor with Factory Method
Convert Property to Method(s)Introduce ParameterSafe Delete
Convert Static to Extension MethodIntroduce VariableUse Base Type where Possible

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; convert properties to auto-properties and methods, static to extension methods, 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.

Navigate to usages, declarations, base types, inheritors, and more, with ReSharper's navigation features

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.

ReSharper 4.0 extends the set of navigation and search features with Recent Edits, a drop-down list that shows files and symbols that you recently modified.

Code Cleanup

Code Cleanup is a shortcut for a dozen of ReSharper features, letting you reformat your code according to a customizable style, arrange '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 C# code with many more settings.

Reformat your code, remove code redundancies, and migrate to C# 3.0 with ReSharper's Code Cleanup

For VB.NET, you can optimize 'import' directives, shorten qualified references, and reformat your code according to a formatting style. Code Cleanup works in batch mode, so that you can instantly clean the whole project or even solution.

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.

Find usages of symbols in your solution across languages

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 major languages whenever possible. Unit testing is available and equally useful for unit tests written in either C# or VB.NET.

ASP.NET Support

ReSharper's Code Completion in ASP.NET markup

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.

XML Support

ReSharper's quick-fix for XML

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 coding assistance; and live templates.

XAML Support

ReSharper's Smart Code Completion in XAML

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

ReSharper's unit testing tools

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.

ReSharper's Unit Test Explorer

NAnt and MS Build Scripts Editing

ReSharper's quick-fix for a NAnt build script

Advanced editing capabilities, previously available only for C#, are now extended to NAnt and MSBuild scripts. Full coding assistance, many navigation and search features, File Structure, on-the-fly error highlighting, and quick-fixes are provided for build scripts.

To get the full story on ReSharper's feature set, please visit the ReSharper Features page. For details on new and updated features in the latest ReSharper release, see What's New in ReSharper 4.0.

Why ReSharper

With unparalleled support for C# 3.0, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality, ReSharper 4.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. With ReSharper, .NET developers can experience what we mean when we say "Develop with pleasure!"

</a />


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

JetBrains s.r.o.
Czech Republic Czech Republic
This member doesn't quite have enough reputation to be able to display their biography and homepage.
Group type: Organisation (No members)

You may also be interested in...


Comments and Discussions

QuestionWhat about performance? Pin
giammin24-Oct-08 22:47
membergiammin24-Oct-08 22:47 
AnswerRe: What about performance? Pin
speedofspin25-Oct-08 1:34
memberspeedofspin25-Oct-08 1:34 
GeneralRe: What about performance? Pin
Alex Kucherenko27-Oct-08 12:14
memberAlex Kucherenko27-Oct-08 12:14 
GeneralRe: What about performance? Pin
DreamGalaxy27-Oct-08 20:24
memberDreamGalaxy27-Oct-08 20:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web03-2016 | 2.8.180712.1 | Last Updated 24 Oct 2008
Article Copyright 2008 by JetBrains s.r.o.
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid