Dotnet logo

The .NET Tools Blog

Essential productivity kit for .NET developers

.NET Tools Releases

ReSharper 2021.1 Beta is available!

Hello, everyone!

The 2021.1 release is almost upon us, which means it’s high time to publish the ReSharper 2021.1 Beta build! This is your chance to get a look at all the features that we are going to deliver in the 2021.1 release.

Here’s a brief summary of the new features!

C# support

  • The Merge into pattern inspection can now be used with many more code patterns.
  • We’ve added more support for C# 9.0 records.
  • We’ve introduced a new inspection, Inline temporary variable.
  • For C# 10.0 support, we’ve taken the first steps and taught Rider to work with the "Constant interpolation strings" feature.

ASP.NET Core route templates

  • In 2021.1 we’re introducing support for route templates: ReSharper now provides code completion, structural navigation, inspections, and quick-fixes for them. You can learn more about this support in this blog post.

Refactorings

  • You can call the Rename refactoring for named tuples.

Navigation

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

Performance

While we’re still dismantling and reassembling ReSharper for ‘out of process’ mode, we’re continuing to fix performance issues wherever possible. Here are some highlights:

  • We’ve made typing in Razor files inside large solutions faster.
  • We’ve sped up typing in any large files where ReSharper’s analyzers are working.
  • We’ve improved the performance and responsiveness of debugger data tips.
  • We’ve optimized how ReSharper deals with shared documents so it now consumes less memory.
  • We’ve implemented performance improvements for JavaScript and TypeScript unit testing.

Code styles

  • We’ve added a couple of new formatting settings.
  • We’ve added a new Reindent only action for Format Selection.
  • We’ve improved how Rider reads settings for naming rules from EditorConfig and how it writes user-defined naming rules to EditorConfig.
  • We’ve added support for the csharp_indent_case_contents_when_block option in EditorConfig.

Unit testing

  • We’ve implemented support for VSTest adapters – a feature that allows you to discover and run tests from a third-party framework.
  • We’ve implemented MSTest support in Universal Windows Platform projects for Visual Studio 2019.
  • We’ve implemented a set of inspections for the AutoFixture library in NUnit.
  • We’ve upgraded our support for QUnit to version 2.14.0.

Other updates

  • We’ve added an action for copying GitHub links with the ‘Copy FQN’ feature.
  • If you use regular expressions in strings in C#, Visual Basic, or JavaScript – even in Razor pages – you’ll probably appreciate the extend/shrink selection feature, which now works in injects as well.
  • We’ve added type conversion hints for tuple conversions.
  • A new “Body” constraint is available for methods in File Layout. It allows you to specify different rules for block-bodied and expression-bodied methods.

ReSharper C++

  • ReSharper C++ 2021.1 brings support for several new C++20 and C++17 language features: class types in non-type template parameters, C++20 class template argument deduction rules, and noexcept as a part of the function type.
  • We’ve introduced a collection of syntax style settings that you can use to enforce the chosen code style for syntax constructions.

dotTrace

  • We’ve completely reworked the Home screen in dotTrace. It’s now much easier to configure and start new profiling sessions, work with snapshots, and perform other basic operations.
  • You can install and use the dotTrace command-line profiler as a dotnet global tool.
  • When performing timeline profiling on Windows, dotTrace collects information about incoming HTTP requests.

dotMemory

  • We’ve completely reworked the dotMemory Home screen – it is now much easier to configure and start new profiling sessions, work with snapshots, and perform other basic operations.
  • You can now analyze dumps of .NET Core applications collected on Linux systems using gcore.
  • dotMemory now lets you analyze memory allocation on an arbitrary time interval.

dotCover

  • You can now configure coverage filters in Visual Studio with ReSharper in the same way as in JetBrains Rider.
  • You can install the dotCover console runner as a dotnet global tool.

dotPeek

  • When working with several tabs at once, you can now pin them. Additionally, the color of a tab indicates the type of code you will see – green represents a metadata view and brown stands for sources from symbol files.
  • We’ve updated the formatter for decompiled code with a set of options to control how the code is presented. You can now set indent style and size, select whether the open brace should be placed on a new line, and specify whether you’d prefer to use expression-bodied members.

That’s all for now. Don’t forget to leave your feedback in the comment section below or submit any issues you find to YouTrack.

Download ReSharper 2021.1 Beta

Discover more