Rider 2020.2 Roadmap

Posted on by Matthias Koch

In this post, we’d like to share our plans for Rider 2020.2 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 next release cycle of 2020.2. Note that these are features we’re working on – as opposed to features scheduled for delivery – and that some of these might come in with later versions.

  • .NET Core backend on Windows – Rider 2020.1 already runs the ReSharper backend on .NET Core on macOS and Linux. On Windows, the backend still runs on the .NET Framework and uses NGen to gain startup improvements (around 10 seconds in some cases). We are now moving the backend to .NET Core on Windows as well, and we will work on using CrossGen to replace NGen. In a previous blog post, we’ve already covered what huge performance boost the migration to .NET Core offers.
  • Moving forward with our new Debugger API – The debugger API has been largely rewritten. While this is barely noticeable from the outside, it allows for more features to come, and also allows plugins to hook into the debugging process. This includes custom value representations and improved lazy value calculations (super lazy) with better interruption.
  • Pin-To-Frame – We’re going to extend the Pin-To-Top functionality to pin values across frames. When debugging recursive functions, this will allow us to watch the state of values in different iterations:
    Pin-To-Top for Debugger Frames
  • Data Breakpoints – Break execution whenever a certain property or field is changed without the need to create several different statement breakpoints. This will be accessible from the Watch tool window, and will even work with array elements. Due to current platform limitations, this will probably only be possible for .NET Core 3+ on Windows.
  • Redesigned Toolbar – Based on our UI/UX studies, we’re redesigning the top toolbar to make it cleaner and more accessible for common features, like navigation buttons, Search Everywhere, VCS integration, Run Configurations, and debug modes. This should also solve usability issues, especially for new users coming to Rider.
  • Colored Tooltips – Some of you may already know about the EnhancedTooltip plugin for ReSharper. We are working on implementing a similar visualization in Rider with highlighted identifiers, type names, modifiers, and other parts of the documentation.
  • Unreal Support – We’ll continue working on Rider for Unreal, including stabilization of our IPC with the Unreal Editor, improving the logger panel, features related to VC++ Debugger (Natvis, moving instruction pointers, symbol servers), and adding support for the Uproject project model and Blueprint Visual Scripting.
  • Unity Support – We’ll introduce pausepoints, a special kind of breakpoint that doesn’t suspend execution, but pauses the Unity editor allowing you to inspect the state of your game at a certain point – very useful when used with conditional or dependent breakpoints. We’ll also bring shader support recently introduced to ReSharper C++ and Rider for Unreal Engine to the Unity world. There are performance and memory improvements when indexing assets, and Rider has improved support for prefab modifications.
  • Better Blazor Support – Our goal is to achieve better integration with Razor components and source components relating to references, navigation, and code completion. This also includes refactorings, mainly the Rename refactoring. We’ll also work on being able to run Blazor WebAssembly (WASM) projects.
  • Integration with Cloud Services – We want to extend the Azure toolkit with the ability to apply database migrations for published databases, and to select deployment slots when publishing web apps and function apps. We’ll also look into improving minor UI elements.
  • F# Support – Hints will be introduced for inferred types, parameter names, and piped expressions. We’ll also work on more refactorings (especially Introduce Variable), quick-fixes, context actions, and continuing to improve the infrastructure for these and upcoming features. Changes also include faster project loading and invalidation.
  • TFS Server Workspaces – We’ll extend the Azure DevOps plugin to support server workspaces for compatibility with more TFS use cases.
  • Working with IIS/IIS Express – We’ll improve integration with ASP.NET Core projects running on IIS/IIS Express to enable in-process hosting, and to allow for better debugger attachment.
  • Diagrams – As a first candidate, we’ll work on porting the Architecture Diagram from ReSharper to Rider. As soon as this is completed, we’re going to do the same with the Type Dependency Diagram.
  • Localization Manager – In ReSharper 2019.3 we shipped our new Localization Manager for more convenient editing of resource files (.resx). We’re working on the Rider UI to make it available there as well.

There will probably be plenty of other, smaller features implemented along the way. If time allows, we’re planning to look at SQL projects, Specflow, and other technologies. And of course, we also have a number of bugfixes planned for the upcoming release.

What do you think about these plans? Feel free to comment below, or to 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!

Comments below can no longer be edited.

