Remote Development

Index of All Documentation » Wing Pro Reference Manual »


Wing Pro can work with Python code that is stored on a remote host, device, or container in the same way that you work with code stored locally. This includes editing, debugging, testing, searching, version control, running a Python shell, executing command lines, and project management.

Remote development is supported to OS X and Linux (Intel or ARM). A detailed list of supported remote host types is available in Supported Platforms. Wing Pro itself can be running on Windows, Linux, or OS X.

How it Works

Wing's remote development support works by installing a remote agent that carries out operations on the remote host. All communication to the remote host is over secure SSH tunnels, one to access the remote agent, and one for each debug process.

/images/doc/en/proj/remote-agent.png

Files are stored on the remote host, and everything you do is run on the remote host, including running tests, debugging, executing files and command lines, searching, and issuing version control operations.

The remote agent replaces the need for setting up file sharing to the remote host, manually establishing SSH tunnels, defining file location maps, and other manual configuration steps required for remote debugging in Wing 5 and earlier.

If you have used wingdbstub for manually configured remote debugging in the past, you can continue to use that approach. Or you can switch to the new approach, which supports both launching your remote debug process directly from Wing or continuing to use wingdbstub through the remote agent if you need to launch your code from outside of the IDE.

If you prefer to store the master copy of your code on your local system, you can do this as well by setting up file sharing to the remote host using Samba, NFS, or other method. However, you will still use the remote agent to access the files on the remote system, rather than opening them directly from local disk into the IDE.

Configuration Overview

There are several steps in setting up remote development:

1) Setting up SSH and connecting to it from Wing using an SSH user agent, so that connections can be made without asking for a password. Many developers already have this set up. Wing just invokes the ssh or plink command line tools that you may already be using.

2) Defining a remote host configuration to tell Wing about the remote host and how to access it.

3) Setting up a remote project in much the same way as is done for local projects.

These steps are detailed in the next three sections.

Section Contents