Home » Support » Index of All Documentation »

Wing Pro Reference Manual

This manual documents the entire feature set of Wing Pro, which is a Python IDE designed for professional programmers.

It covers installation, customization, setting up a project, editing, searching, refactoring, comparing files and directories, navigating source code, using the integrated Python shell, executing operating system commands, unit testing, debugging, version control, code analysis, and extending the IDE with user-defined scripts.

Trouble-shooting information is also included, for installation and usage problems, as well as a complete reference for Wing Pro's preferences, command set, and available key bindings.

If you are looking for a gentler introduction to Wing's feature set, try the Tutorial in Wing's Help menu. A more concise overview of Wing's features is also available in the Quick Start Guide.

Our How-Tos collection explains how to use Wing with specific Python frameworks for web and GUI development, 2D and 3D modeling, rendering, and compositing applications, matplotlib, Raspberry Pi, and other Python-based libraries.

Wing Personal and Wing 101 are free versions of Wing that omit many of the features documented here. In those Python IDEs, the Wing Manual in the Help menu is an appropriately abridged version of this manual.


Wingware, the feather logo, Wing Python IDE, Wing Pro, Wing Personal, Wing 101, Wing IDE, Wing IDE 101, Wing IDE Personal, Wing IDE Professional, Wing IDE Pro, Wing Debugger, and "The Intelligent Development Environment for Python Programmers" are trademarks or registered trademarks of Wingware in the United States and other countries.

Disclaimers: The information contained in this document is subject to change without notice. Wingware shall not be liable for technical or editorial errors or omissions contained in this document; nor for incidental or consequential damages resulting from furnishing, performance, or use of this material.

Hardware and software products mentioned herein are named for identification purposes only and may be trademarks of their respective owners.

Copyright (c) 1999-2017 by Wingware. All rights reserved.

Wingware
P.O. Box 400527
Cambridge, MA  02140-0006
United States of America

Section Contents

Introduction
   1.0. Product Levels
   1.1. Licenses
   1.2. Supported Platforms
   1.3. Supported Python versions
   1.4. Technical Support
   1.5. Prerequisites for Installation
   1.6. Installing Wing
   1.7. Running Wing
   1.8. Installing your License
   1.9. User Settings Directory
   1.10. Upgrading
      1.10.0. Migrating From Older Versions
      1.10.1. Fixing a Failed Upgrade
   1.11. Installation Details and Options
      1.11.0. Linux Installation Notes
      1.11.1. Remote Display on Linux
      1.11.2. Installing Extra Documentation
      1.11.3. Source Code Installation
   1.12. Backing Up and Sharing Settings
   1.13. Removing Wing
   1.14. Command Line Usage

Customization
   2.0. Keyboard Personalities
      2.0.0. Key Equivalents
      2.0.1. Key Maps
      2.0.2. Key Names
   2.1. User Interface Options
      2.1.0. Display Style and Colors
      2.1.1. Windowing Policies
      2.1.2. User Interface Layout
      2.1.3. Altering Text Display
   2.2. Preferences
      2.2.0. Preferences File Layers
      2.2.1. Preferences File Format
   2.3. Syntax Coloring
   2.4. Perspectives
   2.5. File Filters

Project Manager
   3.0. Creating a Project
   3.1. Removing Files and Directories
   3.2. Saving the Project
   3.3. Sorting the View
   3.4. Navigating to Files
      3.4.0. Keyboard Navigation
   3.5. Sharing Projects
   3.6. Project-wide Properties
      3.6.0. Environment Variable Expansion
   3.7. Per-file Properties
   3.8. Launch Configurations
   3.9. Remote Hosts
      3.9.0. SSH Setup Details

Source Code Editor
   4.0. Syntax Colorization
   4.1. Right-click Editor Menu
   4.2. Navigating Source
   4.3. File status and read-only files
   4.4. Transient, Sticky, and Locked Editors
   4.5. Auto-completion
   4.6. Source Assistant
      4.6.0. Docstring Type and Validity
      4.6.1. Python Documentation Links
      4.6.2. Working with Runtime Type Information
      4.6.3. Source Assistant Options
   4.7. Auto-editing
   4.8. Multiple Selections
   4.9. Bookmarks
   4.10. File Sets
   4.11. Code Snippets
   4.12. Indentation
      4.12.0. How Indent Style is Determined
      4.12.1. Indentation Preferences
      4.12.2. Indentation Policy
      4.12.3. Auto-Indent
      4.12.4. The Tab Key
      4.12.5. Checking Indentation
      4.12.6. Changing Block Indentation
      4.12.7. Indentation Manager
   4.13. Folding
   4.14. Brace Matching
   4.15. Support for files in .zip or .egg files
   4.16. Keyboard Macros
   4.17. Notes on Copy/Paste
   4.18. Auto-reloading Changed Files
   4.19. Auto-save

Search/Replace
   5.0. Toolbar Quick Search
   5.1. Keyboard-driven Mini-Search/Replace
   5.2. Search Tool
   5.3. Search in Files Tool
      5.3.0. Replace in Multiple Files
   5.4. Find Points of Use
   5.5. Wildcard Search Syntax

