If you're like me and you would rather write software using macOS than using a Windows machine, you have a bit of a dilemma to deal with when it comes to tooling. First of all, it's awesome that we live in a time where it's possible to write C# code on a Mac at all. From Xamarin to .Net Core, this new cross-platform reality has opened many doors and was inconceivable just a few years ago. It's now possible to write .Net software on a Mac. How great is that?
But, the tooling has some catching up to do. Visual Studio for Mac is nice and I think it has a bright future, but for anything beyond Xamarin development, it lacks some key features. Namely, Razor support. Then we have the other option: Visual Studio Code. I love VS code. It's snappy, really customizable and fun to use. But, like VS for Mac it has zero Razor support. And when I say Razor support I'm referring mostly to intellisense and code formatting. You can certainly use either of these two products for .Net Core Web development, but you won't get any help from the tools.
There is an alternative to VS for Mac and VS Code: JetBrains Rider. I dabbled with the early access releases and it seemed pretty powerful but also kind of buggy. Now, with its official release, Rider has become my IDE of choice. And yes, Rider has Razor support. Full intellisense inside of .cshtml views along with proper code formatting. Let's face it, any .Net developer that's been around for a while will compare every IDE to Visual Studio because VS is awesome. But it's not the only option anymore.
I'm not going to write a full review of Rider but let's talk about some of its features:
- Intellisense everywhere. Rider is very good at presenting code suggestions in context.
- Great refactoring tools. Hey, these are the people who created Resharper, so all of those tools come with Rider too.
- Lot's of customizability including the ability to change font rendering, which I find useful on a Retina display.
- Decent performance. The UI feels snappy on my MacBook Pro although there's always room for improvement.
- Frequent updates. The EAP releases come out frequently and the stable release versions come out quarterly.
- Good Nuget support.
- Code suggestions. Sometimes it can be a bit opinionated about the code suggestions, but Rider does offer some pretty useful changes and you can implement them with a click.
Using a new IDE is always a painful experience, but once you learn how to get around, it gets better. Sure, I miss Visual Studio and I really hope VS Code gets Razor support soon, but for now, Rider is my go-to IDE and I'm pretty happy with it so far.
Rider isn't free, but it's reasonably priced. I'm paying for the "Individual User" license monthly for $13.90. Not bad at all. I'm in no way affiliated with JetBrains, I just thought I'd share my opinion about Rider because I genuinely like it.