.NET Tools How-To's

Happy 5th birthday, Rider 🥳

Today, we’re celebrating the 5th birthday of our cross-platform .NET IDE: JetBrains Rider!

Happy 5th birthday, Rider 🥳

We initially revealed “project Rider” at NDC London in January 2016. We started with a private preview for a select number of people who were just as excited as we were about the concept of a cross-platform .NET IDE that builds on IntelliJ IDEA and ReSharper (which turned 18 a couple of weeks ago, congratulations!)

“To say I was nervous was an understatement. I had no idea how the product would be received. It’s wonderful to see that 5 years later, it has become the success it has!”

— Hadi Hariri, Developer Advocate

In November 2016, the private preview of JetBrains Rider became a public preview that everyone could try. We also decided on the name – because we liked the codename “Rider” so much, we kept it!

Rider first public release screenshot

Leading up to Rider’s stable release, we had 24 Early Access Previews (EAP) and 1 release candidate. During the development cycle, we switched from using project.json to using .csproj for .NET Core projects, and we built our own debugger along the way.

JetBrains Rider 2017.1 hit RTM on August 3, 2017. At this time, .NET Framework 4.7 and .NET Core 2.0 were also just being released. Now, just 5 years later, Rider has been cited as one of the top “most loved” tools in the Stack Overflow Developer Survey 2022.

“I remember the moment I was really blown away by what the team had built. The debugger team said I could now attach to any running .NET process and start stepping through code thanks to the built-in decompiler. So I tried it, and got so excited I immediately wrote a blog post about it!”

— Maarten Balliauw, Developer Advocate

JetBrains .NET IDEs before Rider

Since we’re taking a trip down memory lane, let’s go all the way back to 2004. We were working on ReSharper, with the goal of making it a Visual Studio add-on. At the same time, we also wanted to try turning it into a standalone .NET IDE.

The ReSharper IDE preview

You may recognize the Find Usages tool window at the bottom, an early form of what you can still find in ReSharper and JetBrains Rider today! Features like the action system, tool windows, refactorings, and the test runner were shipped in ReSharper.

In 2012, we released dotPeek, a freeware tool that lets you decompile .NET assemblies, navigate through the decompiled source code, inspect APIs, and more.

dotPeek, a C# decompiler for .NET assemblies

The shell in dotPeek was another attempt to make ReSharper a standalone IDE. However, it was still missing some key IDE functionality like debugging, version control integration, a terminal, and support for other languages. Another limitation of dotPeek is that it is Windows-only (Rider is the cross-platform version of dotPeek).

In parallel, we had been thinking about supporting C# in IntelliJ IDEA, which came with its own issues. The language support in ReSharper was already tried and tested, and would need to be rewritten from scratch if we wanted to add it to IntelliJ IDEA.

Let’s fast forward to 2014, when we got the idea to “simply” merge the two products into what became JetBrains Rider.

Rider brings IntelliJ IDEA and ReSharper together

Legend has it that the name Rider comes from ReSharper IDE, but since Ride didn’t sound great, it became Rider.

— We haven’t found the source for this story yet.

JetBrains Rider builds on IntelliJ IDEA and ReSharper using an open-source distributed view model to bridge the two. It uses dotPeek to provide decompilation on-the-fly, and bundles the test runner you may know from ReSharper and dotCover. Profiling is handled by the built-in dotTrace and dotMemory. The excellent database tooling comes from DataGrip, and web support comes from WebStorm. It is a genuine team effort by everyone at JetBrains to bring the best tooling to .NET developers.

We want to say thank you to the development teams of these tools for their innovative work. JetBrains Rider is standing on the shoulders of giants!

Happy birthday!
["hip","hip"] // (hip hip array!)

That brings us back to the main message: Happy birthday JetBrains Rider! We’re looking forward to the years to come!

When did you start using JetBrains Rider? What’s your favorite part of it? Let us know in the comments!

image description