27 Responses to Rider 2020.2 Roadmap

  1. Mike-E says:

    May 29, 2020

    Please consider better multi-monitor support somewhere along the way. It’s the only thing keeping me and others from giving Rider a serious go!

    https://youtrack.jetbrains.com/issue/IDEA-81909

    • Matthias Koch says:

      June 1, 2020

      Hi Michael,

      we’re aware that this feature is essential for many developers and we keep investigating it. Unfortunately, it doesn’t seem so easy to implement and we can’t give any estimations on it. We appreciate your constant feedback though! 🙂

  2. Kat Martin says:

    May 29, 2020

    Is ef core supported yet

  3. Nicolas Martel says:

    May 29, 2020

    How will pausepoints work for Unity? Is it going to finish the rest of the frame, or will it actually pause the execution where the pausepoint is set without hanging the editor?

    • Matt Ellis says:

      June 1, 2020

      Yes, the editor switches into pause mode at the end of the frame. When code execution hits a pausepoint, the debugger tells the editor to enter pause mode and continues execution of your code. Unity continues running your game, and at the end of the frame, the editor effectively checks it’s “pause flag” and switches to pause mode.

  4. Stefan Olson says:

    May 29, 2020

    Only thing I’m missing is WPF Hot Reload. That would allow me to dump visual studio for virtually everything except editing EDMX files and publishing

  5. Etienne Maheu says:

    May 29, 2020

    I would love to see the hot spot feature from dotCover making an appearance. This is the tool I miss the most from my workflow back when I was still using Visual Studio. It doesn’t have to be a fancy UI like you did before. If I could just get a rating column that I can sort by in the code coverage list, that would definitely make my day.

  6. Payam says:

    May 30, 2020

    Wondering that if Rider can be used like LinqPad? That would be a great feature.

  7. Jerrie Pelser says:

    May 30, 2020

    I am very happy to hear about support for Diagrams being planned.

  8. Vitaly says:

    May 30, 2020

    Hi, thank you to the great product! Features described here are great.
    What’s about c# 9.0 features? Will you support it in the upcoming version?

    • Matthias Koch says:

      June 1, 2020

      There will be a separate roadmap post about ReSharper soon! 🙂

  9. Maciej says:

    May 30, 2020

    Make draggable windows into predifined dock positions. Move windows cross monitors and merge few windows into panes.

    When having few windows, when debugging, go to file open on another window /monitor if it is available, not open the file second time in the main window.

    Just play with VS with all the windows /panes options they provide.
    The possibilities for windows arrangement is infinite.

  10. Joe Capital says:

    May 30, 2020

    Would be great to get WSL support!

  11. Lee Roy Manea says:

    May 31, 2020

    I hope you will doing well on blazor support.
    I have to use VS couse of blazor and i would like to use Rider. Can you pls make Debugging also available for BlazorWasm in 2020.2

    • Matthias Koch says:

      June 1, 2020

      Hi Lee Roy, that’s for sure our goal in the long run, but we can’t give any estimates as of now. Let’s cross fingers! 🙂

  12. Dmitry says:

    June 1, 2020

    For now there is no WSL2 support: so in case you need to work on a project that is hosted entirely in Linux you should copy the whole repository to windows file system (which is very slow in case you open in from WSL2 terminal as /mnt/c… ). WSL2 is shown as network path, but when you try to open the solution in Rider – load fails.

  13. Raphael says:

    June 1, 2020

    What happened to list view on winform designer c#?

    • Matthias Koch says:

      June 1, 2020

      Hi Raphael, I’m not exactly sure what you mean. Could you clarify a bit?

  14. Marcel Bradea says:

    June 4, 2020

    Guys where is this on the roadmap?
    https://youtrack.jetbrains.com/issue/RIDER-32813
    https://youtrack.jetbrains.com/issue/RIDER-19973

    We’re stuck spinning up Visual Studio in Windows VMs because database migration on .NET Core 3.x is no longer supported on Rider – and Microsoft never ported over the command line (nor plans to).

    This is preventing us from using Rider exclusively. Thanks in advance.

  15. Urs Meili says:

    June 5, 2020

    When will we finally be able to attach to multiple processes at once, like it was possible in VS from the very first version? In Rider, if I want to attach to multiple processes, I have to repeatedly press Ctrl+Alt+P, then select the process. In the VS dialog, I can attach to all processes at once.

  16. Basil says:

    June 11, 2020

    Great news! Can’t wait for better shader support! Do you have any info on what features will be supported with shaders? I’m looking forward to things like correct/automatic indentation, syntax highlighting, smart autocomplete, renaming and other refactors.

  17. Ben Holtzman says:

    June 11, 2020

    I would find it helpful to have a feature like the CodeRush Mega Super Copy.

    https://www.youtube.com/watch?v=8CQCOZ3PRAA

    There are often times that I deal with lists where one or two items are changing and it would be helpful to have the IDE recognize what’s changing, select what’s likely to change in the copied block, and in the case of simple sequences, fill in the next sequence values.

    Also recognizing duplicate code for refactoring is helpful.

  18. ranblay says:

    June 22, 2020

    I like mentions of Blazor and SQL projects features.
    thanks

Subscribe

Subscribe to .NET Tools updates