Why would/wouldn’t you switch to a modern IDE like Visual Studio/VS Code if given the decision right now?
out of curiousity, since I feel like most of the time I touch any vi derivative it’s because I need a text editor on a command line, not because I really really wanna use it
I'll never use any Microsoft products again because of the inevitable enshittification. It might be nice now, but that's just because they're in the Embrace step of EEE. I could waste a bunch of time churning through that process, or I could learn tools that have proven that they're in it for the long haul.
I've used IdeaVim, Vim, and Neovim for probably around 6 or 7 years or so, and wouldn't switch from it. There are three of the main things I would bring out out, but there are probably many more:
It's comfortable (for me) and fun. I'm so used to the keybindings that I don't need to think about them at all. I just think that I need to change something, and it's already done. It's like magic! Flying through code like that is super enjoyable. I find that none of the IDE vim plugins quite hit the mark for me. I might need to try them out once again, as it has been a while since I last did, but I'm already quite used to the real ones.
It's super extensible and configurable. You can really make it your own. I know that you can use plugins in VSCode (and there are a huge amount), and even write plugins yourself, but it's so easy in Neovim. I think that a strength of Neovim is that you're using a programming language for configuring your editor. There isn't a huge leap when going from creating your first keybinding to making it do something extra that you need in your own workflows. I wrote an article recently, related to this exact thing: https://medium.com/scoro-engineering/5-smart-mini-snippets-for-making-text-editing-more-fun-in-neovim-b55ffb96325a
It's fast. This isn't that important to me, but it's still something that makes day-to-day programming less of a drag. I can start Neovim in less than a second and there's virtually no text input lag. I've seen how co-workers' PHPStorm takes a minute or two to start up, and that seems quite upsetting.
There are other minor reasons like being open source, having a vibrant community, and being in the terminal, but those are less important to me than the big three.
I don't really miss using a full IDE, because my Neovim already does everything I need it to do. It's also lean as I know all the pieces that go into it and there isn't anything unnecessary. I have completion that's as smart as VSCode, but I don't have a plugin for running tests inside the editor because I run them in the terminal.
Overall, I'm quite happy that I chose to try out Vim. It's made editing code more fun, and that's already a big win, I think.
You do have the option of using whatever you feel is best in any particular circumstance. There's no reason you need to commit to one of vim or vscode for absolutely everything, and being familiar with a few different tools can be helpful.
For example, if I'm working closely with a team that primarily uses vscode or a jetbrainz IDE then I tend to switch to that since it makes collaboration a little easier.
agreeing with krogoth - i use vscode via github's web editor and other such buffoonery, and since many of my teammates also use microsoft's loss-leader false-flag not-quite open-source community trojan editor, I have to stay reasonably current.
so i'm conversant, and use it, but i wouldn't "switch" in the sense of "adopt as my daily driver", for reasons which should be obvious from the last sentence ;)
Personally I think VSCode is a pretty weak IDE in a lot of ways. Half of the suggestions are more like "guesses" without any real context-aware processing happening. It's performance in automated refactoring or automatically detecting/fixing stuff like import errors is highly language dependent and poor quality for many (esp dynamic languages).
I've used many text editors and IDEs. Textmate 1 was the first I truly fell in love with, and over the years heavily used Textmate 2, Sublime, Atom, and VSCode. Spent a solid 6 months with SpaceMacs (look it up if you want to hurt your brain) but wasn't for me.
I started using IntelliJ at work for a single feature (the diff tool) and eventually switched over entirely to Jetbrains. WebStorm is by far the best web programming IDE I've used (react support is insane, w/ 0 time spent configuring it). I've used a few others (Ryder, CLIon) but IntelliJ is the work horse that gets it done for me.
I sometimes go try out VSCode again or other IDEs. They're fun and shiny for a day or two until the minor annoying issues pile up and the lack of depth in the features / code introspection becomes more obvious. Then back to IntelliJ.
I usually pirate most tools until they've demonstrated substantial value for me, and really hate subscriptions. But Jetbrains entire suite with the "returning customer" discount is like $150/year. And I got the discount on the entire suite because I had paid for Webstorm in the past, which seems really customer friendly. Really not trying to ride their dick or anything, I just feel like they really save me time and mental effort which is my most valuable resource these days.
I've tried to go back recently, and have missed the intercompatability of this tool greatly along with my personal re-bindings, control over the system as a whole, alterations to my plugins, and the general flexibility of the terminal.
Why would I? If the features better suited my needs and the plugin system/general configuration at a much larger level were better than nvim or vim. Or, if my current system became impossible to use
Probably I just don't want to learn new things, but I do most things in the command line so a cli editor makes sense. I also have been using vim for years so I know the hotkeys. I also get to configure it from scratch so I know exactly what it is doing.
You are right though, if I just wanted to do my job intellij or vscode would be faster to see up.