ReSharper brings smart C# 3.0 code analysis, editing, highlighting and refactoring features to .NET developers. ReSharper extends much of its support to VB.NET, build scripts, ASP.NET, XML, and XAML files. All ReSharper features are now available in mixed solutions where different projects use .NET Framework, .NET Compact Framework, Silverlight, as well as other frameworks and tools from the Visual Studio ecosystem.
Below is the list of key features implemented in the current version of ReSharper:
-
Code Analysis -
On-the-fly error detection in a file or even in thewhole solution without compiling it first. -
Warnings about serious coding inefficiencies. -
Suggestions to help you implement improved coding practices. -
Hints as the least intrusive way to recommend coding improvements. -
Quick-fixes to solve problems instantly. -
Value analysis to warn of accessing variables that can possibly be null. -
Status Indicator as the essential UI item that helps review errors and warnings in a file. - .NET Framework classes annotated with
custom attributes to make ReSharper analyze your code even better - for instance, to let it know where format strings should be passed or where null values can or can not be assigned.
-
-
Coding Assistance -
Code Completion as a powerful extension to IntelliSense, consisting of three major features:Symbol Completion ,Smart Completion , andImport Symbol Completion (in R# 4.0 and higher, all completion features supportCamelHumps ). -
Complete Statement that inserts necessary syntax elements (braces, semicolons etc.) and gets you to the position to start the next statement. -
Highlighting fields, local variables, types and more. -
Context actions to propose small code transformations in a specific context. -
Quick documentation lookup. -
Auto-insertion of necessary namespace import directives and safe deletion of redundant directives. -
Parameter Info displaying all possible signatures and parameters with relevant documentation. -
Highlighting matching delimiters . -
Auto-insertion of brackets & quotes . - Easy
code commenting & uncommenting . -
Extending & shrinking code selections. -
Duplicating code lines and selections. -
Multiple Entries Clipboard .
-
-
Navigation and Search -
Navigate from Here : quick links to all destinations accessible from the current code position. -
Go to Type : search for a type by name. -
Go to File : search for a file by name. -
Go to File Member : quickly navigate to a particular method or field in the current file. -
Go to Symbol : solution-wide search by name for any file member. -
Go to Declaration from reference. -
Find Usages : fast search for usages of any symbol in your code. - Quick
navigation between usages . -
Highlighting usages . -
Type hierarchy and type members preview. -
File Structure view. - Navigation through the list of
recent files . - Navigation between
recent edits . -
Stack Trace Explorer . -
CamelHumps .
-
-
Refactorings -
Refactor This - a menu that suggests refactorings applicable for a certain selection or code position. - 34 automated code refactorings:
-
Rename -
Move Type to Another File -
Move Type to Another Namespace -
Move Type to Outer Scope -
Move Static Member -
Copy Type -
Safe Delete -
Extract Method -
Introduce Variable -
Introduce Field -
Introduce Parameter -
Inline Method -
Inline Variable -
Encapsulate Field -
Extract Interface -
Extract Superclass -
Pull Members Up -
Push Members Down -
Change Signature -
Make Method/Property Static -
Make Method/Property Non-Static -
Extract Class from Parameters -
Replace Constructor with Factory Method -
Use Base Type where Possible -
Convert Method to Property -
Convert Property to Method(s) -
Convert Method to Indexer -
Convert Indexer to Method -
Convert Abstract Class to Interface -
Convert Interface to Abstract Class -
Convert Static to Extension Method -
Convert Extension Method to Plain Static -
Convert Property to Auto-Property -
Convert Anonymous to Named Type
-
-
-
Code Generation -
Auto-declaring methods, fields, local variables and classes based on their usage. -
Quick generation of type constructors and properties. -
Implementing/overriding methods . - Generating
delegating members . - Generating
equality members .
-
-
Code Formatting - Quick or extended
Code Cleanup in accordance withcode style preferences . -
Optimizing namespace import directives . - Code style
configuration andsharing .
- Quick or extended
-
Code Templates -
Live templates , the intelligent alternative to code snippets (you caninsert snippets with ReSharper as well, the same way you insert live templates). -
"Surround with" templates to help quickly enclose blocks of code with various constructs. -
File templates to add new files to your project with predefined code fragments already generated in them. -
Customizing all three kinds of templates. -
Configuring andsharing templates.
-
-
Unit Testing -
Running and debugging tests , with automatic detection of NUnit tests in your project. -
Unit Test Explorer to help you analyze test results. - Support for
profiling unit tests with dotTrace Profiler™.
-
- Open API. ReSharper's functionality can be significantly extended by means of its open API. Usage samples are included into ReSharper installation package.