We, as developers, want to perform the right tasks using the right tools. For .NET developers, the most popular tool is Microsoft Visual Studio. It contains almost everything you need to create .NET applications. If it lacks something, ReSharper fills that gap and adds many more functionalities.
ReSharper, as a .NET developer productivity tool, helps you in the tasks you need to perform on a daily basis. It helps you avoid doing boring, repetitive and manual things. It makes refactoring your code easier, saves you time by supporting navigation through the project, and helps by generating code. In this chapter, we will cover the following topics:
Introduction to ReSharper
Downloading and installing ReSharper
Integrating ReSharper with Visual Studio
ReSharper is developed by JetBrains (http://www.jetbrains.com). ReSharper v1.0 was released on July 21, 2004 as the second product of this company.
Thanks to the features, code generation and code templates, you will be able to write smarter code. Navigation and search will help you find things quicker. With code analysis and code cleanup, you can provide better quality software as ReSharper will find and highlight errors, potential problems, and bad practices in your code. ReSharper will support you with almost any kind of applications that you can write in Visual Studio.
These versions differ in support for the main language used in your projects. According to the name, if you are using C#, you should choose the C# Edition. If you are using VB.NET, you should choose the VB.NET Edition. Finally, if you are using both these languages, you should choose the Full Edition.
For more information about ReSharper licenses, you can visit the Licensing & Upgrade page at http://www.jetbrains.com/resharper/buy/license-matrix.jsp.
It is also possible to use ReSharper with Visual Studio 2003. ReSharper 2.0 is still available; it provides support for this version of Visual Studio.
It doesn't matter what kind of application you are working on, ReSharper will make your life easier!
Although ReSharper comes in a couple of versions and supports various versions of Visual Studio, there is only one main installation package. The version used depends on the license key used during activation.
During the free 30-day trial, you use ReSharper as a Full Edition by default. You can change this in the License Information window. To open it, navigate to RESHARPER | Help | License Information… from the Visual Studio toolbar.
Download the main installation package from the Download ReSharper page at http://www.jetbrains.com/resharper/download/index.html.
In this step, you can select the versions of Visual Studio in which you would like to use ReSharper (in case you have more than one already installed).
From this screen, you can just click on Install to run the installation process, or click on Advanced to configure more settings.
Environment : This allows you to change the general ReSharper settings such as UI and Visual Studio integration
Code Inspection : This allows you to change the settings related to code analysis
Code Editing : This allows you to change the formatting, naming, and code cleanup rules
Tools: This allows you to change the ReSharper tool's settings, such as Unit Test frameworks, patterns used for to-do items, and navigation to external sources
We will not go through all the available options in detail but present only those parts that, in our opinion, are the most useful.
Let's take a look at the tabs available under the Environment section.
In this tab, you can change settings that are related to user interface. We suggest that you check the Show managed memory usage in status bar and Show tips on startup options. The first one will show you, on the bottom status bar, how much memory is used by ReSharper and the second one will try to teach you something new every time you open Visual Studio.
This tab allows you to set how ReSharper integrates with Visual Studio. We propose that you check Hide overridden Visual Studio menu items and select Visual Studio as ReSharper keyboard scheme. The first one hides those options from the Visual Studio menu that are overridden by ReSharper; for example, the Refactor option in the context menu in the editor. This will indicate that you are using ReSharper features. The Visual Studio scheme adds shortcuts in order to avoid conflicts with the existing Visual Studio shortcuts.
In this book, we will present many shortcuts and all will be related to the Visual Studio scheme. For shortcuts from the ReSharper 2.x/Intellij IDEA scheme, please check the ReSharper Documentation site at http://www.jetbrains.com/resharper/documentation/.
Now, let's look at the tabs that are available under the Code Inspection section.
Highlight color usages
Analyze errors in whole solution
Show code inspection options in action list
Show the "Import namespace" action using popup
This tab contains the most important settings related to code analysis. Settings are divided by language. It is highly recommended that you review these options to make sure that ReSharper will prompt suggestions that are consistent with your coding standards.
Next, we'll see the tabs under the Code Editing section.
On this screen, you can find rules based on which ReSharper validates names used in your code. Same as with code analysis, it is recommended that you review the naming settings to make sure that they are consistent with your coding standards.
ReSharper v8 allows you to store configuration on the following three levels:
Solution team-shared: This contains settings for a specific project. These settings are stored in the
sln.DotSettingsfile in your solution folder and override the settings specified at computer level. To share these settings with your team, you need to commit this file to your source control repository.
Configuration on this level should be used to share common coding standards, such as naming conventions, code formatting, and code inspection rules, with your team.
Solution personal: This contains your private settings. These settings are stored in the
sln.DotSettings.Userfile in your solution folder and override Solution team-shared configuration. This file should not be committed to your source control repository as it will override other users' settings.
Usually, this level is used to change environment options such as preferred shortcuts, IntelliSense behaviors, and ReSharper UI settings.
To open the Manage Options… window, navigate to RESHARPER | Manage Options… from the Visual Studio toolbar. You can also open this window by clicking on the Manage… button in the Options window.
ReSharper extends Visual Studio in the following places:
Shortcuts: Almost every ReSharper feature is accessible via a shortcut.
Custom windows: ReSharper provides custom windows with more advanced features such as Unit Test Runner and Assembly Explorer. You can access these windows by navigating to the RESHARPER | Windows option from the Visual Studio toolbar.
IntelliSense: ReSharper extends or replaces standard IntelliSense available in Visual Studio by providing more useful hints.
Code editor extensions: In a visual way (for example, by icons), this shows you the available ReSharper options or marks the code on which you can run some ReSharper options.
As extending the code editor is the most commonly visible ReSharper feature, we will discuss it in more detail.
The following screenshot presents Visual Studio with some ReSharper extensions:
The most used features are accessible via context actions (numbered 1 in the preceding screenshot). Context actions are accessible by clicking on an icon or with the Alt + Enter shortcut. Context actions contain features related to code refactoring, code generation, navigation, and more. Quick fixes can be displayed along with context actions.
Alt + Enter is your best friend in ReSharper. In a very smart way, it provides you with the needed options based on the context in which you are using this shortcut.
One of the most important ReSharper features is continuous code quality analysis. ReSharper highlights detected errors and warnings in the marker bar (numbered 2 in the preceding screenshot). The status indicator (numbered 3 in the preceding screenshot) is displayed on the top of the Marker Bar, which contains the summary of the found errors and warnings.
This chapter explained what ReSharper is and showed you how easy it is to start using it. You learned how to adjust the ReSharper configuration to suit your needs alongside your project and team standards.
In the next chapter, we will go deeper into the ReSharper features that will help you write code, and you will learn what it means to write smarter code.