Home Programming ReSharper Essentials

ReSharper Essentials

By Lukasz Gasior
books-svg-icon Book
eBook $19.99 $13.98
Print $32.99
Subscription $15.99 $10 p/m for three months
$10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
eBook $19.99 $13.98
Print $32.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
About this book
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
  • Lukasz Gasior

    Ł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
ReSharper Essentials
Unlock this book and the full library FREE for 7 days
Start now