wingware-header-qt.png

Version 6.1.4-1

Wingware

www.wingware.com

January 16, 2019

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.


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-2019 by Wingware. All rights reserved.

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

Sub-sections:

  1. 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
  2. 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. Custom Syntax Coloring
    2.4. Perspectives
    2.5. File Filters
  3. 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
  4. Source Code Editor
    4.0. Syntax Coloring
    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. Goto Definition from Documentation
      4.6.2. Python Documentation Links
      4.6.3. Working with Runtime Type Information
      4.6.4. Source Assistant Options
    4.7. PEP 8 Reformatting
    4.8. Auto-editing
    4.9. Multiple Selections
    4.10. Bookmarks
    4.11. File Sets
    4.12. Code Snippets
    4.13. Indentation
      4.13.0. How Indent Style is Determined
      4.13.1. Indentation Preferences
      4.13.2. Indentation Policy
      4.13.3. Auto-Indent
      4.13.4. The Tab Key
      4.13.5. Checking Indentation
      4.13.6. Changing Block Indentation
      4.13.7. Indentation Manager
    4.14. Folding
    4.15. Brace Matching
    4.16. Support for files in .zip or .egg files
    4.17. Keyboard Macros
    4.18. Notes on Copy/Paste
    4.19. Auto-reloading Changed Files
    4.20. Auto-save
  5. 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
  6. Refactoring
    6.0. Rename Symbol
    6.1. Move Symbol
    6.2. Extract Function / Method
    6.3. Introduce Variable
    6.4. Symbol to *
  7. Diff/Merge Tool
  8. 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
  9. 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
  10. OS Commands Tool
    10.0. OS Command Properties
  11. Unit Testing
    11.0. Project Test Files
    11.1. Running and Debugging Tests
    11.2. Running unittest Tests From the Command Line
  12. 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.10.3. Debug Probe Limitations
    12.11. Multi-Process Debugging
    12.12. Debugging Multi-threaded Code
    12.13. Managing Exceptions
    12.14. Running Without Debug
  13. Advanced Debugging Topics
    13.0. Debugging Externally Launched Code
      13.0.0. Debugging Externally Launched Remote Code
      13.0.1. Externally Launched Process Behavior
      13.0.2. Debugging Embedded Python Code
      13.0.3. Debug Server Configuration
      13.0.4. Debugger API
    13.1. Manually Configured Remote Debugging
      13.1.0. Manually Configuring SSH Tunneling
      13.1.1. Manually Configured File Location Maps
        13.1.1.0. Manually Configured File Location Map Examples
      13.1.2. Manually Configured Remote Debugging Example
      13.1.3. Manually Installing the Debugger
    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
  14. 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
  15. Source Code Analysis
    15.0. How Analysis Works
    15.1. Static Analysis Limitations
    15.2. Helping Wing Analyze Code
    15.3. Analysis Disk Cache
  16. PyLint Integration
  17. Remote Development
    17.0. Setting up SSH for Remote Development
    17.1. Configuring Remote Hosts
    17.2. Setting up Remote Projects
    17.3. Remote Development Features
    17.4. SSH Setup Details
      17.4.0. Working With OpenSSH
      17.4.1. Working With PuTTY
    17.5. Specifying Environment for the Remote Python
    17.6. Manually Installing the Remote Agent
    17.7. Remote Agent User Settings
  18. Scripting and Extending Wing
    18.0. Scripting Example
    18.1. Getting Started
    18.2. Script Syntax
    18.3. Scripting API
    18.4. Debugging Extension Scripts
    18.5. Advanced Scripting
  19. Trouble-shooting Guide
    19.0. Trouble-shooting Failure to Start
    19.1. Speeding up Wing
    19.2. Trouble-shooting Failure to Debug
      19.2.0. Failure to Start Debug
      19.2.1. Failure to Stop on Breakpoints or Show Source Code
      19.2.2. Failure to Stop on Exceptions
      19.2.3. Extra Debugger Exceptions
    19.3. Trouble-shooting Other Known Problems
    19.4. Obtaining Diagnostic Output
  20. Preferences Reference
  21. Command Reference
    21.0. Top-level Commands
    21.1. Project Manager Commands
    21.2. Editor Commands
    21.3. Search Manager Commands
    21.4. Unit Testing Commands
    21.5. Version Control Commands
    21.6. Debugger Commands
    21.7. Script-provided Add-on Commands
  22. Key Binding Reference
    22.0. Wing Personality
    22.1. Emacs Personality
    22.2. VI/VIM Personality
    22.3. Visual Studio Personality
    22.4. OS X Personality
    22.5. Eclipse Personality
    22.6. Brief Personality
  23. License Information
    23.0. Wing Software License
    23.1. Open Source License Information