Wing is a Python IDE that can be used to develop, test, and debug Python code running on Vagrant containers.
This document describes how to configure Wing for Vagrant. To get started using Wing as your Python IDE, please refer to the tutorial in Wing's Help menu or read the Quickstart Guide.
This guide assumes you have already installed and started using Vagrant. Wing supports working with Vagrant boxes running Linux (32-bit or 64-bit) or OS X. Other OS types, such as FreeBSD, won't work.
If you do not already have Wing installed, download it now.
Creating a Wing project for an existing Vagrant container is easy:
Once this is done, Wing should confirm that the remote agent installation is working. Then you can add files and directories and configure your project from the Project menu. You will be able to edit, debug, test, search, and manage files on the container, or launch commands running in the container from Wing's OS Commands tool.
To learn more about Wing's remote development capabilities, see Remote Hosts.
To learn more about Wing's features, take a look at the Tutorial or Quickstart Guide.
Wing uses vagrant ssh-config to inspect your Vagrant container and fill in the necessary settings in Wing's project file.
To see the settings that Wing created during New Project, take a look at Project Properties from the Project menu. The Python Executable was set to point to a remote host named vagrant. Click on Edit here or use Remote Hosts in the Project menu to access the remote host configuration. The values that Wing sets up are: Identifier, Hostname, and WINGHOME under the General tab, and SSH Port and Private Key under the Options tab. Settings these values manually achieves exactly the same results as using New Project.
The installation process will also add the Vagrant container's SSH host key as a known host in ~/.ssh/known_hosts (or in the registry if using PuTTY on Windows).
As far as Wing is concerned, all files and directories are located in the Vagrant container and Wing never accesses local copies of the files maintained by Vagrant's synchronization commands.
If you need to update your local copies of files for some other reason while working with Wing, run vagrant rsync, or set up continuous synchronization with vagrant rsync-auto.
Vagrant uses password-less private keys by default. If you want to use private keys with passwords, you'll need to load the key into the SSH user agent (ssh-agent or pageant for PuTTY) and change Options > Private Key in Wing's vagrant remote host configuration to Use SSH User Agent.