I've used both Visual Studio (not Code) and Vim and I have to say, the improvements over my Vim setup are pretty marginal for C++ code. Every time people come out saying you can't possibly be productive with Vim in <current year> it always feels a bit like they're projecting their own insecurities. All I really miss in Vim is good debugger integration, but so far I make do ok with plain gdb in a terminal. And this is a big enterprise codebase with ~150 developers working on it. It's perfectly ok to use whatever you like, I just don't see why you need to accuse perfectly good tools of inadequacy - you might end up turning away someone who would be most productive in vim/emacs vs IntelliJ or VS.
That said, VSCode has a lot of good ideas around tooling and I've been toying with the idea of looking into making a fork that replaces the editor component with an embedded NeoVim. I feel that would be the best of both worlds, but obviously a huge undertaking. There is already NyaoVim that implements a NeoVim gui as a web component.
I agree with your point about Vim being more than adequate for development in a large codebase.
I only learned Vim recently and I have hit no issues so far working on a large enough codebase such that navigation and autocompletion wouldn’t work effectively for any IDE.
I instead use cscope and ctags which allow me to selectively setup navigation and autocomplete from within Vim.
That said, VSCode has a lot of good ideas around tooling and I've been toying with the idea of looking into making a fork that replaces the editor component with an embedded NeoVim. I feel that would be the best of both worlds, but obviously a huge undertaking. There is already NyaoVim that implements a NeoVim gui as a web component.