Myself I just got VSCode remote debug working and appreciate this MS contribution! https://code.visualstudio.com/docs/remote/remote-overview
See also VSCode Debugging for Frappe Python · frappe/erpnext Wiki · GitHub
While I am not Docker literate, KVM gets my vote - like VirtualBox, KVM supports snapshots that can be saved and restored, that are ideal to iterate and test.
Note too that KVM constantly saves current memory and file system state, so in the event the host environment crashes, the VM can be restarted and it’s state is intact to resume work.
I am currently figuring out Bringing back UI Tests using Cypress