I'm using socket in Python with Visual Studio Code and I would like to have all of the files involved in the project be continuously copied and updated to a folder on the Raspberry Pi, which I have connected to using Putty so that I can run the programs on both devices simultaneously.

Obviously I could push and pull a GitHub repository but would it be possible to do it more efficiently, where a folder on my PC is cloned to a folder on my Pi without having to push from my PC and pull from my Pi manually every time?

Does Visual Studio Code have a feature that lets have 'multiplayer' code like on Repl.it? (Although repl.it gives you less control over the environment, isn't as reliable and requires an internet connection).

  • 1
    Maybe use remote editing feature in vscode to edit the code on the Pi directly? Anyway, this seems to be a question about vscode and unrelated to raspberry pi...
    – Dirk
    Feb 15, 2020 at 20:28

3 Answers 3


You can install samba on the Raspberry Pi and open a network share. MS Windows devices are able to connect to it so you can just have your files on the share and work with them.


I would recommend 'syncthing'. It's not instantaneous but usually provides near real-time synchronization.

More information at https://syncthing.net/

If you decide to install, the normal channel version tends to be a lower release so I recommend pulling from the syncthing repositories: Add "deb https://apt.syncthing.net/ syncthing release" to your sources list before doing an apt-get install. (Remembering to do an "apt-get update" first..)

Good Luck. It's a little tricky to get operational, requiring configuration on each system, but I've found it to be worthwhile. I'm using it for a five-way sync of my Desktop on five systems.


I have created an extension on the Visual Studio Marketplace that will allow you to sync your project from your computer to your Raspberry Pi quickly. It currently has 900 installs and I have never received an issue or complaint.

It requires minimal setup. In order to understand how the extension works, read the entire page here. The page will show you exactly what you must have set up before it will work in addition to its features and how to use them. Once you get the requirements set up (and there are links to resources detailing how to do it), the last step is installing the extension and editing the sync file. You must update the source (do not forget to use a cygdrive path if on Windows), destination, IP, and user.

One thing to note is that each time you want to sync, you must manually start it. In my experience, syncing only requires a couple seconds. If you really must have it sync automatically, feel free to fork the GitHub repository and edit it. If you do decide to edit it, the entire license is succinctly summarized at the top of the page here, and you can even send it back to me on GitHub if you wish it to be added to the original plugin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.