What's New in ReSharper 9.x

ReSharper 9 supports Visual Studio 2015, C# 6.0 and regular expressions; brings more bulk quick-fixes; vastly improves support for JavaScript & TypeScript; presents a new file layout editor and navigation actions. It is also based on a new platform, reducing memory consumption when ReSharper is installed in Visual Studio along with dotCover, dotTrace, and/or dotMemory.


Download ReSharper

Free 30-day trial




Support for C# 6.0

Starting from version 9.0 ReSharper provides support for new language constructs introduced with C# 6.0. Those include static usings, exception filters, string interpolation, nameof() operator and others. We are also introducing a set of new quick-fixes to replace curly brace delimited constructs with expression bodies, to update your null checking code using the new ?. operator, to transform to regular/verbatim interpolation or to update parameter references using nameof() operator.

nameof() operator support in ReSharper

Please see this post for more details on C# 6.0 support.


Find type on NuGet

When you have a type or namespace used inside your project that can't be resolved to referenced libraries or packages, ReSharper can search for this type or namespace in the NuGet package gallery, display the list of matching packages and easily download and install the package that you choose.

Find a type on NuGet with ReSharper 9

Enhanced JavaScript and TypeScript support

ReSharper 9 provides tons of enhancements for JavaScript and TypeScript development that include a set of new quick-fixes to cover over 300 different types of errors, new live templates for common TypeScript entities, and new code generation options to make it easier to implement interfaces or generate missing or overriding members.

There's also a set of new refactorings for JavaScript and TypeScript. These include Introduce Field, Copy Type, move refactorings (Move Type To Module/File, Move Into Matching Files and Move To Folder), Rename File as well as the Import of Types for Pasted Code.

Import of Types for Pasted Code refactoring for TypeScript

ReSharper 9 supports EcmaScript 6, TypeScript 1.4 and TypeScript 1.5. It is even aware of some TypeScript 1.6 features such as local types, abstract classes, type predicates, async functions and methods, as well as the await operator.

ReSharper 9.1 adds support for JSDoc including syntax highlighting, quick documentation (Ctrl+Q) and code completion. As a further improvement, ReSharper 9.2 adds support for regular expressions in TypeScript and JavaScript, similar to how it does in C# code.

Fix in Scope evolution

ReSharper 9 expands the Fix in Scope feature with an ability to remove redundant qualifiers, fix naming or remove regions in the scope of a project or the whole solution.

Fix in scope: Remove redundant qualifiers

In addition, ReSharper is now able to look through the code in your solution and generate the appropriate imports for all unresolved types.

Bulk import type in ReSharper 9

This feature can import extension methods as well. The only case when ReSharper can't import a type is when it resolves to two different namespaces (e.g., System.String and User.String).


A new Go To Action feature searches for a particular action using the legendary Alt+Enter shortcut. Navigate to Exposing APIs command finds all methods that are capable of returning a particular type.

Go To Action in ReSharper 9

Find Usages gets a configurable setting for the Preview Tab, and it no longer blocks the UI on long-running searches. You can also filter or ignore particular issues in the Find Results Window that was updated not to produce extra tabs for the same type.

Find Usages progress is now async and non-modal

The Go to Usages pop-up is reworked as well: it now shows the context of discovered usages, as well as a progress bar, which can be very handy when looking at heavily used symbols.


Visual Studio 2015 support

ReSharper 9.2 integrates with Visual Studio 2015 RTM while preserving compatibility with 3 previous releases of the Microsoft IDE, namely 2013, 2012 and 2010.

When integrated into Visual Studio 2015, ReSharper merges Visual Studio's own quick actions into its Alt+Enter menu, so when you want to make changes to your code, you can choose either ReSharper or Visual Studio to do it for you, from the same list of actions.

Visual Studio 2015 support in ReSharper 9

Windows 10 applications

Starting with version 9.2, ReSharper supports Universal Windows Platform (UWP) application development using Windows 10 Developer Tools. In addition to understanding the structure of UWP projects, ReSharper provides code completion for API checks and supports new Windows 10 specific XAML constructs.

Code completion for API checks in Windows 10 application development

Run configurations

A run configuration lets you run, profile or debug a project, a static method or any executable file. For static methods, a run configuration can be quickly created right in the editor:

Managing run configurations

