ReSharper 2016.3 vs ReSharper 2016.2

This page will help you compare ReSharper 2016.3 with its predecessor. The latest ReSharper adds initial support for Visual Studio 2017 RC, C# 7 and VB.NET 15; allows to run and debug .NET Core unit tests. Changes also include new quick-fixes, code generation and context actions, updates in navigation and search, further evolution of TypeScript, JavaScript and JSON support, as well as more ways to inject languages. For details, please see What's New in ReSharper.


Supported versions of Visual Studio

Visual Studio 2010 Visual Studio 2010
Visual Studio 2012 Visual Studio 2012
Visual Studio 2013 Visual Studio 2013
Visual Studio 2015 (Updates 1–3) Visual Studio 2015 (Updates 1–3)
Visual Studio 2017 RC Visual Studio 2017 RC

Code analysis

2200+ code inspections ~2400 code inspections
~1020 quick-fixes ~1200 quick-fixes
Language injection: support for regular expressions and HTML Language injection: support for CSS, JavaScript, JSON; automatic language injections in certain scenarios

ReSharper Build

Build Results window Build Results window
ReSharper Build uses Visual Studio's NuGet integration to perform restore ReSharper Build uses its own implementation of NuGet Restore
Build options Build options: choose when the Build Results window is shown; build can be logged to the Output window or a file

Navigation and search

Find Results window Find Results window populates asynchronously
Go to Text Go to Text supports new formats of content files: .less, .hbs, .coffee, .scss, .dart, .as, .styl
Recent Files Recent Files shows the path to the file and entries can be deleted with the Delete key
Recent Edits Recent Edits shows the path to the file and all edits in the same method are shown as a single entry
Go to… navigation actions All Go to... navigation actions have a setting to remember the last search
Structural search and replace Structural search and replace: string and integer numeric literals can be matched by value
Structural navigation Structural navigation with Tab and Shift+Tab now works in TypeScript, JavaScript and JSON code
Go to Implementation Go to Implementation works for TypeScript types

Refactorings, quick-fixes and context actions

Transform Out Parameters and Extract Class from Parameters refactorings New Transform Parameters refactoring replaces and improves two existing refactorings
Encapsulate Field refactoring: supported in C# and VB.NET Encapsulate Field refactoring: added support for TypeScript
350+ context actions 420+ context actions
Quick-fix to introduce fields and auto-properties for one unused parameter at a time Quick-fix to introduce fields and auto-properties for all unused parameters
Surround with type guard quick-fix Surround with type guard quick-fix to disambiguate unresolved symbols in TypeScript
Quick-fix to introduce property for a lazily initialized field Quick-fix to introduce property for a lazily initialized field

Code generation

Generate relational members Generate relational members helps overload relational operators (>, <, , ) and/or implement IComparable and IComparable<T> using selected fields and properties
Generate relational comparer Generate relational comparer creates a comparer class derived from Comparer<T> using selected fields and properties
Generate dispose pattern Generate dispose pattern helps implement IDisposable with optional nullability checks and destructor for unmanaged members
Generate constructor Generate constructor adds an option to check parameters for null

Coding assistance

C# typing assistants New C# typing assistant for interpolated string literals
Indenting of nested for, foreach, while, lock statements Indenting of nested for, foreach, while, lock statements is disabled by default
Code completion Code completion for TypeScript literal types and a number of formatting fixes for JSX/TSX files

Unit testing

xUnit and NUnit tests in ASP.NET Core and .NET Core projects xUnit and NUnit tests in ASP.NET Core and .NET Core 1.0.x projects in Visual Studio 2015

ReSharper Options

Context Actions page for each language A common Context Actions page for all languages
Inspection Severity page Inspection Severity page is redesigned to incorporate more languages
Language Injections page Language Injections page: the list of automatic language injections with options to disable them
Third-Party Code page Third-Party Code page: JavaScript, TypeScript or JSON files can be marked by name, file mask or entire folder as "skipped" or "library"

ReSharper tool windows

Assembly Explorer Assembly Explorer: assemblies can be loaded directly from or a different NuGet package source
To-do Explorer To-do Explorer: colored categories for to-do patterns; colors can be configured in Visual Studio’s Fonts and Colors options page
Stack Trace Explorer Stack Trace Explorer: auto-open mode to copy external stack traces faster

Supported languages and technologies

C#: up to version 6.0 C#: early support for version 7.0, including binary literals, digit separators, local functions, out variables, pattern-matching in is-expressions and switch cases
VB.NET: up to version 14 VB.NET: up to version 15 with support for binary literals and digit separators
ASP.NET (Web Forms, MVC) ASP.NET (Web Forms, MVC)
ASP.NET Core ASP.NET Core 1.0.x
JavaScript JavaScript
Node.js Node.js
JSON JSON: dynamic completion of package names in project configuration files (project.json, package.json and bower.json)
TypeScript: up to version 2.0.0 TypeScript: up to version 2.0.2
HTML HTML: entities are highlighted for better readability
Build scripts Build scripts
Google Protocol Buffers Google Protocol Buffers


Feature suggestions Feature suggestions: ReSharper shows a pop-up window with a tip in case you don’t use one of its basic features
Free 30-day trial