ReSharper 2021.3 Roadmap
In this post, we’d like to share our plans for ReSharper 2021.3 and find out what we can do next to improve your development experience. Your feedback is always welcome!
The following is a list of our priorities for the 2021.3 release cycle. Note that these are features we’re working on – as opposed to features scheduled for delivery – and that some of these might be delayed until a later version.
- Visual Studio 2022 – We are excited to start preparing ReSharper for the upcoming major release of Visual Studio! We already have an early build of ReSharper for the preview edition and would love your feedback on it!
- C# 10 Support – Everyone is excited for the future of the C# language! The next version, brings many great features that will help developers to produce more concise, performant, and readable code. We will update our code analysis, navigation, and refactorings to support these new features, including constant interpolated strings, record structs, list patterns, file-scoped namespaces, global using directives, and many more.
- Grammar Checking – For quite a while now, ReSharper has come with integrated spell-checking to help you avoid spelling mistakes in identifiers and comments in the language of your choice. Our plan is to bring this feature to another level by also checking for grammar mistakes to further raise the quality of your codebase.
- Blazor – We’re working on making our Blazor support ready for .NET 6. As usual, we will track your incoming requests and look forward to providing the integration you need.
- Predictive Debugger – We’ve first mentioned our plans about this in our 2020.3 roadmap. The predictive debugger can help you understand what code is going to be executed, without actually executing it. Good news! We are done with the engine powering the feature and are now investigating UI/UX options.
- LINQ Visualizer – Similar to how IntelliJ IDEA helps to analyze Java stream operations, we want to introduce a visualizer for LINQ calls, which helps to trace and understand what’s happening to your collections without introducing intermediate variables and adding breakpoints.
- Entity Framework – Also, our work on the N+1 inspections are in the final stage of implementation. We will notify you when an
Includecall is warranted to avoid the N+1 problem with repeated calls to the database. We are also working on prototypes for entity schema validation, including circular dependencies and invalid definitions, and an entity relationship diagram, which shows problems with the schema.
- CQRS Compliance – Over the years, event sourcing and domain-driven design have become very popular in the .NET space. Particularly for CQRS, we will start investigating several ways to ensure methodology compliance. As the first step, we will validate that a command does not directly call queries.
- Global config files – Starting with the .NET 5 SDK, you can define project-level analyzer settings in global files, which are either named
.globalconfigor have to be added to the
GlobalAnalyzerConfigFilesitem group. We are planning to read your configuration from these files and use them to fine-tune ReSharper’s inspections and refactorings.
- dotPeek – Our decompiler will receive updates to properly decompile assemblies that use async disposable, records, record structs, and native-sized integers.
- Command-Line Tools – Some time ago we had to abandon the
/xparameter to load third-party extensions in our command-line tools. This issue has been around for a while, but we are now coming very close to a fix! Plugins should now be able to load on Windows and we will work to support other platforms as well.
Please remember that this is only an excerpt of our plans and that, for various reasons, some parts might have to be postponed. We hope the roadmap has something interesting for you, too. Feel free to comment below, submit a new feature request in our issue tracker if we’ve missed something, or upvote any existing requests to let us know they are important to you. We’re looking forward to your feedback!