On personal note: my company pays for Visual Studio Ultimate + Jetbrains for me and I rarely open it these days and use VSCode 99% of the time.
Run natively on Linux:
Emacs users saw the benefits of a single text editor a long, long time ago. Back when I started programming it was common for people to use a different IDE per language. There was VS, Eclipse, Dreamweaver etc. I thought that was insane. It's been funny seeing people finally realise the same a decade later.
JetBrains IDEs are the sweetspot between absolute single purpose IDEs (like Eclipse) and text editors that require plugins to be useful (broadly speaking).
I am all in on JetBrains, to be perfectly transparent, but I have yet to see anything come close to the seamless experience I've had with their IDEs
Someone mentioned the visual aspact of vs. That I've literally used once, at the very start of my bachelor. Vs is confusing, huge, and densely feature packed. I think I just never took the time to enjoy the features vs has.
This isn't weird when you consider my top choices: vs code and emacs both share the characteristic that they get out of the way when I'm doing my stuff. I usually want the bare bones, vim keybinds enabled workflow when I'm working, because it's fastest and it's what I know. I can use smart features like var renaming, autorefactoring etc. in all of these options, but in vs code and in emacs I feel less like they're butting in when I don't want them to, and when I'm changing settings or executing commands I'm not traversing a dense jungle of menus, settings and options like in vs.
In short for me the experience is easier and therefore more flow like.
emacs, vim, and VSCode are _Source Code Editors_ which are a type of text editor. You can make a source code editor into an IDE by adding integrated compiling and debugging tools.
And that works pretty darn well, but struggles to integrate all of the toolchain's development opportunities into the workspace environment.
Horizontal integration across workspace modules would help too. Most text editor extensions rely on a least common denominator UX language through command palettes and button arrays and human-editable config files.
And that also works pretty darn well, but struggles to integrate all of the workspace environment's features into coordinated development workflows.
There is no slight being made against VS Code to say that it's not the same as a more fully integrated development environment. It's a very powerful tool in itself, capable of meeting most developer's needs and is far more extensible and adaptable than IDE's aim for.
They all have extension architectures that expand on what that means, but they all cover the same kind of use cases and they all stop short of traditional Integrated Development Environments.
Unless you’re saying that none of the others should be called text editors either (a daunting uphill fight against history), it’s an exactly accurate description.