This is a showcase review for our sponsors at The Code Project. These reviews 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, solution-wide analysis, quick error correction, industry-leading set 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 Analysis of C# Code
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, which provide insights into code structure and logic to draw your attention to potential design flaws.
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
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
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
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!"