Today’s header image was created by Rudi Strydom at Unsplash
Great news everyone!
Really? A reference this early in the article?
Unless you’re new here, or haven’t been keeping up with certain news regarding .NET Core, you’ll no doubt have heard of Rider by JetBrains. I’ve written about it before, back when it was in Early Release (basically a public beta). But the day is finally upon us
or it was, back when I wrote this article
What’s Rider Again?
For those who don’t know
or don’t want to click the link in the previous section 😛
Rider is an IDE by JetBrains – the folks who brought us:
- IntelliJ Idea
Yes, that ReSharper.
What if I told you that Rider isn’t just an IDE, it’s a .NET IDE? Pretty impressive?
not really, I have Visual Studio
And that it’s cross platform?
that’s more interesting
And that, regardless of operating system, you can work on code using any .NET platform in the ECO System?
now THAT’S impressive
The official statement on .NET Platform support is:
Rider lets you open, edit, build, run and debug most kinds of .NET applications: desktop, web, libraries, services (with a notable exception of UWP applications). Applications that target Mono, such as Unity and Xamarin, are also supported, as well as the latest and greatest .NET Core applications.
Of course, you need to install the compilers and SDKs separately. But yes, I can compile and run Mono, .NET Core, Xamarin or Unity code on my Ubuntu machine.
As a quick side bar, I’ve written a bunch of TL;DR answers about Rider over on codeshare.co.uk. Head over there if you want a quick 411 on what Rider is.
What’s So Great About Rider?
I’ll put the fact that it’s cross platform to one side, for now.
yes, I do rock Ubuntu Mate on my desktop
In the above video, the solution is loaded and ready to use within one second of selecting the solution from Rider’s splash screen. Part of that is related to the fact that dwCheckApi is a small solution, but most of it is related to Rider being very fast.
The remainder of the start up time is actually Rider synchronising with GitHub, to ensure that I have the latest version of the the repo and to highlight any local changes.
I did mention that it’s got GitHub integration, right?
Even though it’s fast, Rider doesn’t skimp on features. It has all the features you might come to expect from a modern IDE
you could say that JetBrains know a thing or two about IDEs
It has debuggers, version control hooks, unit tests and a .NET decompiler
I’ve used the decompiler to get up-to-date documentation on certain APIs
Even the decompiler is fast, too:
All of that, and it includes ReSharper
More on that in a moment
On top of all that Rider is based in IntelliJ IDEA, so the majority of the plugins for that
and all of the other IDEs which are based on it
are fully compatible with Rider.
Which Versions of .NET Core Does It Support?
As long as you have the correct version of the SDK installed, and a correctly formatted global.json
you DO have a global.json, right?
then you can (technically) build against any version of .NET Core. However .NET Core 2.0 isn’t fully supported in Rider 2017.1 and 2017.1.1
When opening a project which builds targets .NET Core 2.0, a message will be added to the event log letting us know:
This message is clear enough, some things aren’t going to work, but I haven’t found a single thing which doesn’t work with .NET Core 2.0
and I’ve been using Rider (since the Early Access) in conjunction with .NET Core 2.0 (since the first preview)
Although your mileage may vary, as most of my projects are small non-enterprise applications. And Early Access version of 2017.2 is available as per this blog post by Jet Brains themselves.
You Mentioned ReSharper?
Rider is built, from the ground up, with features of ReSharper built in to it. Including, but not limited to:
- Code Analysis
- Refactoring tools
- Quick fix tool tips
- Coding Standard helpers and inspectors
The official statement on the ReSharper features present in Rider is:
On top of that, we add ReSharper features: navigation and search, refactoring, code inspections, quick-fixes, and so on. We have spent 10+ years building a feature set that helps read, write and navigate large .NET codebases, and all this is now available to Rider users.
Basically, if you can do it with ReSharper in Visual Studio, you can do it in Rider… but faster.
allegorically, I’ve started to get messages in Visual Studio 2017 telling me that ReSharper is slowing it down
Which leads me back to…
It’s Cross Platform?
It certainly is. There are builds for Windows, MacOS and several distributions of Linux.
I’ve had it installed on my Ubuntu Mate 16.04 machine
which is the PC I used to record the above embedded videos
and my Macbook Air (which is rocking MacOS High Sierra), and I can seamlessly move from one machine to the other, editing my open source projects on either platform.
The Windows build has the same feature set as both the MacOS and Linux builds, so regardless of which OS you might us it on, you’re getting the same IDE and speedy experience.
Did I mention that Rider is fast?
Surely There’s a Cost?
JetBrains are a commercial entity, as such they want to sell you a licence for Rider
and I would totally recommend it, for the price
And depending on which licence you choose to purchase, you can get Rider or Rider and the ReSharper for Visual Studio add-on
for those who still want to use Visual Studio
There are even discounted licences, if you’re like me and build open source software.
What About You? Do You Use Rider?
I sure do.
I still have Visual Studio Code installed on my Ubuntu Mate machine, and Visual Studio for Mac installed on my Mac. Mainly because I want exposure to all of the major IDEs and tools available for .NET Core application development.
VS Code being the most configurable of them all
Rider is extremely fast. We saw that it can cold boot a solution in around a second, and be ready to edit and build, which is incredibly impressive.
It has ReSharper features built in and is based on IntelliJ IDEA, so it has support for the majority of the preexisting IntelliJ IDEA plugins
although I haven’t needed to use any plugins, so far
The initial versions of Rider (2017.1 and 2017.1.1) are incredibly impressive; then again JetBrains have been specialising in IDEs for over a decade.
I would definitely recommend giving Rider a try – you even get a free 30 day trial, so why not try it?
Have you used Rider yet? How do you think it compares to the Visual Studio family? Will you move over to it and not look back to Visual Studio?
If you’ve haven’t tried Rider yet, what’s stopping you?