Genuine question with an open mind: why would I use this and not vscode?
I know people complain about lag in vscode but I have personally never experienced/noticed any. So with that in mind what does rider give that vscode cannot?
I’m a PhpStorm user so not familiar with Rider specifically, but in my experience JetBrains IDEs are exactly that: Integrated Development Environments. Whereas VSCode is more of a code editor first and foremost.
There’s tons of overlap between the two, and for casual development VSCode will usually be fine. But as a professional I rely on IDEA to make a living, and it rarely lets me down.
95% of everything I could ever need comes out-of-the-box, so I don’t need to go plugin hunting (though there is a broad range of IDEA plugins too). In fact the IDEA plugins are cross-compatible, so plugins for Rider will work in PhpStorm, PyCharm, Rubymine, etc.
The refactoring is outstanding, and leaps beyond what VSCode can do it. Basically it just understands my code like a real developer would. Not just simply checking syntax, but understanding project structure, naming conventions, coding styles, and more.
PhpStorm gives me access to a full debugger, with inline breakpoints and execution step controls. “Find Usages” is incredibly thorough and even understands dynamic symbol names in many cases.
Also I get a full MySQL and Redis client, right there in the UI. I can click on strings which refer to column names in my code, and they’ll appear in the DB panel instantly.
At the end of the day these are power-user features, but I’m glad to have them and feel significantly more productive in a JetBrains IDE. Embracing static analysis and a full IDE was probably the single most beneficial upgrade to my skills and career.
I've tried VS Code and Haystack (based on VS Code) for writing PHP and I just couldn't stand it after having used PhpStorm. Basic things like copying variables, indenting, moving lines into if statements, multiple cursors etc. just aren't intuitive in VS Code when writing PHP and a lot of the things I can do in PhpStorm with the press of a button just aren't possible.
I really hope they move PhpStorm to the same payment model as Rider so I can also use it for my own non-work projects.
My very personal opinion is that LSPs haven't contributed very much in the area of turning text editors into cohesive and integrated development environments that I enjoy using. One still gets to spend a lot of time and energy fishing for the right extensions, some with overlapping or incompatible scopes and capabilities. And this to be repeated for every project, framework and language. That's very ad-hoc, unsatisfactory, and the extent to which plugins can "do their thing" is generally superficial and limiting, setting the bar very low for what's possible to do (an example of that is how many plugins inform about their state via dumps of logs into ever piling and popping up consoles, this is very distracting and suboptimal).
The other paradigm is to have actual tooling and UX specialists having put time and effort curating a developer experience that is as smooth and distraction free as possible. And in my experience with the JetBrains IDEs, that doesn't even come at the cost of extensibility (you still have support, either official or community-based, for esoteric stacks and languages, and those can piggyback on the more sophisticated and adequate UX palette).
What should be the deciding factor is the resource consumption, then: if you end up with a less refined and less capable LSP+Extension enhanced text editor, it better be lightweight, right? Well, here again it's pretty clear that those LSPs and Extensions are everything but that, and not only JetBrains IDEs start fast (which was a big area of focus recently), they also respond better using comparable resources.
Just to be clear, I don't hate vscode, I have it installed, but the extent I use it is very limited because it sits in this uncanny valley where it's too bloated for one-off editing of small things like config files (for which I use vim) and editing whole projects folders (for which it's far from delivering as good an experience as an IDE)
Every time I decide to try a Jetbrains IDE again I give up after a few days. They're always eating insane amounts of RAM and lagging hard while indexing my code again and again and again.
Indexing is IO-heavy and does slow things down, that's the nature of it (and Windows is dramatically bad at that), but they have improved quite substantially in this department recently: whole indexes of large libraries/runtimes can be fetched from the internet so your computer won't be the billionth device to re-index the whole JVM, the IDEs are starting faster, and more features are being made available while indexing in progress (giving less of an impression that "nothing works" when opening a project).
The solution is to use an NVME SSD and stop programming on Windows.
NTFS is painfully slow for many-files type use cases. Unfortunately, many-files describes most codebases. Git clients on Windows are also painfully slow for this reason.
Not sure what to tell you, this should be solved on Macs. I'm pretty sure their SSDs are very fast. Although - be aware, the smaller capacity ones are about half the speed. They don't tell you that.
> What should be the deciding factor is the resource consumption, then: if you end up with a less refined and less capable LSP+Extension enhanced text editor, it better be lightweight, right? Well, here again it's pretty clear that those LSPs and Extensions are everything but that, and not only JetBrains IDEs start fast (which was a big area of focus recently), they also respond better using comparable resources.
What kind of nonsense is that, lmao. JetBrains IDEs absolutely choke on our Java monorepo out of the box and you have to rely on huge hacks to make it work. While VScode works just fine and stays responsive while indexing in background allowing to move around and modify files without any lag.
And GOD FORBID you close it, open it again and be greeted with 30 minutes of “indexing”.
Their tooling is so great, that they had to migrate their homebrew Java tooling in CLion to clangd (C++ LSP) based indexer.
Android Studio is another level of awful and if someone would release Kotlin LSP I’d migrate in an instant. But of course JetBrains won’t release it, because it doesn’t drive IDE sales.
I mean, immense corporate codebases is the bread and butter of IntelliJ Idea and where it has a reputation to shine. I don't doubt that you are commenting in good faith, but the exact opposite of your experience is what most people have been saying about it over the years. Have you considered reporting the issue to them?
My experience of vscode LSPs across several languages is that they too use many GBs of RAM over time, just what you would expect from an IDE (and not from a text editor), while delivering pretty poorly feature-wise (unlike idea-based editors, I can't trust vscode to know how to rename variables across languages e.g. from models into templates/SQL, and that's a pretty essential bar to cross in my book).
I've never understood the value proposition of vscode:
"Download an editor and install a random collection of dodgy looking plugins from random authors that will get you maybe 80% of the functionality you want
Enjoy watching the plugins downloading random .exes from all over the place
Any semi-advanced functionality is hidden in a complicated command palette system and a plethora of JSON files
Groovy support? Haha! You're funny
Need to view data in other format than a list/tree view? Get fucked
It's difficult to quantify, but to me (large C# & TS projects) the difference between working in Rider vs VSCode is the difference between Notepad and VSCode.
The difference is big.
Also, often I think to myself "I wish feature X was available", only to find that it is and has been for a while in Jetbrains products.
I think I've only installed five plugins ever in Jetbrains. All for totally reasonable things like embedded development and debugging.
There's no real need for any plugins because everything I need for my workflows is included out of the box.
It even has support for build agents in docker or bare metal either locally or remote. It includes remote GDB debugging. I can with a single button launch a docker container on a remote server which cross-compiles, uploads the binary to my tablet, launches the app with GDB attached and gives me normal debugging tools including breakpoints and a console. All out of the box with no dependencies required apart from docker.
I've ditched PhpStorm licence quite a while ago after I stopped working with PHP. Tried using VS Code for personal JS projects, but I had to install a few plugins to make it more efficient and still having a strange issue on Linux, when Terminal panel is open, whole code editor feels sluggish. I don't really like how IntelliSense works on VS Code, but that's on me, as there's a plugin or some setting somewhere to fix it. Also VS Code creates several strange directories in my $HOME directory, even when running in portable mode. From application size perspective - VS Code is marginally smaller, and starts a bit faster than IntelliJ IDE. But SublimeText is even smaller and runs circles around big IDEs, not to mention how good it is at handling large text files. At this day and age it comes to personal preference. It is great that new developers have a wide choice of IDEs freely available.
Interesting to see so many comments talking about extensions, and how you don't need to install any.
In vscode I only have the remote development extensions installed, and I think those come "built in" anyway. I just use a vanilla clean vscode install and its an absolute pleasure to use.
If extensions (or lack of) are the main reason given for not using vscode, then for me at least as someone who does not use extensions in vscode and just use it "as is", there seems to be no benefit.
I guess this lack of any actual incremental value to the average typical end user of vscode (i.e. someone who can just use vscode as-is without needing to install loads of plugins and customizations...) is why they are now giving rider away for free.
Specifically, out of the box, these things work, and work exceptionally well. In my experience you can get 80% of the way there in VSCode, but it requires compromise and time, which I’m personally willing to throw money at to make go away.
Honestly ? It’s hard to describe. It just works. C# solutions ? You have them. Git ? You have it. Jira ? Integrated. Want your branch to be named after your jira ticket ? It’s built in. A missing .NET framework ? You can install it in one click.
You don’t have to install any plugin to be productive. Though there is a rich ecosystem of plugins but it’s more to allow you to install "bonus" integrations and features where in VSCode it’s necessary because you basically have to build your own IDE. If you don’t install anything, it’s like VS : open your project, click on build, it’s built.
Just try it, in the first start you’ll be asked which keyboard bindings you want to use, just choose VSCode and you’ll feel at home.
If you mean for .NET development, there’s still light years between vscode and this. Whereas .NET extensions for vscode are still in their infancy, Rider has been creating a comprehensive IDE for .NET to rival the full edition of Visual Stdio for years. We are talking full Solution file support, Nuget, majorly advanced refactoring via Resharper, pretty much everything you could wish for. And it runs on a Mac!
Cool - vscode is nice and I use it all the time for other stacks, but - for .NET - relying on an ecosystem of third party extensions is never going to provide that unified experience that you get from a purpose-built IDE. Try both and you’ll see what I mean. The love poured into Rider is obvious.
> I know people complain about lag in vscode but I have personally never experienced/noticed any.
Start using JetBrains products - you’ll experience many.
And before I get rained with downvotes I’ve been using JetBrains on various machines for over 10 years. From netbook with Cameron and 2GB of RAM to M1 Pro and M3 MacBooks with 32 GB of RAM.
I know people complain about lag in vscode but I have personally never experienced/noticed any. So with that in mind what does rider give that vscode cannot?