We at JetBrains have just finalized an update to the ReSharper Ultimate family, and we welcome you to download ReSharper Ultimate 2016.2 RTM!
Major highlights of ReSharper 2016.2 are the following:
- Support for ASP.NET Core 1.0 and .NET Core 1.0 projects, which means that ReSharper now correctly resolves project references and provides its core set of features (code inspections, code completion, navigation, search and refactorings) in projects of this type.
- Structural navigation, a new feature informally referred to as "Make Tab Great Again". You can now use Tab
and Shift+Tab
keys to quickly move the text selection to the next or previous code element without having to use the cursor keys, letting you quickly navigate to the next important piece of code you need to edit.
- Go to Text navigation (Ctrl+T,T,T) lets you quickly find and navigate to any text in source and textual files. This new feature uses trigram indexing to make text search blazingly fast.
- Warnings in solution-wide analysis help you constantly keep track of all warnings in your solution: both actual compiler warnings and ReSharper’s inspections with the Warning severity level.
- Marking references as used at runtime to exclude them from code cleanup performed by the Optimize References and Remove Unused References features.
- New C# typing assistant features, such as auto-replacing
MethodName(.) with MethodName()., and correcting mistyped @$ prefixes for verbatim string interpolations.
- Rearrange code improvements. For example, it is now available in interpolated string inserts, and in expressions with 3 and more operands; Greedy brace feature now works for opening brace, braces of types and namespace declarations.
- Reworked surround templates. If you need to surround a piece of code with a template, just select the code, and type in the name of a template you need: no extra shortcuts required. In other news, a single template can now be used for for creating code (as a live template) and for surrounding existing code (as a surround template).
- A new refactoring to move members to another part of a class. You can also use the refactoring over a region to move all region members into a new file with a name inferred from the region name.
- New quick-fixes and context actions that help simplify string interpolation inserts, revert the order of iteration in simple for loops, or fix awaiting of a void method. In other news, you can now check all parameters of a method for
null (or empty strings) with a single context action. You can even uncomment or even delete a comment via Alt+Enter.
- Assembly dependency diagram that visualizes how assemblies are interrelated via references.
- HTML analysis inside string literals in .cs, .js, and .ts files, which can be enabled with the context action or with a comment
/*language=html*/ ahead of a string literal. You can now use the Mark HTML here action to enjoy syntax highlighting, error detection and other HTML goodies right inside the string literal.
- Regular expression assistance in string literals can now also be enabled with a comment
/*language=regexp|jsregexp*/ before the string literal.
- JSON value helpers allow you to tell ReSharper to provide code completion or validation for your own JSON files. You can add a helper in the JSON Value Helpers options page, matching based on a filename mask and/or schema match. Custom JSON schema catalogs can also be added in JSON options.
- Support for the tag in XML documentation comments.
- C# formatter improvements: new options for indenting of parentheses and code inside them.
- Improved IL Viewer: types, members, type parameters, local variables, etc. are highlighted with distinct colors; loops in your code can be distinguished by indents and comments.
- String interpolation suggestions, quick-fixes and context actions are now available for VB.NET. Context actions to convert a string literal to an interpolated string, or insert an interpolated argument are here as well.
- Improved CSS support: ReSharper’s code inspections, code completion, navigation, search and refactorings are now also available for CSS variables. In addition, several fixes for better spec handling are introduced.
- Extended TypeScript/JavaScript support including:
- Generating code with code completion in TypeScript.
- Improved Find Usages and Rename for union and intersection types.
- Full support of TypeScript 2.0.0 features, including
this for functions, control flow aware type guards, path mappings, optional class members, the never type.
- Go to Declaration and Find Usages work correctly when dealing with type aliases.
- The Process Explorer window, which was previously only available in dotPeek, provides you with the list of currently running processes, allows exploring their modules and decompiling those of them that are .NET assemblies.
ReSharper C++ 2016.2 comes with the following set of improvements:
- Inline Variable refactoring is now available in ReSharper C++.
- Quick Documentation pop-up appears in ReSharper C++ 2016.2. It can display documentation from Doxygen comment blocks, and even if there is no Doxygen documentation for a symbol, it will display the symbol signature.
- New code inspections and quick-fixes: There is a new code inspection that warns you about missing include guards in your header files. As a quick-fix, it lets you automatically add
#pragma once directive. Another new inspection detects a missing default case in a switch statement with a corresponding fix to add it.
- Warnings about usages of classes and functions marked with the
[[deprecated]]/__declspec(deprecated) attribute.
- Improved C++14 support: variable templates and
decltype(auto).
- New code style preferences for
#include directives in generated code.
- Code style for default pointer initializer.
- Automatic completion in C++ can now suggest symbols that are not included in the current file. The corresponding
#include directives are added automatically.
- You can now generate documentation comments for C++ declarators, classes and macro definitions with a context action. The comment stub can be customized by editing the ‘doc’ live template that ReSharper uses for generation.
- When your caret is on one of the exit points of a function/loop/switch, ReSharper C++ will automatically highlight all other exit points.
- New formatter settings for single-line functions and lambdas, blank lines around single line function definitions, line breaks before member initializer list, and space between closing angle brackets in template arguments (for conformance with pre-C++11 compilers).
- The mock function generator now supports the Trompeloeil framework.
- Completion, usage search and rename of symbols in Doxygen comments.
__RESHARPER__ macro that allows you to detect when ReSharper is parsing your source code and, if necessary, disable ReSharper's preprocessor for some code.
- Performance improvements in indexing and code analysis.
Other tools within the ReSharper Ultimate family have received their shares of improvement as well:
- dotCover 2016.2 lets you exclude auto-properties from coverage analysis with Hide auto-properties option. It also adds a way to filter processes from console runner to reduce unnecessary overhead by excluding child processes that are irrelevant.
- dotPeek 2016.2 adds Assembly Dependency Diagram to the existing visual dependency analysis tools. In addition, the IL Viewer now displays code in a more readable manner.
- dotMemory 2016.2 allows you to compare memory snapshots stored in different workspaces: that is, collected in different profiling sessions. This can be useful to check how particular changes in code affect your application's memory usage.
- dotTrace 2016.2 Timeline Viewer adds an easy way to fold recursive call stacks to streamline call stack analysis.
Download the updated ReSharper Ultimate 2016.2 and give it a try!
*The ReSharper Ultimate Team
JetBrains
The Drive to Develop*