ReSharper brings smart C# 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 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:
- On-the-fly error detection in a file or even in the whole 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.
- The opportunity to get an overview of all code problems in solution with the Inspection Results tool window.
- Quick-fixes to solve problems instantly.
- Status Indicator as the essential UI item that helps review errors and warnings in a file.
- Value tracking to find out where incorrect values come from.
- Call tracking to view call chains and navigate within them.
- Code Completion as a powerful extension to IntelliSense, consisting of three major features: Symbol Completion, Smart Completion, and Import Symbol Completion (in R# 4.0 and higher, all completion features support CamelHumps).
- 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 Information 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.
Navigation and Search
- Navigate To: 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.
- Find Usages: fast search for usages of any symbol in your code.
- Quick navigation between usages.
- Highlighting usages.
- Structural Search and Replace to search, replace, and create custom code inspections using structured patterns.
- Type Hierarchy and type members preview.
- File Structure view.
- Navigation to external sources.
- Navigation through the list of recent files.
- Navigation between recent edits.
- Stack Trace Explorer.
- 40 automated code refactorings.
- Refactor This - a drop-down menu that suggests refactorings applicable for a certain selection or code position.
- Auto-declaring methods, fields, local variables and classes from their usages, based on customizable naming conventions.
- Quick generation of type constructors and properties.
- Implementing/overriding methods automatically.
- Generating delegating, equality and formatting members.
- Generating Content tags based on ContentPlaceHolder tags in ASP.NET master pages.
- Code Formatting
- Live templates, the intelligent alternative to code snippets (you can insert snippets with ReSharper as well, the same way you insert live templates).
- Surround 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 and sharing templates.
- Unit Testing
- Open API. ReSharper's functionality can be significantly extended by means of its open API. Usage samples are included into ReSharper installation package.