How-To's

Rider EAP 24 includes performance fixes, F# Interactive

We have a new Rider EAP build for you today. Highlights of this build include performance and memory consumption fixes, Unity support improvements, and F# Interactive, accompanied by a few dozens of bug fixes.

Performance fixes

Last week, we were put to shame due to a performance impact that Rider was incurring on RavenDB development:

Investigating the report revealed a set of problems, and although we’re unable to fix all of them right away, we did get rid of some:

  • We modified the caching workflow so that files that are not part of a solution aren’t processed multiple times.
  • We fixed a memory problem whereby the file structure model would be stored in memory even without opening the Structure view. This should help tone down memory consumption when opening large files in the editor.
  • We optimized handling of external file changes, such as those that occur when you switch to a different Git branch.
  • We made the Unity plugin behave, and it should no longer track file changes in projects that have nothing to do with Unity (on larger solutions, this alone is expected to cut loading times down by 5-10 seconds.)

The fixes should hopefully make development in Rider a smoother experience on larger solutions, especially those containing large volumes of JavaScript or TypeScript code.

The RavenDB case helped reveal more problems that will take more time to get addressed, which means we’ll be planning some architectural changes in ReSharper and Rider for further releases later this year.

F# Interactive

You can now use the F# Interactive tool window for F# scripting: both without ever leaving the console and by throwing selected lines or selections from the text editor. There’s a separate keyboard shortcut to send to F# Interactive, and the action is also available in Rider’s mainstream Alt+Enter menu:
F# Interactive window and editor actions

Unity support changes

First off, there’s something that we had done for EAP 23 but didn’t have a chance to talk about. We have recently refactored two separate Rider plugins for Unity into one plugin that:

  1. Is bundled with Rider;
  2. Installs a Unity Editor extension once you open a Unity solution in Rider.

In other Unity news, when opening a Unity solution, you will be prompted to disable Rider’s auto-save feature to prevent frequent recompilation, and Rider will in fact make these configuration changes for you:
Unity plugin helps disable auto-save in Rider

More improvements

  • In the application menu, we have merged File > Open with File > Recent Projects for a single list that works whether or not you have a history of opening the solution that you’re currently looking for.
    File | Open includes recent solutions
  • Web.config and app.config received improved support with validation and completion for tags and attributes, as well as automatic insertion of required config sections.
    Required items auto-inserted in web.config

Download and try

Please download the latest Rider EAP build and give it a try. Do submit any exceptions that you encounter: it’s essential for us to have a profile of current exceptions before we switch to production builds as we wrap up for the release.

image description