Rider 2020.1 Is Released!

Hello everyone,

We’ve published Rider 2020.1 today! Let’s talk about the most important updates we have for you in this release.

RIder 2020.1 release

The backend runs on .NET Core runtime

Finally, the backend runs on .NET Core runtime by default on macOS and Linux, instead of the Mono runtime. Moving to .NET Core runtime delivers noticeable performance improvements, a lower memory footprint, and multithreaded NuGet restore.

lin_mac-perf-TotalTime

This is important for developers using Rider on macOS and Linux, but it is also good news for developers on Windows because bringing it to Windows is the next big step we’re going to take.

Now let’s have a look at the other impressive features and improvements in this first major release of the year.

Xamarin hot reload

Now Rider automatically applies changes made in Xamarin Forms XAML to the application under debugging on a device or a simulator, without rebuilding and redeploying the whole application.

Dynamic Program Analysis

Every time you run your project in Rider, Dynamic Program Analysis (DPA) starts collecting memory allocation data. Once you close the application, DPA will show you a list of detected problems: closures, and allocations to large and small object heaps. No need to start any “profiling sessions” and get snapshots – just work as usual and all the data will be collected in the background, with almost zero overhead.
dpa-blog@2x

Dataflow analysis of integer values

Thanks to ReSharper, ​this version of Rider comes with a new type of analysis that tracks how the values of all int local variables change, and it verifies the correctness of all common operations on such variables to detect unnecessary or possibly erroneous pieces of code.
int-dataflow-blog@2x

Deferred asset indexing for Unity projects

We’ve made significant improvements in the memory usage and speed of asset indexing. Rider will now index all of your code before looking at your assets, meaning that all productivity features, such as code completion, highlighting, and inspections, are available for use sooner than before. And this is just one thing from the heap of improvements Rider Unity team has delivered in this release, which we will mention a bit later.


Download Rider 2020.1

Even more features and improvements

If the above is not enough to call this release feature-rich, perhaps these additional goodies will tip the scales:

  • C# code analysis reports compilation warnings related to nullable reference types and provides quick-fixes for most of them.

nrt-rider-blog@2x

  • Now the code completion popup displays much faster after you begin typing, especially in large solutions.
  • We have completely reworked the UI for the Debug tool window to make it as clean and uncluttered as possible. The tabs layout is simplified, as all tabs are now on one single level, and we’ve combined the Threads and Frames views.

debug-window-1-blog@2x

  • The debugger engine now supports detaching from a process initially started under the debugger without terminating the app, supports the .NET Core x86 runtime, and Smart Step Into is enabled by default for the Step Into action.
  • As already mentioned, there are a lot of other improvements in Unity support: Asset indexing understands usages of your code in Nested and Variant prefabs, unit testing discovery now works better for Unity projects, and code completion no longer suggests Boo.Lang.List or System.Diagnostics.Debug, just to name a few.

unity-blog@2x

  • If our TFS client is selected in Settings/Preferences, enabling Version Control Integration now works for TFS workspaces locally created with Visual Studio.
  • For Unit Testing, we’ve tweaked the toolbars on Unit Testing windows and added new advanced Group by functionality, new filtering of unit tests by the target framework, and export/import for Unit Test Sessions.

unit-testing-blog@2x

  • A new non-modal popup where you can change the editor’s highlighting levels.
  • Extract Class refactoring.
  • Coverage Filters for the unit test coverage results.

coverage-filters-blog@2x

  • Two new folders in the Solution Explorer: Implicit references and MSBuild import targets.
  • Support for WIX (Windows Installer XML Toolset) projects.
  • Tons of improvements and fixes in F# support to help you in your daily routine: new inspections and quick-fixes, a new “Send project references to F# Interactive” action, the evaluation tooltip on mouseover works for more expressions when you are debugging, and more.

fsharp-blog@2x

  • A new Cancel build action.

Keep in mind the list above does not cover all the features, improvements, and smaller tweaks that our team has worked on to bring to you in the last four months. To see everything this release has to offer and find even more interesting things, please refer to What’s New in Rider 2020.1 on our website.

The full list of fixes completed in the 2020.1 release cycle can be found on YouTrack.

Use any of these ways to download this Rider 2020.1:

  • Download and install from www.jetbrains.com.
  • Update right inside Rider: select Help | Check for updates.
  • Use our Toolbox App.
  • Use this snap package from the SnapCraft store if you are using a compatible Linux distro.

Try it today and share your thoughts and impressions with us!

This entry was posted in Releases and tagged , , , , , , , , , , , , , , , , . Bookmark the permalink.

15 Responses to Rider 2020.1 Is Released!

  1. Ilya Murashov says:

    Unfortunately, this version is confused about some of my methods. At least one file is not showing syntax highlighting at all.

    Had to roll back to 2019. Happy to help if you explain how.

  2. Ivan Ivanov says:

    An excellent release for the number of innovations. Thanks.
    Please add the option to choose a provider to the *.settings designer

  3. Ivan Ivanov says:

    I’m using a custom provider htttps://github.com/crdx/PortableSettingsProvider
    For example:

    Unfortunately, in the latest versions of Visual Studio 2019, this designer was broken. And this is another reason to use Rider
    I would like that in Rider we can specify this Provider in the Designer. And it is desirable that the output code is similar to Visual Studio!.
    By the way, I would like the same from your WinForms Designer in Rider. Unfortunately, now it is still inedible, because the designer’s code turns out to be very different (we use Devexpress components). Continue to develop it!
    Of course, I can do everything using code, but it would be more convenient to have a full-fledged designer.
    Don’t forget these things, because we have to use Visual Studio for operations with the designer, which is very inconvenient.
    These are just wishes. Thanks!

  4. Edvin says:

    This update has fucked up my UI – again. In 2019.3 my diff preview was moved into an “editor tab”, but at least I could move it back by changing some of the Registry settings mentioned in the end of https://blog.jetbrains.com/dotnet/2019/11/18/new-way-commit-introducing-commit-repository-tool-windows-rider-2019-3-eap/#comment-580372

    Now, there doesn’t seem to be any way to get things back to what I want. I think I have tried every combination of those settings but nothing helps: I can either get the diff preview as an editor tab, or not get it at all.

    I *want* the diff preview to occupy the wasted space here: https://i.imgur.com/xe1QpBf.png

    Please help.

  5. Jonathan says:

    After updating to 2020.1 the whitespace representation for tabs is being displayed as horizontal lines at the beginning of each line. Is there an option to change the representation of the tab character in the settings?

  6. Alex says:

    Please fix the diff window so we can use diff in the tool window again.

    And please communicate better on future changes to the features we love and rely on. Just flipping a feature from one form to other and force as to figure it out makes us to miss of MS, they were much more consistent: all the same for decades. :)

  7. George says:

    Thank you for the F# improvements!

Leave a Reply

Your email address will not be published. Required fields are marked *