However, I tried VSCode again last week after being disappointed by continued bugs in atom-typescript, and was happy to discover the Vim plugin (https://github.com/VSCodeVim/Vim) had made a ton of progress since I'd last given it a shot. It's still not quite as good as Atom's, but it's definitely getting there. Plus, the project's team is very active and friendly - I actually submitted a PR a few days ago fixing a bug (the VSCode extension development workflow is super easy, it turns out!) and they quickly merged it :)
I also found out that the VSCode developers know that it's an important plugin, and they actually have a category of issues on the VSCode repo specifically for extension APIs they need to add to make the Vim plugin as powerful as possible. This new update includes several of those, and I have a feeling by the end of the year the Vim plugin in VSCode will be on par or better than that of plugins for other editors.
That is the benchmark that I use to judge other vim plugins.
I'm pretty busy right now, though, and will probably not get to finish it in the next week. If anyone wants to pick it up, I'd be really happy: https://github.com/VSCodeVim/Vim/pull/544
https://github.com/aioutecism/amVim-for-VSCode
VSCodeVim was not that good at that time, but I haven't checked it recently for a fresh comparison. So make sure to also check out VSCodeVim in addition to amVim.
But Vim/Vi don't just have keybindings; they have modes. Emulating editor modes is a significant undertaking. It's not just a change to the settings file -- it requires a lot of programming work. I wouldn't hold my breath waiting for Microsoft to emulate Vim modes in VS Code. A plugin is your best bet.