I'm currently switching from gvim to vscode and back again every five minutes, in order to use vscode's debugger --- it's gdb integration is the best I've seen
bar none [1][2]. If the vim emulation was good enough, I'd switch in a moment. Which, unfortunately, it's not, for me: the biggest omission is shift-Y/shift-P for yank and paste, which I use constantly, but there's holes everywhere.
(Also, the way the vscode's autopopup thingy grabs the escape key is really annoying, but I'm sure that's configurable.)
Two minor nitpicks:
[1] I haven't figured out how to make the debugger show a pointer as an array yet.
[2] I used to use ddd. By modern standards it's pretty rough, but it's data visualiser was unparalleled brilliance. (It allowed you to lay out structures on a canvas as boxes with arrows representing pointers.) I'd love to see that in vscode.