ReSharper is one of the most popular and the most valued by .NET developers tools, which significantly extends the capabilities of the Microsoft Visual Studio development environment and thus facilitates and speeds up the creation or refactoring of code. After installation ReSharper integrates with Visual Studio from version 2005 SP1 up and runs in the background, constantly offering hints and recommendations far beyond what Visual Studio and its IntelliSense has as standard. The program also allows one click to refactorize and transfer large parts of the code, and compiles the written code "live" immediately catching any errors.
ReSharper functions can be divided into several modules. The most important module is the code inspection, which we can call manually or entrust its automatic work in the background. The module checks over 1,300 parameters and catches problems such as inconsistent nomenclature, potential dangers (eg the possibility of null reference) or unreachable code snippets. This module also indicates better implementations written by code fragments, eg replacement of foreach loops with LINQ expression or conversion of if statements to return. The programmer can use ReSharper's recommendations with a single click, and then quickly return to the original state if they were undesirable for some reason.
Facilitating navigation is another ReSharper pillar. The Go To Everything function, available under the CTRL-T combination, allows you to instantly jump to a given class, method, or even a specific line in a specific file. The Find Usages function, already present in Visual Studio, has also been considerably expanded. Completing the code is equally useful, especially if you work with long names in the style of VeryLongName, in ReSharper, just enter the uppercase letters in the name of this type (here: VLN), and ReSharper will automatically complete it and, if it is an enumerator, additionally suggest values. Paste the ReSharper snippet, in turn, it can automatically add all the necessary usings.
Refaktoring allows quick execution of dozens of operations interfering with the existing code. Among other things, there are such operations as changing the signature of the method, changing the class on the interface, properties on the method, isolating the class, interface or methods from the code fragment, converting the method from static to instance, transferring the string to the resource file, etc. - all these operations on both sides . ReSharper also offers dedicated functions to create applications in ASP.NET and MVC, work with unit tests, XAML code and internationalization of applications.
The only disadvantage of the software seems to be its greatest advantage - complexity. Taking advantage of all the benefits that ReSharper brings with it in practice requires remembering a huge number of keyboard shortcuts, which can cause a lot of problems. Otherwise, the default settings are a bit annoying, and the multitude of hints and inconsistencies found in the code (often having purely academic significance) may initially interfere. Fortunately, individual detections can be added to the permanently ignored list, and the list can be private or shared with the rest of the team via the repository. Despite initial doubts after a few weeks of working with ReSharper, everyone will find that it makes the programmer's work easier and more enjoyable. If it's not enough for someone,
What's new in version 9?
The ReSharper test version runs 30 days from the time of installation. During this time, the program offers a set of functions without any restrictions.