ReSharper 2023.2 Roadmap
The upcoming Early Access Program (EAP) for ReSharper version 2023.2 is fast approaching, and we want to share the development roadmap we’ve set for the next release.
Before we get into it, this roadmap is tentative and subject to change based on our priorities, available resources, and developments in the .NET sphere. Some features may need to be postponed for a future release.
With that in mind, let’s take a look at what’s ahead!
Language support and improvements
ReSharper 2023.1 came with a set of inspections to optimize your work with various types of collections, as well as an inspection to extract common elements from several property patterns. With our next release, we’re looking at supporting the C# 12 feature preview.
As part of this plan, we’re currently working on introducing initial support for lambda default parameters and primary constructors. ReSharper already has feature-rich support for primary constructors for record declarations, and now that C# 12 allows it, this support will be extended for ordinary classes and structs.
C# 12 will also allow for using aliases for any type, enabling developers to introduce named aliases for tuple and pointer types. This can be helpful in situations where the original type name is long or complex. ReSharper 2023.2 is set to support this syntax.
Apart from that, one of our goals for the next release is to implement tuple component name hints – the inlay hints for tuple component names.
While some of our colleagues continue to work tirelessly on asynchronous typing, others are chipping away at performance issues such as a freeze at the opening stage of a solution.
One of our goals for the 2023.2 release is to load ReSharper components into Visual Studio asynchronously. Doing so will significantly reduce the number of UI freezes at the start of Visual Studio, speeding up its loading process, and hopefully avoiding the dreaded yellow bar.
One of the most exciting developments we’ve been working on for the last couple of releases is the predictive debugger. During regular debugging, once a breakpoint is hit, it’s only possible to observe the program’s current state. The problem is that executing a program causes side effects and changes its state, which may require debugging for all additional scenarios.
A predictive debugger is able to foresee all possible states triggered by executing a program without having to actually execute it, making it possible to:
- Show the expected values of the variables.
- Visually “mute” parts of the program that will not be executed.
- Warn you that further execution will end with an exception.
Introducing the predictive debugger to ReSharper will unlock a new level of insight into your program’s execution. It will enable you to experiment with different values and troubleshoot the code without the need to restart the debugging process for each change.
“Create Unit Test” action
For ReSharper 2023.2, we’re working on giving you the ability to create unit tests automatically. With the Create Unit Test context action, you will be able to easily generate unit tests for a method or class in your project. You can select the method or class you want to test and specify the type of test framework you want to use, such as MSTest, NUnit, or xUnit. ReSharper will then generate the necessary boilerplate for a test method or a class and add it to your project or create a separate test project if needed.
Massive improvements for ReSharper’s support for StyleCop.Analyzers are underway for version 2023.2. Currently, the experience of working with popular code analyzers like StyleCop in ReSharper is far from straightforward and requires a lot of manual fine-tuning. Our goal for the next release is to optimize the experience and make it more reliable.
First and foremost, the newest version of ReSharper will be able to automatically detect the proper StyleCop configuration format. Secondly, we’re going to add proper support for reading StyleCop rules from the
EditorConfig file. And lastly, we’re aiming to support StyleCop ordering rules.
To deliver on the plans laid out in our 2023.1 roadmap, the team is working hard on improving support for web development. In particular, we’re working on improving code analysis in Blazor projects and ReSharper’s handling of Tag Helpers in Razor.
The start of ReSharper version 2023.2’s Early Access Program (EAP) is just around the corner. Using the EAP builds is a great opportunity to get early access to the features in this post and other enhancements. Sharing your feedback on the EAP builds will also help us make ReSharper 2023.2 even better, so make sure to leave your comments, tweet at us, or report issues to our issue tracker.
We’re looking forward to hearing from you!
Subscribe to Blog updates
Thanks, we've got you!
A Second Set of Bug Fixes: ReSharper 2023.2.2 and Rider 2023.2.2 Are Here!
ReSharper and Rider have just received their second set of bug-fix updates for the 2023.2 release! Let’s take a look at the most important issues that have been resolved in this update. ReSharper For the full list of resolved issues, please refer to our issue tracker. …
ReSharper 2023.3 Early Access Program Begins!
Hello everyone, The Early Access Program for ReSharper 2023.3 has started! Before you download the first EAP build, let’s take a look at what is in store for you. Working with aliases With this first EAP build, we are introducing support for C# 12’s ability for alias directives to refer…
Rider Kicks Off the Early Access Program for the 2023.3 Release!
The Early Access Program for Rider 2023.3 has just begun with the release of the Rider 2023.3 EAP 1 build. There are several ways to get your hands on it: Download and install them from our website. Use the Toolbox App. Install this snap package from the SnapCraft store if you’re using a c…
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…