Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

Releases

ReSharper Ultimate 2019.3 Starts Early Access Program!

Hello everyone,

October seems like a good time to launch the Early Access Program for our third release of the year, so please welcome ReSharper Ultimate 2019.3 EAP.

RU2019.3EAP-blog@2x

In the list below, I highlight several new features and improvements of the ReSharper 2019.3 EAP:

  • Improved C# 8 support including notnull constraint, the target-typed switch expressions, early support for default interface methods, a new hint "Local function can be static", and a new quick-fix "Add missing arms".

cs8@2x

  • New Type Name Hints are available for lambda’s parameters, all var occurrences including pattern matching and tuples deconstruction, range variables inside LINQ statements, and at the end of a line in a method call chain.
  • Xamarin support has a couple of important fixes such as x:DataType and Class attribute support.
  • Find dependent code now works for NuGet references and can be run for a whole solution. Also, the Find results window for Find dependent code has new filters.

find-dependent-code@2x

To see what other fixes we’ve added in the first EAP build, please see this.

For ReSharper C++, here’s what this 2019.3 EAP provides:

  • Initial support for C++20 concepts.

concepts

  • Clang-tidy integration
    • The bundled clang-tidy binary was updated to version 9 with a number of new checks. Additionally, it should no longer prevent modifications to source files.
    • Clang warnings can now be disabled from the inspection menu.
    • Added a setting to use a specific clang-tidy configuration file (instead of a setting which specified the configuration as a string)

clang-warning-disable

  • You can export your formatting options to a .clang-format file.
  • Thanks to some improvements in the code highlighting engine, re-highlighting now happens faster (after a function’s body is changed, only the body itself will be reanalyzed).
  • New quick-fixes are available to help you add a variable to the lambda capture list.
  • Unreal Engine 4 support has been improved:
    • UE smart pointers (TSharedPtr, TSharedRef, TWeakPtr, TUniquePtr) are supported similarly to std::shared_ptr/unique_ptr (e.g. they are supported by the Parameter Info, code analysis, and postfix code completion).

    makeshared

    • The new postfix template for UCLASSes expands to a proper factory function call.
    • New USTRUCT/UCLASS/UENUM/UENUMCLASS live templates are available.
    • We fixed the Visual Studio hang after executing the "Refresh Visual Studio Project" action in the Unreal Engine 4 editor.
  • Several live templates were renamed to match the corresponding keywords (e.g. “cls” to “class”, “str” to “struct”, etc.).
  • A couple of updates to the "Go to file member" dialog:
    • The dialog is now displayed instantly instead of waiting for a file to be fully analyzed.
    • If a file contains both the declaration and the definition of a function, the function is shown only once in the dialog.
  • It’s now possible to navigate to the aggregate class from the opening brace of a brace-enclosed initializer list.

navigate-aggregate

dotMemory 2019.3 EAP shows the virtual memory addresses for object instances.

The EAP for dotTrace command-line tools 2019.3 now supports profiling Mono and .NET Core applications on Linux and macOS.

dotPeek 2019.3 EAP can now navigate to the external sources of NuGet packages that have a source symbols package, such as JSON, Moq, or JetBrains.Lifetimes.

Download ReSharper EAP

image description

Discover more