Better support for Remote Development
VS Code has a feature called remote development, which lets you edit a workspace on another machine which you can access over, for example, SSH. This is useful for situations like an international pandemic where developers are forced to work from home, but have things that work better on their office machines.
If you try and use it with this extension, it works reasonably okayish - starting a debugging session will do so on a device connected to the remote machine and seems to work with about the same reliability as if you aren't doing anything remotely. It's even possible to make stuff happen with an Android device that's in front of you by running ADB over the network so that the remote machine can see the local Android device.
However, doing that is pretty cumbersome, and very slow. It would be preferable if (potentially as an off-by-default option) the APK would be copied to the local machine and the debugger started from there.
I don't know how complicated this would actually be in reality, but if it suddenly appeared as a feature and worked mostly reliably, it would be greatly appreciated.
Thanks for your suggestion. I need a bit more information to understand what the best solution is here (I've not used the remote development feature, so I'm unsure how it works.)
There are basically 3 processes that need to run and communicate:
- VSCode itself (editor, etc)
- The vscode android debugger
- The app (on the connected device)
I'm assuming in remote-development mode, 1. and 2. are running on the remote machine and 3. is a device connected to the remote machine.
So what is the ideal combination? If 1. is remote and 2. and 3. are local, then the debugger will need to send debugging status data to vscode over the network to the remote machine (this is likely to be slow, particularly when stepping).
If 1 and 2 are remote and 3 is local, the Java client on the device will need to send data over the network to the debugger on the remote machine (this is also likely to be slow).
The only option I can see working sensibly is to run everything locally (1, 2 and 3), but use a remote filesystem (network drive, etc) to access the workspace/files on the remote machine. This would make editing files slower (because the files need to be downloaded over the network), but everything else should work faster.
Thoughts welcome :slightly_smiling_face: