ReSharper 2020.3 Early Access Program Begins

Asia Rudenko

Hello everyone,

Please welcome ReSharper 2020.3 EAP1. It’s only the beginning of the release cycle, but we’ve already got something to show you!

ReSharper

With C# 9 on the way, we’re doing a lot to support the latest language standard.

  • For top-level statements, ReSharper not only provides some basics, like code completion and code analysis, but also offers a couple of handy quick-fixes and refactorings.
    When copy-pasting pieces of code, we often don’t care about placement. However, C# 9 requires top-level statements to precede any type or namespace declarations. Fortunately, ReSharper can help correct the placement with the Move top-level statements before types and namespaces quick-fix.



    Because top-level statements implicitly declare the entry-point of a program, only a single file in the project can contain top-level code. If this requirement is not met, ReSharper allows you to move top-level statements to another file.



    Finally, the Extract local variable and Extract method refactorings are available in the top-level context.


  • Native integer types, nint and nunit, are supported in our code analysis, completion, and code editor features.


  • C# 9.0 makes conditional expressions target-typed. With this change, the two expressions need not have an implicit conversion from one to the other, as long as they are both implicitly convertible to a target type. Notice how ReSharper doesn’t highlight the following code with error squiggles.


  • Finally, we’ve added support for the [DynamicallyAccessedMembersAttribute], so that ReSharper does not highlight any entities mentioned in the attribute as unused.

In addition to our efforts to keep up with the new language features, we have a couple of improvements in the feature set.

  • The results of Find Text now have a new section called Fuzzy. In addition to the traditional substring search that you are probably already familiar with, ReSharper now also performs a broader search that takes possible typos and missing words into account. It displays the results below the standard results, in the Fuzzy section. In addition to helping you deal with typos, this can also be useful if you want to find where a certain formatted string is built in your code.


  • Unit tests can be now launched in your preferred target framework directly from the editor. This saves time and clicks!


ReSharper C++

Here are some of the highlights of the first EAP build.

  • Live tracking for Unreal Engine properties: as soon as you save changes in .Build.cs, .Target.cs, .uproject, or .uplugin files, ReSharper C++ will regenerate the project model for the affected files.
  • For casting a reference to an rvalue reference in Unreal Engine project, completion and quick-fix now suggest you use MoveTemp.
  • Two new inspections with quick-fixes for working with C++20 ranges library.
  • Updates for Coding assistance and completion.
  • Faster operations on private class members.

For more details and other changes, please refer to this blog post.

We would appreciate your feedback very much. Please add your comments below or file an issue in our public bug tracker.

Download ReSharper EAP

Subscribe

Subscribe to .NET Tools updates