Remote Development

Index of All Documentation » Wing Pro Reference Manual »


Wing Pro can work with Python code that is stored on a remote host or device in the same way that you work with code stored locally. This includes editing, debugging, testing, search, version control, Python Shell, OS Commands, and project management.

Remote development is supported to OS X and Linux (Intel or ARM). A detailed list of supported remote host types is on the Supported Platforms page. Wing Pro itself can be running on any of the supported OSes.

How it Works

Wing's remote development support works by installing a remote agent that it uses to carry 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

Notice that 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 required for remote debugging in previous versions of Wing.

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 using a remote host configuration, which supports both launching your remote debug process directly from Wing (see below) 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 file sharing 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 in the IDE.

Configuration Overview

There are several steps in setting up remote development:

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

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

3) Setting up a remote project -- Once SSH access is available and a remote host configuration has been created, you can set up a Wing project in much the same way as is done for local projects (but with some important differences).

These steps are detailed in the following three sections.

Section Contents