What's New in ReSharper
ReSharper/ReSharper C++ 2017.2
- Support for .NET Core 2.0 projects in Visual Studio 2017 15.3.
- Go to text is integrated into Go to everything.
- Commands that navigate by name can handle incorrect word order inside a CamelCased identifiers as well as misspellings. They also support exact match queries inside quotation marks.
- C# 7.1 support: inferred value tuple component names, default literals, async Main.
- Go to File Nearby — a new navigation command.
- New typing-assist features: add NotNull/CanBeNull annotations and convert expression-bodied to block-bodied members.
- A new option to make properties mutable when implementing an interface with get-only properties.
- A new option to make parameters optional when generating type constructors.
- New options page ( generating null-checking routines for exceptions and assertions . ) that lets you customize
- Debugging Modules that have no Debug Information (PDB).
- XML is supported in language injections.
- More context actions and quick-fixes supporting
- Quick Documentation (Ctrl+Q) as well as completion for scoped NPM packages are now available in project configuration files (project.json, package.json, and bower.json).
- Improvements of the built-in decompiler: ability to retrieve assembly's original source code, which is referenced in the Portable PDB using SourceLink; if any of the navigation and search commands results in multiple matches inside a single method, ReSharper now displays all of them in the search results.
- Interactive tutorials ( ) to help you get started with ReSharper’s functionality or get up to speed with features in new releases.
- Finalized support for TypeScript 2.3 features: async iterators, optional generics, overload resolution for stateless JSX components, contextual
thisfor object literals, and the
- Full support for TypeScript 2.4 features: enums with string values (or mixed string/number values), generic inference from contextual type returns, and generic contextual signatures.
- Introduce/Inline Type Alias refactorings.
- Support for angular input/output aliases and attribute directives, for Angular2 components added via NPM, and improved support of Angular 4 syntax.
- Improved support for mapped type members in Find Usages and in the Rename refactoring.
- Finalized support for TypeScript 2.3 features: async iterators, optional generics, overload resolution for stateless JSX components, contextual
- New features for ReSharper C++ 2017.2:
ReSharper/ReSharper C++ 2017.1
- Full support of Visual Studio 2017.
- Filters in Go to everything and Go to text, which you can type right into the search field before or after the search query.
- Find Results window improvements: grouping by kind of usage (for both C# and C++), improved filters, possibility to search by exact match using quotes, error highlighting in found usages.
- An option to open each new file you navigate to in the Preview tab, configurable on the page of ReSharper options.
- EditorConfig support.
- Contextual configuration of formatting rules is now available in C#.
- Auto-formatting pasted code with ReSharper formatting preferences.
- Tabs and indents in all supported languages can be now configured and stored in ReSharper's layered settings.
- Other formatter improvements: Auto-detecting indents when reformatting code, support for comma-first style, options for the line breaks in a single
casestatement in C#, option to add line feed at the end of the HTML, CSS, or XML files.
- Code styles for bodies of simple function members.
- Context menu on a status indicator, which provides a quick access to a number of options and commands of code inspection.
- Reworked UX of Code Cleanup, which now lets you create and edit custom cleanup profiles right in the Code Cleanup dialog.
- Unit Testing Assistance in .csproj-based projects in Visual Studio 2017 (requires Visual Studio 2017 update of March 28th or later).
- Support for the routing attributes in Razor tag helpers: code completion, navigation & search commands, Rename refactoring.
- Full support of TypeScript 2.1 and 2.2, including mapped and indexed types, object rest and spread properties, configuration inheritance, untyped imports, combined types normalization, partially annotated signatures, and control flow analysis for implicit any and implicit any arrays.
- Experimental support of Angular 2 HTML template language.
- Navigate To Function Exits and Navigate To Implementing Members.
- Generating Properties for TypeScript classes.
- Postfix Templates.
- New features for ReSharper C++ 2017.1:
- About 30% decrease in managed memory usage when a solution is loaded from cache.
- The set of C++ postfix templates is extended with
- Formatter improvements: Indenting for the preprocessor directives, space after parentheses in cast expressions, break line in simple case statement, indenting for namespace members.
- File Header Style.
- New code cleanup tasks for removing code redundancies.
- New options page for configuring C++ tests ( ).
- Initial support for Open Folder and CMake projects.
ReSharper/ReSharper C++ 2016.3
- Support of Visual Studio 2017 RC, including the new .csproj based .NET Core projects.
- A new Transform Parameters refactoring, which combines and replaces two other refactorings 'Transform Out Parameters' and 'Extract Class from Parameters'.
- No more separate setting pages for context actions in specific languages as all of them can be now enabled or disabled on the page of ReSharper options.
- Redesigned inspections severity options page ( ).
- The Usages of Symbol action lets you switch from the pop-up to the Find Results window before the usage search is over.
- The Find Results window works asynchronously, meaning that you can work with the results tree while a search is in progress.
- Recent Files and Recent Edits pop-ups now show the path of the file, Recent Edits can also show all edits in the same method as a single entry.
- New formats of content files (
.styl) supported in Go to Text.
- A setting to remember the last search in Go to Everything/Type, Go To File, and Go to Text actions (this behavior is turned off by default).
- Assembly Explorer window adds a new way to load assemblies – directly from nuget.org or from any NuGet package source.
- New code generation actions: relational members, relational comparer, dispose pattern, plus a new option to check parameters for null in generate constructor.
- New quick-fixes and context actions: e.g. a new quick-fix to introduce fields and auto-properties for all unused parameters; a new context action on fields of type
Lazy<T>will introduce a property to encapsulate
- A new typing assist for interpolated strings: type
$and ReSharper will automatically complete the
$""and insert the text caret between the quotes.
- Join Lines command that quickly appends the next line after the current one.
- ReSharper build improvements: the results of a build are now displayed in their own Build Results window, plain text logging to the Output window and/or to a file, an option to automatically run build after the solution is loaded, and proprietary NuGet package restorer that works with all supported Visual Studio versions.
- External stack traces can open automatically in the Stack Trace Explorer window.
- Initial support for C# 7.0 and VB.NET 15 features: binary literals, digit separators, out variables, local functions, and more.
- Dynamic completion of package names in project configuration files (project.json, package.json, and bower.json).
- Unit testing assistance is now available for for NUnit and xUnit.net unit tests in ASP.NET Core and .NET Core projects.
- Significant performance improvement xUnit.net tests.
- Support of UWP RelativePanel control.
- Formatter improvements: Indenting of nested
lockstatements without braces is now disabled by default, with options to restore the old behavior; new option for indenting type parameter constraints; fixes for bugs introduced in 2016.2 by the new indenting engine.
- Reworked coloring of to-do items in the editor.
- New features for ReSharper C++ 2016.3:
- Postfix completion and postfix templates.
- Introduce typedef and Inline typedef refactorings.
- Unit testing assistance is now available for C++ test framework, Catch and Boost 1.62. Unit tests are also automatically updated for externally changed files.
- C++ code analysis in the InspectCode Command-Line Tool.
- Syntax highlighted tooltips for C++ code elements. The tooltips display method and field signatures, as well as formatted Doxygen and C#-style XML comments.
- Support for nested namespace definitions introduced in C++17.
- New options for C++ formatter: 'Spaces within parentheses in cast expressions' and 'Place enumerators on new line'.
- Properties get read from Linux Makefile projects
- Memory usage optimizations.
ReSharper/ReSharper C++ 2016.2
- Support of ASP.NET Core 1.0 and .NET Core 1.0 projects.
- Go to Text.
- Structural Navigation.
- Warnings in Solution-Wide Analysis.
- New C# typing assistant features: dot/semicolon inside parentheses and auto-correction of prefix in verbatim string interpolation
- Ability to mark references as used at runtime to exclude them from cleanup performed by the Optimize References and Remove Unused References features.
- Rearrange code improvements. For example, it is now available in interpolated string inserts, and in expressions with 3 and more operands; greedy brace now works for opening brace, braces of types and namespace declarations.
- Reworked surround templates: each non-file template can now be used for generating code, for surrounding code, or for both, which lets you reuse your custom surround templates as live templates and vice versa, reducing their total number.
- Extract Members to Partial refactoring.
- Move Type to Another File refactoring can be now applied to nested types.
- Assembly dependency diagram.
- Ability to suppress custom code inspections with comments: specify a 'suppression key' in the Edit Highlighting Pattern dialog, and then use comments like
// ReSharper disable once [SuppressionKey].
- Execution log in the Unit Test Sessions window that lets you separate problems related to test execution process from unit tests code.
- HTML analysis inside string literals in .cs, .js, and .ts files, which is enabled with the context action or with a comment
/*language=html*/before the string literal.
- Ability to enable regular expression assistance in string literals with a comment
/*language=regexp*/before the string literal.
- JSON value helpers.
- Support for the
<inheritdoc/>tag in XML documentation comments.
- C# formatter improvements: new options for indenting of parentheses and code inside them; for controlling spaces before and after
--operators as well as before and inside parenthesis of
- IL Viewer improvements: when you set the caret on a code symbol or instruction, all usages of this item are highlighted; loops in your code can be distinguished by corresponding indents and comments.
- Ability to explore assemblies from currently running processes.
- Localization Inspections and quick-fixes as well as the Move to Resource refactoring now work for interpolated strings.
- VB.NET: support for interpolated strings
- CSS: support of custom properties and CSS variables.
- Generative Completion in TypeScript (
ctorp, overrides, lambdas).
- Full support of TypeScript 2.0 features, including
thisfor functions, control-flow aware type guards, path mappings, optional class members, the
- Generating implementations for abstract members declared in a parent class using the Generate action (Alt+Insert) or a quick-fix.
- Go to Declaration and Find Usages work correctly when dealing with type aliases.
- Generative Completion in TypeScript (
- New features for ReSharper C++ 2016.2:
- C++14 language features: variable templates and
- Warnings about usages of classes and functions marked with the
- Support of the
__declspec(noreturn)attribute in control flow analysis.
- New code style preferences for include directives in generated code.
- Inline Variable refactoring now works in C++.
- Important optimization of code analysis. For example, this optimization makes indexing (first opening) of the Unreal engine project several times faster.
- Automatic Completion in C++ now also suggests symbols that are not included in the current file.
- New code inspections and quick-fixes: 'Missing include guards' in your header files with the 'Add
#pragma oncedirective' fix; 'Non-explicit conversion operator'; inspection and a fix to add a missing
defaultcase to a
- The Document context action that allows you to quickly add documentation comments to types and symbols.
- When your caret is on one of a function’s exits (
throw, etc.) ReSharper will automatically highlight all other function exits including exits from loops and
- A code style preference for using
NULLin default pointer initializers.
- New formatter options: single-line functions and lambdas, Blank lines around single line function definitions, Break line before member initializer list, Space between closing angle brackets in template arguments (for conformance with pre-C++11 compilers)
- __RESHARPER__ macro that allows you to detect when ReSharper is parsing your source code and, if necessary, disable ReSharper's preprocessor for some code.
- Quick Documentation and Parameter Information pop-ups can display documentation from documentation comments optimized for Doxygen.
- C++14 language features: variable templates and
ReSharper/ReSharper C++ 2016.1
- Invert Boolean refactoring that helps you quickly modify boolean members so that they get the opposite meaning.
- Smart Paste that helps you automatically escape illegal characters in text that you copy/paste around your code.
- Two new code style features for: braces around single-line statements and using named/positional arguments.
- A dedicated command that reformats code in the selected scope - Ctrl+Alt+L ( ). Previously, you could do the same by invoking code cleanup with the 'Default: Reformat code' profile.
- A dedicated command that applies code style in the selected scope - Ctrl+Alt+S ( ). Previously, you could do the same by invoking code cleanup with a custom profile that enables code style tasks.
- Optimize References and Remove Unused References features can correctly handle NuGet references.
- Ability to change preference of displaying parameter information tooltip above or below the caret.
- Ability to attach the debugger to an executing run configuration.
- Ability to view intermediate language (IL) side by side with your source or decompiled C# code.
- Out-of-the-box unit testing assistance for xUnit.net.
- Pasting items from clipboard history can be now done without opening a modal dialog.
- Support for new language features in VB 14
- Initial support for JSON files and schemas
- Initial support for Node.js.
- New formatting settings that allow you to define line breaks and wrapping in a more granular way.
- New TypeScript specific features:
- Full support for TypeScript 1.7 features.
- Full support for TypeScript 1.8 including string literal types.
- Resolving types behind
- Rename refactoring can now rename files corresponding to TypeScript types.
- New features for ReSharper C++ 2016.1:
- Support for To-do items in C++ files.
- The Rename refactoring can now rename C++ files.
- The list of supported C++ language features is extended with generalized lambda captures (C++ 14), exception specifications, user defined literals and delegating constructors.
- Support for the Boost.Test framework in the unit test runner. Please note that (as of ReSharper Ultimate 2016.1.1) only Boost versions 1.59 and 1.60 are supported.
- Code generation improvements: The Generate stream operations action can now generate stubs for Boost Serialization functions:
serialize(). Also, formatting options are now taken into account when generating code.
- All ReSharper C++ actions are now banned from changing library headers.
ReSharper/ReSharper C++ 10.0
- Postfix Templates and other new items in completion lists will help you transform expressions you have already typed without jumping backwards.
- Ability to build your solution incrementally using multiple parallel processes with ReSharper Build.
- Ability to change code style preferences right from the editor.
- Code styles for optional parentheses to help you get rid of redundant parentheses and/or automatically add parentheses to clarify operation precedence.
- Usage-aware behavior of the Go to Declaration command (Ctrl+B or Ctrl-click).
- Updated Stack Trace Explorer window shows types as clickable hyperlinks, allows wrapping long lines, and parses more types of data, including WinDbg GCRoot dumps and Visual Studio’s Call Stack tool window contents.
- Support for Google Protocol Buffers (Protobuf).
- Full support for TypeScript 1.6, including intersection types, union types, and TSX files.
- Support for NUnit 3.0 Beta 4.
- New features for ReSharper C++ 10.0
- Full support of C99 Standard Library, including code inspection, quick-fixes, and more.
- C++ support improvements including
char32_tbuiltin types, compile-time expressions of floating point types.
- Generate Google Mock methods action.
- Reduced time to get ready to work (for already cached solutions).
ReSharper 9.2/ReSharper C++ 1.1
- Full support of Visual Studio 2015.
- Run configurations that help you run and debug code in your solution with different startup properties.
- Support for Typescript 1.5 (including decorators, ES6-compatible modules, ES6-style imports/exports, local types)
- Support for some of TypeScript 1.6 features (e.g. generators, type predicates, generic type aliases, abstract classes, async function-like entities, await expressions)
- Go to Type of Symbol in TypeScript
- Import Symbol Completion (Ctrl+Alt+Space) for TypeScript.
- File Templates for TypeScript.
- New features for ReSharper C++ 1.1
- Improvements in Visual Studio 2015 CTP support
- .NET framework 4.6 support
- TypeScript 1.4 support
- ECMAScript 6 support
- Improvements in the Find Usages feature, including support of 'quasi-implementation' feature of C# and selection of the search algorithm for generic substitutions .
- Source Templates that can be created right in the code of your project as extension methods.
- NuGet Browser that halps you search for types or namespaces in the NuGet package gallery and easily download and install the package that you choose.
- Configurable style for usages of built-in type.
- Installer improvements: silent and per-machine installation modes.
- Ability to match dependency properties amd arrange items in groups as well as other improvements in File and Type Layout.
- New commands for copying symbol information n (XML-doc ID and fully-qualified name) to the clipboard
- Visual Studio 2015 CTP support
- C# 6.0 support, including conditional access expression, expression-bodied members, auto-properties with initializer expression, etc.
- Support of C++ in the dedicated product ReSharper C++, which is also available as a part of ReSharper Ultimate.
- Regular expressions assistance including syntax and error highlighting, completion features, quick-fixes and more.
- Type dependency diagram - a new visual code analysis tool that complements the existing project dependency diagram.
- Major improvements in TypeScript support, including, but not limited to:
- Configurable TypeScript language level up to 1.3.
- New code inspections including inspections for about 300 compiler errors and inspections dependent on project properties + about 100 new quick-fixes. For more information, see Code Inspection and Quick-Fixes in TypeScript.
- Import missing namespace pop-up.
- Code generation actions (Generate missing/overriding members, Generate constructor).
- Performance improvements and new features in code completion. You can now apply filters to completion suggestions, complete call chains based on existing patterns in your solution, and more.
- Code style assistance improvements: a number of new code style preferences that have common configurations for both code inspection and code cleanup. For more information, see Code Style and Cleanup.
- Entering license information using the JetBrains Account.
- Ability to suppress some or all code inspections in specific type or method using the
- The Fix in Scope feature is supported for more quick-fixes. Now the global fixes work for naming rules, code redundancies, and more.
- Similarly to 'Fix in scope', some context actions can be now also applied in a wider scope.
- The Navigate to Action feature that allows you to find and execute any ReSharper command with a couple of keystrokes.
- The Navigate To Exposing APIs action that allows finding all methods returning a specific type.
- Recently viewed methods and performance improvements in Go to Everything.
- A new visual editor greatly simplifies understanding and editing of file and type layout patterns.
- Search through preferences in the Options dialog.
- Ability to toggle support of languages and feature sets on the page of ReSharper options.
- Support for Visual Studio 2013 Preview
- Extended code completion capabilities:
- More navigation options:
- Easy plug-in discovery and installation via Extension Manager
- New refactorings:
- A call diagram (Push/Pull parameter tool) for adding new argument to method calls in the Change Signature refactoring.
- Assembly Explorer
- A new possibility to explore dependencies between projects via Architecture View
- Multi-file templates
- Quick-fixes for larger scopes
- Improvements in XAML support
- The Extract Class refactoring is now available for VB.NET
- Support for named arguments in the Change Signature refactoring
- Completion for enum members in VB.NET
- A different treatment of Preview Tab
- Improvements in XAML support
- Quick unit test search in the Unit Test Sessions window and Unit Test Explorer window.
- Support for Caller Info attributes
- Code formatting for XML doc comments
- Flexible formatting settings for alignment with tabs
- Sharing options for code inspection results
- Support for Visual Studio 2012
- Custom contract annotation attribute
- More options to control code completion behavior
- Unit Testing improvements
- Support for NUnit 2.6 and MSTest 11
- Support for Jasmine and PhantomJS
- Naming style improvements
- Member hierarchy
- CSS style hierarchy
- New code inspections and quick-fixes.
- Quick-fix groups
- Transform Out Parameters refactoring
- New code generation features: Generate partial methods and Generate equality comparer.
- Removing unused references from entire solution
- Async CTP Support for C# and VB.NET
- Optimizing references and removing unused ones
- Safe delete assembly references
- Path mapping for Web projects
- Improved Type Hierarchy
- Settings sharing and management
- New interface of the Templates Explorer window and improved templates sharing
- Localization assistance for VB.NET and ASP.NET MVC 3 (Razor)
- Improvements for web developers
- Code analysis in VB.NET
- Bundled decompiler
- Extended navigation and search
- Color Assistance
- Improvements and bug fixes in XAML support
- Finding similar issues
- Inplace refactorings
- An extensive feature pack for web development:
- Master page support in navigation and generation actions.
- Generating Content tags based on
ContentPlaceHoldertags in master pages.
- File Structure and Go to File Member in ASP.NET markup files.
- Go to Related Files
- Navigation, search and auto-import features for user controls
- Live, surround, and file templates for ASP.NET pages, including master pages
- ASP.NET MVC support pack including:
- Special syntax highlighting, including highlighting for unknown items.
- Dedicated code completion.
- Navigation to and from actions or controllers.
- Creating new actions and controllers from usage in pages.
- Project maintenance and teamwork feature pack:
- Support for Visual Studio 2010, including C# 4 and VB10.
- Code analysis enhancements:
- Other enhancements:
- Automatic completion for enum members.
- Completion for unresolved symbols in local scope.
- Code bookmarks.
- Native NUnit support.
- XML formatting.
- Major performance and memory usage enhancements.
- Support for VB9.
- Extended naming style settings.
- Solution-wide code inspections to discover unused non-private members.
- Go to Implementation to navigate from usage of a base type or member to any of its end implementations.
- Inline Field refactoring
- Native MSTest support.
- Support for Microsoft Visual Studio 2008 SP1.
- ASP.NET enhancements.
- Improved performance and usability.
- Bug fixes.
- Comprehensive support for Visual Studio 2008 and C# 3.0, including LINQ, implicitly typed locals and arrays, extension methods, automatic properties, lambda expressions, object & collection initializers, anonymous types, expression trees, and partial methods.
- Errors, warnings and suggestions are complemented by hints, which are by far the most non-intrusive way to recommend coding improvements.
- .NET Framework classes were annotated with custom attributes to make ReSharper analyze your code even better than before - for instance, to let it know where format strings should be passed or where null values can or can not be assigned. You can also use these custom attributes to annotate your own source code, as well as library symbols that you don't have source code for.
- Code Cleanup - a powerful successor to Reformat Code. By simply running Code Cleanup, you can instantly apply a dozen of actions, including arranging 'this' qualifiers, removing code redundancies, migrating to auto-properties, optimizing using directives, and many more.
- All ReSharper refactorings now support C# 3.0. New members of the refactoring family are available, including Convert Method to Indexer refactoring, Convert Indexer to Method refactoring, Convert Static to Extension Method refactoring, Convert Extension Method to Plain Static refactoring, Convert Property to Auto-Property refactoring, Convert Anonymous to Named Type refactoring, and Inline Method refactoring. All refactorings that are not C# 3.0-specific are now available for Visual Basic 8.
- Complete Statement - a new feature that inserts necessary syntax elements (braces, semicolons etc.) and gets you to the position to start the next statement.
- CamelHumps in Code Completion. All three completion features - Basic Completion, Smart Completion, and Import Symbol Completion - let you complete any symbol by entering only its uppercase characters.
- Templates Explorer and Template Editor - a redesigned set of tools to view, manage, and edit the three types of templates that ReSharper provides. From now on, you can manage and classify your templates in a special-purpose window, and edit them right in a Visual Studio code pane.
- Recent Edits - a drop-down list similar to existing Go To features that shows files and symbols that you recently modified.
- Go to Type / Symbol / File features allow you to display destination types/symbols/files in the Find Results window.
- To-do items are now discoverable in identifiers and strings.
- File Structure,Go to File Member, and Go to Next/Previous Member all support XML and XAML.
- Vast improvements in Quick Documentation, including hyperlinks to related items, back/forward navigation, "read more" links and navigating to source.
- Smoother interaction with Visual Studio ecosystem. The quality of interaction with frameworks, add-ins, version control clients and other members of the Visual Studio ecosystem (.NET Compact Framework, BizTalk, and Silverlight included) is brought to a new level.
- ASP.NET Speedup. ReSharper 4.0 significantly speeds up analysis and, consequently, editing of ASP.NET pages, to enable more web developers benefit from the great toolset that ReSharper provides.
- Comprehensive support for VB.NET: versatile code assistance, code completion, many important code refactorings, code generation, live templates, and more.
- Full-fledged C# code analysis with code suggestions that go beyond just bringing your attention to errors and propose optimized code usage.
- Cross-language functionality: for mixed C# and VB.NET projects, ReSharper helps you keep all parts of code working together smoothly and navigate around your code with ease.
- Three editions of ReSharper (C#, VB.NET and Full) for different target audiences.
- To-do list: create to-do items by certain patterns and navigate between them.
- Type members preview: you can now preview existing members of a selected type, either all or polymorphic only.
- Auto member reordering: define the order of members in the Options dialog.
- Ability to find code dependent on specific module and find usages of symbols external to scope.
- Go To Symbol for robust solution-wide search by name for any file member.
- Disabling warnings at a specific position: configure the "Disable warning" context action and apply it where necessary.
- Unit Test Explorer window: unparalleled flexibility in running and debugging unit tests.
- XML and XAML support.
Last modified: 14 December 2017