vscode does three things extremely well: defaults, defaults and defaults. The most important ‘you just need M-x do-whatever after installing the whatever-doer package’ is supported out of the box (no details on purpose, try running emacs or vim without any config and compare to a clean fresh install of vscode).
I used Spacemacs for years and recommend it to others. It was fantastic in the early days, but the stability seems to have diminished. I encountered more bugs over time that I'd have to troubleshoot and fix myself.
I switched to Doom Emacs a couple of years ago. It's well-maintained with regular updates, fantastic language support, and lightning fast. The CLI tooling is also nice (i.e., you can run 'doom upgrade' to update everything, or 'doom doctor' if you encounter an issue).
It's the closest equivalent to VS Code in terms of working out of the box. Not to mention the advantages of Emacs with Vim keybindings. There is a learning curve, but the GitHub documentation is excellent.
Adding support for Ruby on Rails development, for example, is as simple as uncommenting '(ruby +rails +lsp)' line in the '~/.config/init.el' file, and then running 'doom sync'. There's a long list of supported languages and tooling [0].