If I'm working on a project I want to see the file tree, I want multiple editor tabs for different files, I want to be able to full text search the project I have open, I want a terminal window to execute commands on, and most importantly I want to be able to switch between these elements without needing to learn a new set of opaque keyboard commands.
VSCode/Codium gives you this out of the box with zero friction so it's no wonder that it's consuming market share like nobody's business.
I wish it wasn't electron and I wish it wasn't Microsoft, but until there's a better alternative that's what I'm using most of the time.
For what its worth, VSCode also works over SSH. There's a collection of plugins for working remotely or in containers.
The main thing that drew me to VSCode originally was pretty good support for fonts and ligatures. And I think I also like some of the QoL plugins I use. The config is just JSON, and it's pretty easily tweakable to how I like it.
I've heard good things about nvim and zed though, and I'm tempted to try them. But there's a bunch of idiosyncrasies and quirks that you get used to, so switched kinda feels like a chore
Many of us use the code editor for a lot more than strictly editing text.
1. GUI editor (for UI)
2. Debugging (as in standard debugging tools like breakpoints, REPLs, etc)
3. Building the project, and build management
4. A terminal emulator
5. A container orchestrator manager (or as I like to call it, an orchestrator orchestrator)
Personally I think those tools are better separted from the IDE, but there is a real convenience in having them integrated.