ReSharper Essentials

By Łukasz Gąsior
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies

About this book

ReSharper is one of the best tools that extends Microsoft Visual Studio. It adds a lot of features which increases a developer’s productivity. It started with providing support for C# and VB.NET projects, but the current version supports developers in almost any type of applications which you can create with Visual Studio.

Written with very clear walkthroughs and step-by-step instructions, this book contains many cases that practically show you how to write better code, refactor it and quickly find problems in your code.

This book explains how to start using ReSharper and how you can configure it to suit your needs. In the beginning it focuses on introducing the most commonly used features that help you in writing code and find things in smarter, quicker ways. You will learn about code analysis which will help you to eliminate errors and code smells, and how ReSharper supports web development by providing support for writing ASP.NET (MVC) applications and JavaScript/TypeScript or HTML/CSS code.

This book introduces tools that facilitate your work with unit tests and teach you how to write a simple ReSharper plugin. The last chapters present the new features introduced in ReSharper 8, which provide support for architects and allow you to use ReSharper analysis besides Visual Studio and also support for TypeScript (8.1). Finally, it quickly reviews the best ReSharper plugins recommended by the author.

This book will show you how to use ReSharper features to be a better developer, in a practical manner.

Publication date:
February 2014
Publisher
Packt
Pages
124
ISBN
9781849698702

 

Chapter 1. Getting Started with ReSharper

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

  • Basic configuration

  • Integrating ReSharper with Visual Studio

 

Introduction to ReSharper


ReSharper is probably the best plugin for Visual Studio. It extends your favorite IDE with a lot of incredibly useful features.

Note

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.

Available versions

ReSharper comes in the following three versions:

  • C# Edition

  • VB.NET Edition

  • Full Edition

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.

All other features, such as support for web development, unit tests, and XAML are the same in all of these versions except decompiler, which is not available in the VB.NET Edition.

Apart from the provided features, ReSharper can be categorized based on license. Depending on your needs, you can purchase any of the following licenses:

  • Commercial License: ReSharper can be used by any developer in your company but the total number of concurrent users cannot exceed the number of purchased licenses

  • Personal License: ReSharper can be used only by the person who purchased it

If you are a teacher, a trainer, a Microsoft's MVP (Most Valuable Professional), or if you are working on a non-commercial open source project, you can get ReSharper for free.

Note

For more information about ReSharper licenses, you can visit the Licensing & Upgrade page at http://www.jetbrains.com/resharper/buy/license-matrix.jsp.

Support for various versions of Visual Studio

ReSharper v8 provides support for Visual Studio 2013, 2012, 2010, 2008, and 2005. ReSharper works with all editions of Visual Studio except the Express Edition.

Note

ReSharper does not work with the Express Edition as it does not support add-ins and extensions.

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.

Support for various languages

ReSharper provides extensive support to many languages/technologies, which are listed as follows:

  • C#, VB.NET

  • ASP.NET, ASP.NET MVC, HTML, JavaScript, TypeScript, CSS

  • NAnt, MSBuild

  • XML

  • XAML

It doesn't matter what kind of application you are working on, ReSharper will make your life easier!

 

Installing and configuring ReSharper


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.

Tip

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.

Installing ReSharper

Installing ReSharper is quite straightforward. Perform the following steps:

  1. Download the main installation package from the Download ReSharper page at http://www.jetbrains.com/resharper/download/index.html.

  2. After opening the downloaded installation package, you should see the following screenshot:

    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.

  3. If you have chosen Advanced settings, in the later steps you can choose what to do if you have a previous version of ReSharper already installed and how to change the installation location.

Configuring ReSharper

ReSharper is fully configurable. To access the ReSharper settings, you need to navigate to RESHARPER | Options from the Visual Studio toolbar.

Options

ReSharper configuration is divided into four areas, which are listed as follows:

  • 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

    Note

    Code cleanup is a set of ReSharper features that make your code cleaner. Among the most important things, it can format your code, remove redundancies, and optimize the using (Imports in VB.NET) statements.

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.

The General tab

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.

The Keyboard & Menus tab

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.

Note

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.

The Settings tab

This tab contains general settings for code analysis. Our suggestion is to check all the options available below the Enable code analysis checkbox:

  • Color identifiers

  • Highlight color usages

  • Analyze errors in whole solution

  • Show code inspection options in action list

  • Show the "Import namespace" action using popup

Note

Please note that checking the Analyze errors in whole solution option can hit Visual Studio's performance in big projects.

The Inspection Severity tab

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.

The C#, VB.NET, and Naming Style tab

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.

Note

There are many more interesting and useful settings. We encourage you to test a couple of different configurations to customize ReSharper to your needs.

Manage options

ReSharper v8 allows you to store configuration on the following three levels:

  • Computer: This contains settings that are applied to all your projects.

  • Solution team-shared: This contains settings for a specific project. These settings are stored in the sln.DotSettings file 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.User file 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.

 

Integration with Visual Studio


ReSharper is visible almost everywhere in Visual Studio. Sometimes, it is difficult to recognize if some option has come from Visual Studio or from ReSharper.

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.

Tip

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.

 

Summary


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.

About the Author

  • Łukasz Gąsior

    Łukasz Gąsior is a programming enthusiast with several years of experience. A big fan of ReSharper and jQuery, he is primarily involved in projects related to web applications (ASP.NET and ASP.NET MVC). He enjoys trying his hand at different technologies, such as creating Android applications, just for the fun of it. He strongly believes that JavaScript can be mastered just like any other language.

    If you would like to get in touch, he tweets at @lukaszgasior and blogs at http://gasior.net.pl and http://codingtv.pl (both blogs are in Polish).

    Browse publications by this author
Book Title
Access this book, plus 7,500 other titles for FREE
Access now