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.
In the list below, I highlight several new features and improvements of the ReSharper 2019.3 EAP:
- Improved C# 8 support including
notnullconstraint, the target-typed
switchexpressions, early support for
default interface methods, a new hint "Local function can be static", and a new quick-fix "Add missing arms".
- New Type Name Hints are available for lambda’s parameters, all
varoccurrences 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
- 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.
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.
- 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)
- 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 (
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).
- The new postfix template for
UCLASSesexpands to a proper factory function call.
UENUMCLASSlive templates are available.
- We fixed the Visual Studio hang after executing the "Refresh Visual Studio Project" action in the Unreal Engine 4 editor.
- UE smart pointers (
- 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.
dotMemory 2019.3 EAP shows the virtual memory addresses for object instances.
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.