Refactoring
   6.0. Rename Symbol
   6.1. Move Symbol
   6.2. Extract Function / Method
   6.3. Introduce Variable
   6.4. Symbol to *

Diff/Merge Tool

Source Code Browser
   8.0. Display Choices
   8.1. Display Filters
   8.2. Sorting the Browser Display
   8.3. Navigating the Views
   8.4. Browser Keyboard Navigation

Interactive Python Shell
   9.0. Active Ranges in the Python Shell
   9.1. Python Shell Auto-completion
   9.2. Debugging Code in the Python Shell
   9.3. Python Shell Options

OS Commands Tool
   10.0. OS Command Properties

Unit Testing
   11.0. Project Test Files
   11.1. Running Tests
   11.2. Running unittest Tests From the Command Line

Debugger
   12.0. Quick Start
   12.1. Specifying Main Entry Point
      12.1.0. Named Entry Points
   12.2. Debug Properties
   12.3. Setting Breakpoints
   12.4. Starting Debug
   12.5. Debugger Status
   12.6. Flow Control
   12.7. Viewing the Stack
   12.8. Viewing Debug Data
      12.8.0. Stack Data View
         12.8.0.0. Popup Menu Options
         12.8.0.1. Filtering Value Display
      12.8.1. Watching Values
      12.8.2. Evaluating Expressions
      12.8.3. Problems Handling Values
   12.9. Debug Process I/O
      12.9.0. External I/O Consoles
      12.9.1. Disabling Debug Process I/O Multiplexing
   12.10. Interactive Debug Probe
      12.10.0. Managing Program State
      12.10.1. Debugging Code Recursively
      12.10.2. Debug Probe Options
   12.11. Multi-Process Debugging
   12.12. Debugging Multi-threaded Code
   12.13. Managing Exceptions
   12.14. Running Without Debug

Advanced Debugging Topics
   13.0. Debugging Externally Launched Code
      13.0.0. Importing the Debugger
      13.0.1. Debug Server Configuration
      13.0.2. Debugger API
      13.0.3. Debugging Embedded Python Code
   13.1. Remote Debugging
      13.1.0. SSH Tunneling
      13.1.1. File Location Maps
         13.1.1.0. File Location Map Examples
      13.1.2. Remote Debugging Example
      13.1.3. Installing the Debugger Core
   13.2. Using wingdb to Initiate Debug
   13.3. Attaching and Detaching
      13.3.0. Access Control
      13.3.1. Detaching
      13.3.2. Attaching
      13.3.3. Identifying Foreign Processes
      13.3.4. Constraints
   13.4. Handling Large Values and Strings in the Debugger
   13.5. Debugging C/C++ and Python together
   13.6. Debugging Extension Modules on Linux/Unix
   13.7. OS X Debugging Notes
   13.8. Debugging Code with XGrab* Calls
   13.9. Debugging Non-Python Mainloops
   13.10. Debugging Code Running Under Py2exe
   13.11. Debugger Limitations

Integrated Version Control
   14.0. Setting Up Version Control in Wing
   14.1. Version Control Tool Panel
   14.2. Common Version Control Operations
   14.3. Bazaar
   14.4. CVS
   14.5. Git
   14.6. Mercurial
   14.7. Perforce
   14.8. Subversion
   14.9. Version Control Configuration
      14.9.0. Configuring SSH
      14.9.1. Configuring Subversion
      14.9.2. Configuring CVS

Source Code Analysis
   15.0. How Analysis Works
   15.1. Static Analysis Limitations
   15.2. Helping Wing Analyze Code
   15.3. Analysis Disk Cache

PyLint Integration

Scripting and Extending Wing
   17.0. Scripting Example
   17.1. Getting Started
   17.2. Script Syntax
   17.3. Scripting API
   17.4. Advanced Scripting

Trouble-shooting Guide
   18.0. Trouble-shooting Failure to Start
   18.1. Speeding up Wing
   18.2. Trouble-shooting Failure to Debug
      18.2.0. Failure to Start Debug
      18.2.1. Failure to Stop on Breakpoints or Show Source Code
      18.2.2. Failure to Stop on Exceptions
      18.2.3. Extra Debugger Exceptions
   18.3. Trouble-shooting Other Known Problems
   18.4. Obtaining Diagnostic Output

Preferences Reference

Command Reference
   20.0. Top-level Commands
   20.1. Project Manager Commands
   20.2. Editor Commands
   20.3. Search Manager Commands
   20.4. Unit Testing Commands
   20.5. Version Control Commands
   20.6. Debugger Commands
   20.7. Script-provided Add-on Commands

Key Binding Reference
   21.0. Wing IDE Personality
   21.1. Emacs Personality
   21.2. VI/VIM Personality
   21.3. Visual Studio Personality
   21.4. OS X Personality
   21.5. Eclipse Personality
   21.6. Brief Personality

License Information
   22.0. Wing Software License
   22.1. Open Source License Information

Wing Pro Reference Manual