You can create multiple run configurations depending on your needs and preferences. To run or debug the active configuration, press Ctrl+F5 or F5. By default, the solution will be rebuilt, but you can also execute the active configuration without rebuilding. If you have dotTrace installed and integrated in Visual Studio, you can launch profiling from the same pop-up menu.


Regular expressions

ReSharper 9 provides you with code completion for wildcards and regular expression groups, highlights errors, and offers a quick-fix to adjust wildcard backslashes to C# style. It comes with a separate Validation Utility for regular expressions that lets you quickly check input against a regular expression and get an immediate view of the matches and groups.

Validation Utility for regular expressions in ReSharper 9

Starting with version 9.2, ReSharper extends its regular expression support to JavaScript and TypeScript.


Type dependency diagram

Adding to the Project Dependency Graph, ReSharper 9 expands its set of Architecture Tools with a Type Dependency Graph. This diagram can be most helpful for finding out what code depends on a particular type, and what the type itself depends on.

Type Dependency Diagram in ReSharper 9

Code style settings

With the new File Layout Editor you can easily customize your coding style settings in a single place without having to look through lots of different options. This works for C#, VB.NET, HTML, JavaScript and TypeScript.

Code style setting in ReSharper 9



Download ReSharper

Free 30-day trial




What′s new in ReSharper Ultimate

ReSharper is a part of the ReSharper Ultimate family along with dotTrace, dotCover, dotMemory, dotPeek and ReSharper C++.

With every new ReSharper release its fellow ReSharper Ultimate products receive updates as well. Below are the highlights of their latest changes.

ReSharper C++
C++ support in Visual Studio

The latest addition to the ReSharper Ultimate family, ReSharper C++ makes Microsoft Visual Studio a better IDE with refactorings, navigation, code inspections, quick-fixes, code generation, unit test runner and more productivity features for C++ development.

Visual Studio extension for C++ Developers

ReSharper C++ extends Visual Studio with over 60 C++ code inspections that are displayed instantly, as you type. For many of these inspections, ReSharper C++ provides quick-fixes (light bulbs) to improve code in one way or another.

dotMemory
Dominators sunburst chart

dotMemory 4.3 introduces Sunburst diagram. Just a quick look at the chart allows you to find out which objects are crucial for your application and evaluate the largest structures. The more memory a dominator retains, the larger the central angle.

Sunburst diagram in dotMemory 4.3
Memory profiling by condition

You can now automate the process of getting memory snapshots. Just set a particular condition, and snapshots will be collected automatically as soon as the condition is met.

Memory profiling by condition

dotMemory Unit
dotMemory Unit Framework

The new dotMemory Unit framework allows you to write tests that check your code for all kinds of memory issues. Extend your unit testing framework with the functionality of a memory profiler.

dotMemory Unit

dotTrace
SQL query profiling

SQL queries are now supported when profiling in Timeline mode, letting you analyze how each particular query affects application performance and which method runs the query.

SQL profiling in dotTrace
Timeline profiling

Timeline mode is perfect for analyzing UI freezes, sync delays, excessive garbage collections, file I/O, and other interval events. It is a completely new way of profiling applications based on collecting temporal data for the call stack and thread states in your application.

Incoming HTTP requests

In dotTrace 6.2+, you can analyze incoming HTTP requests of your web applications using a new filter in Timeline mode. This provides you with exact info on how a particular HTTP request is processed.

HTTP request timing with dotTrace

dotCover

Recent releases of dotCover enhance support for MSTest and WinStore tests to cover solutions with MSTest DeploymentItem attributes, .runsettings and .testsettings configuration files, add support for newer ReSharper versions, and apply bug fixes.



Previous Versions

ReSharper 7
  • Support for Visual Studio 2012
  • New refactorings
  • Smoother code formatting
  • Easier code review
  • Members Hierarchy
  • CSS Style Hierarchy
  • Unit testing improvements
  • JavaScript support improvements
  • Improved naming style configuration
ReSharper 8
  • Support for Visual Studio 2013
  • Project dependency viewer
  • Faster code fixes
  • Multifile templates
  • Navigation improvements
  • Free command-line version of ReSharper
  • More code inspections and quick-fixes
  • New solution-wide refactorings
  • Extraordinary XAML support
  • More accessible code completion
  • CSS support improvements
  • Enhanced JavaScript support
  • Extension manager