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'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.
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.
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.