Dotnet logo

The .NET Tools Blog

Essential productivity kit for .NET developers

.NET Tools Early Access Program

ReSharper Tools 2021.1 Starts Early Access Program

Hello everyone,

Let the 2021.1 EAP begin! We’ve just published ReSharper 2021.1 EAP1, let’s see what’s inside.

ReSharper

Code Analysis

  • There’s a new inspection that checks whether an auto-property can be replaced with a computed property, along with a quick-fix to make the replacement.

  • ReSharper now suggests using the range operator instead of Slice and Substring when doing so simplifies your code.

Navigation

You now have a new navigation action – Navigate to Windows Explorer. You’ll find it in Navigate | Navigate to menu or by pressing Ctrl+Shift+A and typing its name.

This can be useful if you are doing something with the file itself, like copying it or copying the path inside the repository, or if you prefer to view the file’s VCS history using Git extensions for Windows Explorer.

Formatting

As usual, there are some new formatting options and improvements.

  • We continue to add support for C# 9 features, and this time we’ve added settings for a space before and within target-typed new() parentheses.
  • We’ve added settings to wrap before the assignment operator and to outdent label statements, and we’ve fixed an issue affecting indentation in multiline interpolated string inserts.

Unit Testing

  • We’ve implemented performance improvements for JavaScript and TypeScript unit testing.
  • We’ve upgraded our support for QUnit to version 2.14.0.

Other Updates

  • One more useful action we’ve added is for copying GitHub links via the ‘Copy FQN’ feature. When you invoke Copy Fully-qualified name with ReSharper | Edit or Ctrl+Shift+A, ReSharper not only does the copying, it also opens a context menu where you can choose from a variety of formats. This menu now includes GitHub links.

  • If you frequently use RegEx, C# in Razor, or other injected languages, you’ll probably appreciate the extend / shrink selection feature, which now works in injects as well.
  • In our perpetual quest for performance, we’re working on a set of metrics that should help us analyze performance lags and gather statistics. Stay tuned, as we’ll publish the full details when they’re ready to ship.

EAP1 also includes a bunch of notable bug fixes:

  • We’ve got warnings from Windows Defender under control (RSRP-481078).
  • We’ve sped up typing in Razor files inside large solutions (RSRP-481771).
  • We’ve also sped up typing in any large files where ReSharper’s analyzers are working.

ReSharper C++

We’ve introduced support for several new C++ features from the latest standards: class types in non-type template parameters, C++20 class template argument deduction rules, and noexcept as a part of the function type. There is also a new inspection that detects template arguments that can be deduced by the language, with a quick-fix to remove redundant arguments.

We’ve also added coroutine-specific postfix templates and improved the configurability of aggregate initialization hints.

Please refer to this ReSharper C++ blog post for a detailed account of all the changes.

dotPeek

When working with several tabs at once, you can now pin them. Additionally, the color of a tab now indicates the type of code you will see – green represents a metadata view and brown stands for sources from symbol files. The options to pin tabs and to color code them can be disabled in Tools | Options | Environment | Tabs.

We’ve updated the formatter for decompiled code with a set of options to control how the code is presented. You can find them in Tools | Options | Decompiler | Code style and formatting.

That’s it for the first EAP build. We’re eager to hear how it works for you. Try it out and let us know what you think in the comments below, in our issue tracker, or on social media!

Discover more