
The first time I ran into ReSharper about 5 years ago. It seemed to me that it slows down Visual Studio and, in general, its analysis has degraded my code beyond recognition. Most of the tips were of no value to me and were just annoying. I didn’t understand it much and demolished it and went further to cut the forest with two-handed saws for the next two years. I think most beginners, and not so much, developers feel something like this and do not understand the benefits of ReSharper or CodeRush. In this article I will compare the most useful and frequently used features based on my two years of experience using CodeRush and annual experience with ReSharper. Immediately make a reservation, I switched from CodeRush to ReSharper only because of the employer (the company provides ReSharper at the current place of work).
Code Navigation:
1. Search files
The most frequently used feature. There are both plugins. You can search for capital letters in aamal case. Slightly better implemented in ReSharper, shows more details about the files found.

2. Search for characters
The search for characters is also in both plugins. Searches for method names, variables, classes, etc. Again, slightly better implemented in ReSharper.

3. Navigation to the next mention of a variable
In Visual Studio 2010, this feature is built-in, but the CodeRush implementation is much more elegant. In CodeRush, navigation is carried out using Tabs, which in itself is revolutionary, plus highlighting the next mention looks better.

4. File Navigation
In CodeRush there is no, there is of course the built-in functionality of Visual Studio (there is a drop-down menu on the right above) and that only in C #. ReSharper also has a search on the internal elements of the file: classes and methods. Many will say that this functionality is not so important to be mentioned in the comparative description. However, if it is used for a couple of days, you understand that without it you can’t, especially at the class level, which provides access to the database (data access layer).

5. Latest open files and recent file edits.
The first is in CodeRush and in ReSharper, the second only in ReSharper. Again, the design is better in ReSharper.

6. Transition to definition (declaration) and implementation (implementation)
The transition to the definition of a variable, method, or class is built into Visual Studio (Ctrl-Click). If you use Unity Framework, Castle.Windsor or another solution to implement a factory or repository template, then you know the problem when you click (Ctrl-Click) to see its implementation, and you see only the interface definition. To do this, there is a transition in ReSharper directly to the implementation, and if it is still connected to Shift-Ctrl-Click using Autohotkey, then it becomes irreplaceable in general.
Search:
Search use
There are both plugins. In CodeRush it looks more beautiful, but in ReSharper there is more functionality. In particular, you can filter only by the places where the variable was written or read only.

Editing and refactoring:
Both plug-ins have many different features, but in general, CodeRush is centralized and simpler. Most functions can be accessed by pressing Ctrl- ~. Before applying CodeRush visually shows the result of refactoring. Below are some of the most frequently used functions.
1. Creating a method from a piece of code.
Here CodeRush clearly wins. First, ReSharper displays a modal dialog box. What for? In most cases, I use the default settings, and if something needs to be changed, it is better to do it directly with the code. The last thing I do is grab the mouse and start changing something in the dialog box. In most cases, this function is used to create private auxiliary methods for unloading the complexity of public methods. CodeRush not only does not burden you with dialog boxes, and also makes it possible to choose the place to create a method.

2. Renaming a method or variable
To rename the method ReSharper again shows a modal window. Moreover, the variable can be renamed without a modal window, but the method is not. Yes, and options in a modal window, you could safely push in the option of the plugin.

3.String.Format
The functionality is about the same. ReSharper 6 added highlighting of arguments, which is very convenient.

Templates and snippets:
CodeRush in this category clearly wins. Firstly, there are an order of magnitude more embedded snipes in it, and in order to make them easier to memorize, there is a special window with hints from CodeRush Training. Also in CodeRush there are whole snippet framework. You can create snippets based on the basic subnipes. Snippets are a distinctive feature of CodeRush, in ReSharper they certainly extend the functionality of snippets built into Visual Studio, but still this is far from enough.
')
Documentation and video:
CodeRush wins again in this category. In the free access is very little video with a description of ReSharper functionality. DevExpress has dozens of video demonstrations. In both products there is the possibility of writing plug-ins, but in the case of ReSharper there is no documentation, there are a couple of step-by-step instructions, but this is clearly not enough.
Conclusion:
It is difficult to say which product is better. ReSharper is more suitable for large, stable projects with extensive architecture. CodeRush is more suitable for startups and simple projects where snippets can really save time.