HOWEVER..
It has a killer feature if you are doing remote development.
It (mostly seamlessly) presents the remote (ssh, docker, wsl) as if it was local, and I've yet to see another editor do it as well and as cleanly.
So much so that when doing remote development I'm prepared to put aside VSCode's other shortcomings for the superior remote development experience.
For local development I still use vim+terminal, but if I'm in a situation where development needs to be done on a remote machine, the VSCode vim bindings are good enough that I'll probably be using VSCode.