I mean, what's holding you back from using neovim? Great plugins, same LSPs, anything that's missing you can code up yourself in Lua, works over ssh... what are you really gaining by using VSCode?
The out of the box experience is vastly superior to neovim, you have to configure a lot less stuff.
The default keybindings are not esoteric.
Adding support for a new language is just clicking a button to install the extension, you don't have to configure or install the LSP yourself (or even know what an LSP is).
For me personally, better support for c#/.net.
You can make a nice IDE with neovim and plugins and a GUI but you do have to make it, whereas you just have to install vscode and you are done.
Astronvim[0] is plug and play. Easy to add LSPs (Mason), easy to add syntax highlighting (TreeSitter), and easy to configure (Lua, no JSON).
I can't stand VSCode due to personal preference [1], but I won't fault someone else using it. If configuration is stopping you from using neovim, use Astronvim or another pre built solution.
[0] https://astronvim.com/
[1] my main beef is lack of support for my ingrained Jetbrains shortcuts and the find window being in the sidebar. How anyone can use the search results easily is behind me. I know you can move it, it's just annoying.
You can just simply ignore that find window and instead use the "Go to Symbol" feature by pressing Ctrl + T to navigate quickly between symbols (variable + function + classes + etc).
As a long time neovim users and promoter, I switched because of community support of plugins. More of them, they are up to date with libraries immediately (important in JS more than other languages), and easier to google solutions.
Also I tried switching to Astrovim so I spent less time maintaining my vim config and it ended up breaking as often as atttempt at switching to Linux distros (regardless of years of experience) so I chose stability.
i'm a Python main trying out neovim (using kickstart) and couple of weeks in my journey is a bit frustrating as switching between virtual environments is a hassle, jupyter notebooks aren't quite useful outside the browser and setting up the dap has been a challenge.
Setting up a fresh vscode install with all of the plugins 'launch.json's and takes me ~20 minutes at this point.
Not giving up on neovim as telescope, treesitter and the no-electron experience are a joy
The seemingly lack of support of jupyter notebooks was the thing that kept me from giving it a honest try. I want the same experience as in the code editor.
Have you ever tried to daily drive them? They're simply not polished enough for serious work.
Text editors seem to fall into this open source software trap where everyone has to have a pet project so you end up with 700 different text editors that are all like 70-80% done in terms of features.
Sure, but how concretely does that hold you back? Not saying I can’t imagine any possibilities, but guis aren’t universally better for editing text. In fact I usually find the gui is what is holding me back, since I end up needing access over ssh/mosh or easier access to a terminal, and tools such as tmux provide much better (imo) ergonomics than I get with terminal-in-ide especially with the ability to zoom one split to fullscreen.
It's not the GUI per se that people want, but it's the useful default configuration.
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.
I honestly don't remember the last time I used a terminal to edit files. I don't really miss vim that much since I still use vim shortcuts in VSCode. I briefly tried Emacs but a lot of the major modes for languages I used were too buggy and those were distracting me too much for it to be my daily driver (maybe I have ADHD, dunno)
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
Fair enough! Definitely not trying to make anyone change their editor of choice. But I do feel people forget (or maybe never knew) how productive terminal based workflows for editing / compiling / running tests can be once they get used to how their specific IDE exposes those features. I personally can’t think of anything I couldn’t add to terminal workflow except for things like markdown preview or image preview. There are certainly inconveniences like difficulties with copy/paste or mouse based split selection/ scrolling etc that can be worked around in more or less complete and or painful ways. But for the general tasks IDEs are used for i am not aware of anything else a gui really helps with. Hence my question.
I'm a die-hard nvim/tmux/mosh user so take this with a grain of salt, but to answer your question, many people use their IDEs as project dashboards. For example (depending on the project/ecosystem):
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.
Sorry, but neovim or doom Emacs or any other nerd editor configuration that doesn't have table stakes features out of the box is a complete non starter.
As far as I'm concerned, running 100,000 lines of Lua or elisp written by literallywho is no better than downloading random vscode extensions.