Wing Pro Reference Manual

Index of All Documentation »


Wing Pro Screenshot

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

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, source code analysis, PyLint integration, remote development, 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 explain 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 and tools.

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

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. 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. Source Code Installation
    1.12. Backing Up and Sharing Settings
    1.13. Removing Wing
    1.14. Command Line Usage

Customization

    2.0. High Level Configuration Options
    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. Text Font and Size
    2.2. Keyboard Personalities
       2.2.0. Key Bindings
       2.2.1. Key Maps
       2.2.2. Key Names
    2.3. Preferences
       2.3.0. Preferences File Layers
       2.3.1. Preferences File Format
    2.4. Custom Syntax Coloring
    2.5. Perspectives
    2.6. File Filters

Project Manager

    3.0. Creating a Project
    3.1. Moving Projects
    3.2. Display Options
    3.3. Opening Files
    3.4. File Operations
    3.5. Creating, Renaming, and Deleting Files
    3.6. Project Properties
       3.6.0. Environment Variable Expansion
    3.7. File Properties
    3.8. Sharing Projects
    3.9. Launch Configurations

Source Code Editor

    4.0. Opening, Creating, and Closing Files
    4.1. File Status and Read-Only Files
    4.2. Transient, Sticky, and Locked Editors
    4.3. Editor Context Menu
    4.4. Navigating Source
    4.5. Source Assistant
    4.6. Folding
    4.7. Bookmarks
    4.8. Syntax Coloring
    4.9. Selecting Text
       4.9.0. Multiple Selections
    4.10. Copy/Paste
    4.11. Auto-completion
       4.11.0. Turbo Completion Mode for Python
       4.11.1. Auto-completion Icons
       4.11.2. How Auto-completion Works
    4.12. PEP 8 Reformatting
    4.13. Auto-Editing
    4.14. Code Snippets
       4.14.0. Snippet Syntax
       4.14.1. Snippets Directory Layout
    4.15. Indentation
       4.15.0. How Indent Style is Determined
       4.15.1. Indent Guides, Policies, and Warnings
       4.15.2. Auto-Indent
       4.15.3. The Tab Key
       4.15.4. Adjusting Indentation
       4.15.5. Indentation Tool
    4.16. Keyboard Macros
    4.17. Auto-Reloading Changed Files
    4.18. Auto-Save
    4.19. File Sets
    4.20. Other Editor Features

Search and Replace

    5.0. Toolbar Quick Search
    5.1. Keyboard-Driven Search and Replace
    5.2. Search Tool
    5.3. Search in Files Tool
    5.4. Find Points of Use
    5.5. Wildcard Search Syntax

Code Warnings and Quality Inspection

    6.0. Code Warnings Tool
    6.1. Warnings on the Editor
    6.2. External Code Quality Checkers

Refactoring

    7.0. Rename Symbol
    7.1. Move Symbol
    7.2. Extract Function / Method
    7.3. Introduce Variable
    7.4. Symbol to *

Difference and Merge

Source Code Browser

    9.0. Display Choices
    9.1. Symbol Types
    9.2. Display Filters
    9.3. Sorting the Display
    9.4. Navigating the Views

Integrated Python Shell

    10.0. Python Shell Environment
    10.1. Active Ranges in the Python Shell
    10.2. Debugging Code in the Python Shell
    10.3. Python Shell Options

OS Commands Tool

    11.0. OS Command Properties
    11.1. Sharing Projects with OS Commands

Unit Testing

    12.0. Project Test Files
    12.1. Running and Debugging Tests
    12.2. Running unittest Tests from the Command Line

Debugger

    13.0. Debugger Quick Start
    13.1. Debug Environment
    13.2. Named Entry Points
    13.3. Specifying Main Entry Point
    13.4. Setting Breakpoints
    13.5. Starting Debug
    13.6. Debugger Status
    13.7. Flow Control
    13.8. Viewing the Stack
    13.9. Viewing Debug Data
       13.9.0. Stack Data Tool
          13.9.0.0. Array, Data Frame, and Textual Data Views
          13.9.0.1. Stack Data Options Menu
          13.9.0.2. Stack Data Context Menu
          13.9.0.3. Filtering Value Display
          13.9.0.4. Advanced Data Display
       13.9.1. Viewing Data on the Editor
       13.9.2. Watching Values
       13.9.3. Evaluating Expressions
       13.9.4. Problems Handling Values
    13.10. Debug Process I/O
       13.10.0. External I/O Consoles
       13.10.1. Debug Process I/O Multiplexing
    13.11. Interactive Debug Console
       13.11.0. Managing Program State
       13.11.1. Debugging Code Recursively
       13.11.2. Debug Console Options
       13.11.3. Debug Console Limitations
    13.12. Multi-Process Debugging
       13.12.0. Debugging Child Processes
       13.12.1. Process Control
    13.13. Debugging Multi-threaded Code
    13.14. Managing Exceptions
    13.15. Running Without Debug

Advanced Debugging Topics

    14.0. Debugging Externally Launched Code
       14.0.0. Debugging Externally Launched Remote Code
       14.0.1. Externally Launched Process Behavior
       14.0.2. Debugging Embedded Python Code
       14.0.3. Configuring wingdbstub
       14.0.4. Debugger API
    14.1. Manually Configured Remote Debugging
       14.1.0. Manually Configuring SSH Tunneling
       14.1.1. Manually Configured File Location Maps
          14.1.1.0. Manually Configured File Location Map Examples
       14.1.2. Manually Configured Remote Debugging Example
       14.1.3. Manually Installing the Debugger
    14.2. Using wingdb to Initiate Debug
    14.3. Attaching and Detaching
    14.4. Debugging C/C++ and Python Together
       14.4.0. Debugging Extension Modules on Linux/Unix
    14.5. Debugging Non-Python Mainloops
    14.6. Debugging Code with XGrab* Calls
    14.7. Debugger Limitations

Integrated Version Control

    15.0. Setting Up Version Control in Wing
    15.1. Version Control Tools
    15.2. Common Version Control Operations
    15.3. Bazaar
    15.4. CVS
    15.5. Git
    15.6. Mercurial
    15.7. Perforce
    15.8. Subversion

Source Code Analysis

    16.0. How Analysis Works
    16.1. Helping Wing Analyze Code
       16.1.0. Setting the Correct Python Environment
       16.1.1. Using Live Runtime State
       16.1.2. Adding Type Hints
       16.1.3. Defining Interface Files
    16.2. Analysis Disk Cache

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. Remote Agent User Settings
    17.5. Specifying Environment for the Remote Python
    17.6. Manually Installing the Remote Agent
    17.7. SSH Setup Details
       17.7.0. Working With OpenSSH
       17.7.1. Working With PuTTY

Scripting and Extending Wing

    18.0. Scripting Example Tutorial
    18.1. Overview of the Scripting Framework
    18.2. Scripting API
    18.3. Script Syntax
       18.3.0. Script Attributes
       18.3.1. Adding Scripts to the GUI
       18.3.2. Argument Collection
       18.3.3. Importing Other Modules
       18.3.4. Internationalization and Localization
       18.3.5. Plugins
    18.4. Debugging Extension Scripts
    18.5. Advanced Scripting
    18.6. API Reference
       18.6.0. API Reference - Utilities
       18.6.1. API Reference - Application
       18.6.2. API Reference - Editor
       18.6.3. API Reference - Project
       18.6.4. API Reference - Debugger
       18.6.5. API Reference - Search
       18.6.6. API Reference - Analysis

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

Preferences Reference

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

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

License Information

    23.0. Wing Pro Software License
    23.1. Open Source License Information
    23.2. Privacy Policy