Wing Pro Reference Manual

Index of All Documentation »


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. Compare Products


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 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