For example, I don't have ruby installed on the remote dev box, but it is installed inside docker on the remote host. I also don't have ruby or docker running locally.
I think all the linting plugins either expect ruby to be available on the remote host, or inside docker, but not this combo... Is there something I'm missing? (disclaimer: only played a bit with VScode, I use vim on the remote box usually).
Yes, it can. https://code.visualstudio.com/docs/remote/containers-advance... talks about setting it up.
A new terminal in vscode is a terminal on the remote.
Only the client GUI is local.
If you want decent IOs, better than an old notebook, Azure is extremely expensive.
Originally I did this because of bad performance and bugs in WSL 1. I hear WSL 2 is better but I already have it all set up and it works great for me so I've just kept it.
Granted I work on Azure and the cost of the vm is not something I have to worry about.