ReSharper is one of the most popular Visual Studio plugins on the market today. In this course, ReSharper Fundamentals, you'll be introduced to JetBrains ReSharper, a developer productivity tool for Visual Studio. First, you'll begin this course by learning the basic features of ReSharper such as understanding the search and navigation. Next, you'll dive into other useful features of the software, including coding assistance, code generation and templating, and refactoring capabilities. Finally, you'll explore an assortment of more advanced tools used with ReSharper. By the end of this course, you'll become comfortable using ReSharper to develop .NET applications.
Course Overview Hi everyone. My name is Dmitri Nesteruk and I'd like to welcome you to my course on ReSharper Fundamentals. As a former technology evangelist at JetBrains I'm a big fan of various developer tools, and I'm very happy to be here on Pluralsight to tell you about a tool called ReSharper. ReSharper is the most popular Visual Studio plugin on the market today, and it offers users a wealth of functionality for working with our. NET applications. In this course we will consider the following modules. We'll have an introduction where we'll discuss what ReSharper is and what it's useful for, we'll take a look at search and navigation, we'll discuss coding assistance, we'll take a look at code generation and templating, we'll look at ReSharper's extensive refactoring capabilities, and we'll finish off the course by looking at architecture tools, Stack Trace Explorer, as well as other advanced ReSharper tools. By the end of the course I hope that you'll gain an appreciation for the advantages that ReSharper offers, and I hope you will become comfortable in using ReSharper to develop. NET applications. The key requirement for this course is for you to be familiar with. NET development, as well as Visual Studio, so I hope you will join me on this journey to learn about ReSharper with the ReSharper Fundamentals course here on Pluralsight.
Search and Navigation If you're working with a large or complicated code base it helps to have a tool which allows you very fast search navigation to a particular code element that you need or being able to display, for example, a list of inheritance hierarchies, and this is precisely the kind of functionality that ReSharper supports, so the goal in this particular module is for you to learn all the different ways in which ReSharper Search and Navigation functionality actually helps you investigate complicated code bases. So here's what we're going to take a look at in this module. First of all, we'll take a look at the simplest form of navigation, which is going to declaration. Then we're going to take a look at the go to anything mechanism, which essentially does a very broad search of all the code base that you are working with, but also it's filterable, so you can apply all sorts of filters and different ways of actually selecting the information that you're looking for. We're going to take a look specifically at navigating type hierarchies, we're going to discuss ReSharper's implementation of bookmarks, which I have to say is pretty good, and finally, we're going to take a look at the find usage functionality.
Coding Assistance Hi there. So in this module of the course we're going to take a look at those features of ReSharper which actually help you code. So the purpose of this module is fairly simple. I want you to understand how ReSharper helps you type and manipulate source code, so here are the topics that we're going to take a look at. First of all, we'll take a look at code analysis. Now this is basically the idea of ReSharper using its analysis features to show you potential problems in your code or downright errors and offering you the ways of actually fixing those problems. Then we're going to take a look at the functionality specific to usings and references. Once again, ReSharper makes it very convenient for you to get the usings and the project references that you need. Then we're going to take a look at coding assistance. Generally, that is the typing experience right inside Visual Studio, so what happens as you type in your code, and finally, we'll take a look at code completion, which is ReSharper's variety of Intellisense, and we're going to see that it's far more powerful than what Visual Studio offers.
Code Generation and Templating Hi there, and welcome to this module on code generation. Now code generation is a topic that I personally find particularly exciting, and we're going to see all the fun ways in which ReSharper helps you generate code, so the goal of this module is fairly obvious, it is for you to learn other ways in which ReSharper helps you generate code, and there are many of those ways, so here's what we're going to see in this module. First of all, we'll take a look at generative completion. Now we already mentioned generative completion when we talked about code completion, but now I'm going to cover some of the additional features that are available in ReSharper. Then we'll take a look at the Generate menu, which is the central point for generating class members. It's a single menu, which gives you all the options for the kind of things you can generate within the confines of a single class, and then we're going to take a look at templates, and there are three types of templates. First of all, there are live templates, which are similar to Visual Studio snippets, then there are surround templates, which let you surround a chunk of code with, let's say, a try-catch, and then there are file templates, which generate either individual files or they can also generate entire sets of files, which is a really cool thing as well, and finally, we'll take a look at the Mnemonics, which is my own personal project that I've been using throughout this entire course, and I'll explain how it works and what it's all about.
Refactoring Hi there. In this module we're going to take a look at refactorings, which are transparent ways of altering your code for the better without changing its functionality, so the goal of this module is fairly obvious. It is for you to discover ReSharper's refactorings and to learn how to use them. So here are the refactorings that we're going to see in this module. First of all, we'll talk about what's probably the most common refactoring known to man, that is the Rename Refactoring. Then we're going to take a look at the various Introduce Refactorings. They introduce things like variables, and fields, and so on. Then we're going to take a look at the Extract and Inline Method refactorings. We'll also take a look at extracting interfaces and classes from existing classes, and that is a large scale refactoring process. Then we'll take a look at a couple of more diverse refactorings, including refactorings to patterns, for example, and we'll finish off the module with a look at File and Project-level Refactorings.
Architecture Tools, Stack Trace Explorer, and Other Advanced Tools Over the years ReSharper has accrued additional functionality, which is not directly related to code editing, but also very useful in its own right, so in this last module of the ReSharper Fundamentals course we're going to take a look at some of those features. So the goal of this course is for us to learn about a few useful extras, which exist in ReSharper and which can make your life a lot simpler. So here's what we're going to take a look at. First of all, we'll discuss the support for regular expressions. Regular expressions are a bit like a language within a language, and as a result ReSharper has special support for them. Then we're going to take a look at something called Structural Search and Replace, which is a way of performing a search, not just for a particular irregular expression or a plain text term, but rather using ReSharper's knowledge of code and code structure to search and replace particular chunks of code. In addition, we'll take a look at the Assembly Explorer, which is a part of ReSharper that has been added from dotPeek. We're going to take a look at the Stack Trace Explorer. We'll take a look at the Todo Explorer. We'll take a look at ReSharper's architectural tools, and we'll finish off the module with a look at the ReSharper Integrated Unit Test Runner.