Why do you need to share anything? Code goes through GitHub - VM has it's own repo clone, if you need data files, you mount them read-only in the VM, have a read-write mount for output data.
I'd like to be able to see and edit the code in an IDE
I'd like to be able to see and edit the code in an IDE