But I use windows as my daily driver and what does work amazingly well for me is virtualbox and running a VM as my developer machine on it. I run Ubuntu server. And for developing, VS code has this amazing feature that allows one to connect to a remote and develop on it as if it's a local filesystem. This includes having extensions that interact with the remote too. This also means I don't do the whole shared folders dance with all its oddities around speed and syncing anymore. Honestly, it changed the whole windows dev game for me.
Once the new terminal for windows is actually v1 (not holding breath for that. Theres a lot of work for that. Its probably going to miss the winter v1 projection) I think the windows dev experience will be complete.