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, 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.
Interested? Find out more about ReSharper 4.1 Key Features below.
About ReSharper 4.5 Beta
Just recently, we've unleashed the long-awaited ReSharper 4.5 Beta!
After significantly expanding the set of ReSharper features in previous releases, we've shifted focus to the issues of performance and memory usage. Making the tool more agile, robust and responsive was our main goal when developing ReSharper 4.5. Facing the challenge common to all modern productivity-enhancing tools for developers, we've managed to provide strong performance levels in major areas. Particularly, ReSharper 4.5 loads solutions and websites about 30% faster, searches for commonly used members more than twice as fast as version 4.1, takes approximately 45% time less than before on typing and IntelliSense assistance. Memory consumption on analyzing large files has been greatly reduced, which should benefit ASP.NET and LINQ to SQL developers. Overall, the range of solutions that ReSharper is able to handle without degrading responsiveness has now grown wider than ever.
ReSharper Performance Improvements
ReSharper 4.5 also brings a wide-ranging set of improvements that go way beyond performance enhancements:
- New solution-wide warnings and suggestions: Analyze usage of non-private types and type members on-the-fly within your whole solution.
- Visual Basic 9 support: ReSharper's cross-language refactorings and editing experience enhancements now support VB9 code, including implicitly typed local variables, object initializers, anonymous types, extension methods, and more.
- Improved setup for naming conventions: You can now define custom naming style settings for different languages and symbols, and precisely align the way ReSharper completes and generates code with your specific coding guidelines.
- New Inline Field refactoring and productivity enhancements in existing refactorings.
- Go to Implementation: Go from usage of a base type or member straight to any of its end implementations, bypassing intermediate abstract classes and/or interfaces.
To get your hands on the public beta, download it now! Remember: the official release is just a few weeks away!
ReSharper Key Features
In-depth Analysis of C# 3.0 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 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 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 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. 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 Signature |
Copy Type |
Make Method Non-Static (Non-Shared) |
Convert Abstract Class to Interface |
Encapsulate Field |
Make Method Static (Shared) |
Convert Anonymous to Named Type |
Extract Class from Parameters |
Move Static Member |
Convert Extension Method to Plain Static |
Extract Interface |
Move Type to Another File or Namespace |
Convert Indexer (Default Property) to Method |
Extract Method |
Move Type to Outer Scope |
Convert Interface to Abstract Class |
Extract Superclass |
Pull Members Up |
Convert Method to Indexer (Default Property) |
Inline Method |
Push Members Down |
Convert Method to Property |
Inline Variable |
Rename |
Convert Property to Auto-Property |
Introduce Field |
Replace Constructor with Factory Method |
Convert Property to Method(s) |
Introduce Parameter |
Safe Delete |
Convert Static to Extension Method |
Introduce Variable |
Use 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.
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 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.
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.
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
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 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
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. 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.
Why ReSharper
With unparalleled support for C# 3.0, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality, ReSharper 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!"