No. It doesn’t. You still need to install and configure plenty of 3rd party packages and tools that are completely outside of emacs. For C++, things like cscope, ctags (or maybe etags or gtags), clang autocomplete tooling, etc.
These, their dependencies and layouts, typically change from machine to machine, OS to OS, distribution to distribution and version to version. So placing it in your emacs config isn’t really portable.
Same for vscode? ex: if you want eslint, you install it from npm.
My experience with VS code has been a couple clicks for C++, Python (2 & 3), and a smattering of other languages and configuration files (YAML, cmake, etc.) on a fairly large (~1MLoC) enterprise code base.
Another click for remote editing over ssh.
No pain and most importantly no constant tinkering.
VS Code started very humbly a few years back and was useless to me because it only supported JavaScript and a couple other things with no plugins to speak of. It has since grown into a seriously powerful tool.
The 'one file' installs the other tools for you. At least mine does. I move between machines regularly, and when I do I just install emacs according to the recommended method for the particular OS and copy my init.el file to the new machine. All the packages I depend on are installed the first time I run emacs. And my init.el would be considered pretty basic by the standards of an advanced user.
You install something like spacemacs or doom emacs for vs code parity. And then it lazy loads packages based on the file type.
You enable features in config by uncommenting, and it auto installs.
If you could just copy one file and get all that, that's pretty cool.