Is all the vscode stuff required?
And by extension, with regard to make development inside a container a pleasant experience, VS Code is currently the only game in town. And I say that as someone who spent two decades getting comfortable with vim.
Ansible like tools could help you make the setup repeatable, but being containerized also avoids all the processor architecture and system libraries gotchas.