ReSharper
Encyclopedia
ReSharper is a refactoring
and productivity extension
by JetBrains
that extends native functionality of Microsoft
Visual Studio
2003, 2005, 2008 and 2010.
ReSharper executes solution-wide static code analysis
(error detection on-the-fly, without the need to compile), provides additional features for error correction, code completion, navigation, search, syntax highlighting, formatting, code generation and optimization, carries out 40 automated refactoring
s, and streamlines unit testing using NUnit
and MSTest
, among other features.
The current version 6.0, was released in 2011. It supports C# 4.0
, VB10, ASP.NET
, ASP.NET MVC, Razor, XML
, XAML
, MSBuild
and NAnt
build scripts.
Refactoring
Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior", undertaken in order to improve some of the nonfunctional attributes of the software....
and productivity extension
Extension (computing)
Software extension, is a file containing programming that serves to extend the capabilities of or data available to a more basic program. It is a kind of list of commands which are directly included in the program. This term often coincides with the plug-in...
by JetBrains
JetBrains
JetBrains is a Czech software development company with offices in Prague, Czech Republic; Saint Petersburg, Russia; Boston, USA and Munich, Germany...
that extends native functionality of Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
Visual Studio
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...
2003, 2005, 2008 and 2010.
ReSharper executes solution-wide static code analysis
Static code analysis
Static program analysis is the analysis of computer software that is performed without actually executing programs built from that software In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code...
(error detection on-the-fly, without the need to compile), provides additional features for error correction, code completion, navigation, search, syntax highlighting, formatting, code generation and optimization, carries out 40 automated refactoring
Refactoring
Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior", undertaken in order to improve some of the nonfunctional attributes of the software....
s, and streamlines unit testing using NUnit
NUnit
NUnit is an open source unit testing framework for Microsoft .NET. It serves the same purpose as JUnit does in the Java world, and is one of many in the xUnit family.- Example :Example of an NUnit test fixture:using NUnit.Framework; [TestFixture]...
and MSTest
MSTest
MSTest is a command line utility from Microsoft that executes unit tests created in Visual Studio 2005, Visual Studio 2008 or Visual Studio 2010....
, among other features.
The current version 6.0, was released in 2011. It supports C# 4.0
C Sharp 4.0
C# 4.0 is the latest version of the C# programming language, which was released on April 11, 2010. Microsoft has released the 4.0 runtime and development environment Visual Studio 2010...
, VB10, ASP.NET
ASP.NET
ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages ...
, ASP.NET MVC, Razor, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, XAML
XAML
Extensible Application Markup Language is a declarative XML-based language created by Microsoft used for initializing structured values and objects. It is available under Microsoft's Open Specification Promise...
, MSBuild
MSBuild
MSBuild is a Microsoft build platform typically used in conjunction with Visual Studio. MSBuild version 2.0 is part of .NET Framework 2.0 and works together with Visual Studio 2005...
and NAnt
NAnt
NAnt is a free and open source software tool for automating software build processes. It is similar to Apache Ant, but targeted at the .NET environment rather than Java...
build scripts.
Features
The following is an incomplete list of ReSharper features and feature groups:- Static code analysisStatic code analysisStatic program analysis is the analysis of computer software that is performed without actually executing programs built from that software In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code...
: over 900 on-the-fly code inspections that can be displayed as errors, warnings, suggestions, or hints (including compiler errorsCompilation errorCompilation error refers to a state when a compiler fails to compile a piece of computer program source code, either due to errors from the compiler itself, or syntax errors in the code...
and warnings) - 600 quick-fixes - automated corrections to resolve errors and optimize code
- Navigation and search: view file structure; search for any code symbol, type or file in solution; search for symbol usages; quick navigation to usage, declaration, implementation, inheritors, base types etc.
- Code Completion and Parameter Info that extends Visual Studio's built-in IntelliSenseIntelliSenseIntelliSense is Microsoft's implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment...
- 40 solution-wide code refactoringRefactoringCode refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior", undertaken in order to improve some of the nonfunctional attributes of the software....
s - Over 200 context actions - "local refactorings"
- Code generation: generate code from usage; generate common type members, including properties, constructors, interface implementation etc.
- Support for unit testing using NUnitNUnitNUnit is an open source unit testing framework for Microsoft .NET. It serves the same purpose as JUnit does in the Java world, and is one of many in the xUnit family.- Example :Example of an NUnit test fixture:using NUnit.Framework; [TestFixture]...
and MSTestMSTestMSTest is a command line utility from Microsoft that executes unit tests created in Visual Studio 2005, Visual Studio 2008 or Visual Studio 2010.... - Assistance in internationalizingInternationalization and localizationIn computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...
.NET applications - Advanced support for ASP.NET and ASP.NET MVC including Document Navigation, Refactoring and Related Files Dialogues
Plugins
ReSharper provides an API for developers to create third-party plugins extending core ReSharper functionality, such as:- ActiveMesa R2P
- Agent Johnson
- Agent Smith
- Exceptional
- Gallio Test Runner
- MSpec Test Runner
- Settings Manager
- StyleCop for ReSharper
PowerToys
Resharper 5 has a new set of plugins developed by the community and jetbrains to enhance and extend the functionality of Resharper:- CsUnit PowerToy: Unit Testing
- CyclomaticComplexity PowerToy: Calculates Cyclomatic Complexity
- ExploreTypeInterface PowerToy: Allows you to explore type interfaces
- FindText PowerToy: Powerful add-on for Finding Text
- GenerateDispose PowerToy: Generates Dispose patterns
- LiveTemplatesMacro PowerToy : Macros for Live Templates
- MakeMethodGeneric PowerToy: Makes a method generic
- MenuItem PowerToy: Shows how to work with menu items
- OptionsPage PowerToy: Shows how to work with options page
- ReflectorNavigator PowerToy: Plug-in for Reflector
- ZenCoding PowerToy: ZenCoding for HTML