What’s new in ReSharper Ultimate 2019.2

ReSharper Ultimate 2019.2 delivers better support for C# 8.0 and a few updates in Navigation, Find Usages, and the debugger data tips. It also improves startup times and offers initial support for the “Per-Monitor DPI Awareness” mode in VS 2019. Indexing for C++ projects is faster, and more C++ 20 features are supported.

Download

Free 30-day trial

Enhanced C# support

Enhanced C# support

Take full advantage of C# 8 with ReSharper’s enhanced support:

  • Supports the latest changes in indices and ranges such as indexable and rangeable types.
  • The context action Add range check now supports indexing by System.Index/System.Range and produces correct checks.
  • Supports unmanaged generic structs.
  • Two new inspections, ‘Convert switch statement to switch expression’ and ‘Convert chain of ternary expressions to switch expression’, with a corresponding ‘Convert to switch expression’ quick-fix.

You asked and we delivered: the context action Convert concatenation to interpolation can now be applied in scope.

Faster startup times

Borrowing from Rider, we’ve started using the MSBuild-based project model instead of the Visual Studio COM API. This will help optimize solution loading times as we’ve minimized the use of COM API, which locks the UI thread.

In addition, we’ve updated the Performance Guide page. It has a new Windows Defender section and descriptions for all performance tips, which describe what exactly will be done after a suggestion is applied.

Navigations and Find Usages

Navigations and Find Usages

In this release, Find Usages starts using the data from Solution Wide Error Analysis to gather the results. If you enable SWEA for your solution, Find Usage will show you results significantly faster.

We’ve added a couple of small improvements to Navigation and hope you will find them useful: 

  • You can search in a file right through the “Go to File Member” dialog. The list of results will have the names of all matching members and all the places where the search string appears in the file.
  • In the Go To Text results window, you can now filter out the comment lines if you are not interested in looking for occurrences in comment strings.
Debugger Data Tips

Debugger Data Tips

ReSharper 2019.2 brings several updates to the debugger data tips:

  • We’ve added a couple of new toggles: implicit function evaluation and auto evaluate property.
  • They respect the setting “Enable property evaluation and other implicit function calls” and can evaluate property values on demand.
Code style & code formatter

Code style & code formatter

To improve C# 8.0 support, we added new formatting options for switch expressions. Support for .editorconfig, StyleCop.Settings, and .clang-format now performs better and is switched on by default for highlighting and Solution Wide Error Analysis. You can also edit EditorConfig properties right inside the Options page.

Support for “Per-Monitor DPI Awareness” mode

Support for “Per-Monitor DPI Awareness” mode

ReSharper Ultimate 2019.2 offers better support for the “Per-Monitor DPI Awareness” mode introduced in Visual Studio 2019. We know some ReSharper users previously opted to disable Optimize rendering for screens with different pixel densities (via Tools | Options | Environment | General) because of the rendering issue we had with the ReSharper tool windows. Please enable it again and check out how it looks. Note there might still be places where you can experience some glitches.

Other features

Other features

  • Parameter name hints have performance improvements and new heuristics.
  • A new tooltip with the keyword description is available in the IL Viewer.
  • The Advanced symbols options dialog under ReSharper | Options | Tools | External Sources now supports relative paths.
  • The Assembly Explorer tool window now has a ‘Summary’ property on the “Properties” tab and an unmanaged (win32) resources subtree.
Unreal Engine support

Unreal Engine support

In the previous release, we began to work towards better support for UE4-specific Remote Procedure Calls. Now, we've updated the Rename and Change Signature refactorings to work correctly on RPC functions. A few new code analysis checks are also available for UE4-based code, especially targeting the missing or incorrectly set UE4 reflection macros.

Following on from adding code completion for reflection specifiers in v2019.1, we've now added built-in documentation for them. It is shown in the Quick Documentation popup (Ctrl+Q) when the caret is located on a specifier.

Faster indexing for C++ projects

Faster indexing for C++ projects

The new preprocessor implementation used inside ReSharper C++ has sped up the indexing on typical solutions, like LLVM and Unreal Engine, by 15-25%.

See What's new in ReSharper C++.

dotMemory console profiler improvements dotUltimate

dotMemory 2019.2 stops supporting remote profiling. To offer you an adequate replacement, we significantly improved the dotMemory console profiler:

  • The console profiler gets commands to profile all types of applications including .NET Core applications, IIS Express-hosted applications, Windows services, and others.
  • The --trigger-on-activation argument allows taking a memory snapshot right after this becomes possible. This feature can be helpful in case you want to take a baseline snapshot and use it for comparison.
Download

Free 30-day trial