Index of All Documentation


Wing Pro Quick Start Guide

Wing Pro Tutorial

1. Tutorial: Why Wing?
2. Tutorial: Getting Started
3. Tutorial: Getting Around Wing
4. Tutorial: Check your Python Integration
5. Tutorial: Set Up a Project
6. Tutorial: Setting Python Path
7. Tutorial: Introduction to the Editor
8. Tutorial: Navigating Code
9. Tutorial: Debugging
   9.0. Tutorial: Debug I/O
   9.1. Tutorial: Debug Process Exception Reporting
   9.2. Tutorial: Interactive Debugging
   9.3. Tutorial: Execution Environment
   9.4. Tutorial: Debugging from the Python Shell
   9.5. Tutorial: Debugging Code Not Launched by the IDE
   9.6. Tutorial: Other Debugger Features
10. Tutorial: Auto-Editing
11. Tutorial: Turbo Completion Mode
12. Tutorial: Code Warnings
13. Tutorial: Refactoring
14. Tutorial: Indentation Features
15. Tutorial: Other Editor Features
16. Tutorial: Unit Testing
17. Tutorial: Version Control Systems
18. Tutorial: Searching
   18.0. Tutorial: Toolbar Search
   18.1. Tutorial: Keyboard-Driven Search and Replace
   18.2. Tutorial: Search Tool
   18.3. Tutorial: Search in Files
19. Tutorial: Other IDE Features
20. Tutorial: Further Reading

How-Tos

1. How-Tos for Specific Environments
   1.0. Using Wing with virtualenv
   1.1. Using Wing with pipenv
   1.2. Using Wing with Anaconda
   1.3. Using Wing Pro with Docker
      1.3.0. Using an Existing Docker Container with Wing Pro
      1.3.1. Creating a New Docker Container with Wing Pro
      1.3.2. Remote Development via SSH to a Docker Instance
      1.3.3. Docker Configuration Example
      1.3.4. Configuration Details for Docker with Wing Pro
   1.4. Using Wing Pro with Docker Compose
   1.5. Using Wing Pro with LXC/LXD Containers
   1.6. Using Wing Pro with AWS
   1.7. Using Wing with Vagrant
   1.8. Using Wing Pro with Windows Subsystem for Linux
   1.9. Using Wing with Raspberry Pi
   1.10. Using Wing with Cygwin
   1.11. Remote Python Development
2. How-Tos for Scientific and Engineering Tools
   2.0. Using Wing with Matplotlib
   2.1. Using Wing with Jupyter Notebooks
   2.2. Using Wing with PyXLL
3. How-Tos for Web Development
   3.0. Remote Web Development
   3.1. Using Wing with Django
   3.2. Using Wing with Flask
   3.3. Using Wing with Pyramid
   3.4. Using Wing with web2py
   3.5. Using Wing with mod_wsgi
4. How-Tos for GUI Development
   4.0. Using Wing with wxPython
   4.1. Using Wing with PyQt
   4.2. Using Wing with GTK and PyGObject
5. How-Tos for Modeling, Rendering, and Compositing Systems
   5.0. Using Wing with Blender
   5.1. Using Wing with Autodesk Maya
   5.2. Using Wing with NUKE and NUKEX
   5.3. Using Wing with Unreal Engine
   5.4. Using Wing with Source Filmmaker
   5.5. Using Wing with pygame
6. Unmaintained How-Tos
   6.0. Using Wing with Twisted
   6.1. Using Wing with Plone
   6.2. Using Wing with Turbogears
   6.3. Using Wing with Google App Engine SDK for Python
   6.4. Using Wing with mod_python
   6.5. Debugging Code Running Under Py2exe
   6.6. Using Wing with IDA Python
   6.7. Using Wing with IronPython

Wing Pro Reference Manual

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. 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
2. 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
3. Project Manager
   3.0. Creating a Project
      3.0.0. Creating Python Environments
      3.0.1. About Project Configuration
   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
4. Package Manager
   4.0. Package Management Operations
   4.1. Package Manager Options
   4.2. Package Management with pipenv
   4.3. Package Management with conda
   4.4. Package Management Security
5. Source Code Editor
   5.0. Opening, Creating, and Closing Files
   5.1. File Status and Read-Only Files
   5.2. Transient, Sticky, and Locked Editors
   5.3. Editor Context Menu
   5.4. Navigating Source
   5.5. Source Assistant
   5.6. Folding
   5.7. Bookmarks
   5.8. Syntax Coloring
   5.9. Selecting Text
      5.9.0. Multiple Selections
   5.10. Copy/Paste
   5.11. Auto-completion
      5.11.0. Turbo Completion Mode for Python
      5.11.1. Auto-completion Icons
      5.11.2. How Auto-completion Works
   5.12. Auto-Editing
   5.13. Auto-Reformatting
      5.13.0. PEP 8 Reformatting Options
      5.13.1. Black Formatting Options
      5.13.2. YAPF Formatting Options
      5.13.3. Other Reformatters
   5.14. Code Snippets
      5.14.0. Snippet Syntax
      5.14.1. Snippets Directory Layout
   5.15. Indentation
      5.15.0. How Indent Style is Determined
      5.15.1. Indent Guides, Policies, and Warnings
      5.15.2. Auto-Indent
      5.15.3. The Tab Key
      5.15.4. Adjusting Indentation
      5.15.5. Indentation Tool
   5.16. Keyboard Macros
   5.17. Auto-Reloading Changed Files
   5.18. Auto-Save
   5.19. File Sets
   5.20. Other Editor Features
6. Search and Replace
   6.0. Toolbar Quick Search
   6.1. Keyboard-Driven Search and Replace
   6.2. Search Tool
   6.3. Search in Files Tool
   6.4. Find Points of Use
   6.5. Wildcard Search Syntax
7. Code Warnings and Quality Inspection
   7.0. Code Warnings Tool
   7.1. Warnings on the Editor
   7.2. Warnings Types
   7.3. Advanced Configuration
   7.4. External Code Quality Checkers
8. Refactoring
   8.0. Rename Symbol
   8.1. Move Symbol
   8.2. Delete Symbol
   8.3. Extract Function / Method
   8.4. Introduce Variable
   8.5. Add Import Statement
   8.6. Rename Current Module
   8.7. Symbol to *
   8.8. Imports Tool
9. Difference and Merge
10. Source Code Browser
   10.0. Display Choices
   10.1. Symbol Types
   10.2. Display Filters
   10.3. Sorting the Display
   10.4. Navigating the Views
11. Integrated Python Shell
   11.0. Python Shell Environment
   11.1. Active Ranges in the Python Shell
   11.2. Debugging Code in the Python Shell
   11.3. Python Shell Options
12. OS Commands Tool
   12.0. OS Command Properties
   12.1. Sharing Projects with OS Commands
13. Unit Testing
   13.0. Project Test Files
   13.1. Running and Debugging Tests
   13.2. Code Coverage
      13.2.0. Coverage Configuration
      13.2.1. Code Coverage Environments
      13.2.2. Coverage Data Files
      13.2.3. How Code Coverage Works
   13.3. Running unittest Tests from the Command Line
14. Debugger
   14.0. Debugger Quick Start
   14.1. Debug Environment
   14.2. Named Entry Points
   14.3. Specifying Main Entry Point
   14.4. Setting Breakpoints
   14.5. Starting Debug
   14.6. Debugger Status
   14.7. Flow Control
   14.8. Viewing the Stack
   14.9. Viewing Debug Data
      14.9.0. Stack Data Tool
         14.9.0.0. Array, Data Frame, and Textual Data Views
         14.9.0.1. Stack Data Options Menu
         14.9.0.2. Stack Data Context Menu
         14.9.0.3. Filtering Value Display
         14.9.0.4. Advanced Data Display
      14.9.1. Viewing Data on the Editor
      14.9.2. Watching Values
      14.9.3. Evaluating Expressions
      14.9.4. Problems Handling Values
   14.10. Debug Process I/O
      14.10.0. External I/O Consoles
      14.10.1. Debug Process I/O Multiplexing
   14.11. Interactive Debug Console
      14.11.0. Managing Program State
      14.11.1. Debugging Code Recursively
      14.11.2. Debug Console Options
      14.11.3. Debug Console Limitations
   14.12. Multi-Process Debugging
      14.12.0. Debugging Child Processes
      14.12.1. Process Control
   14.13. Debugging Multi-threaded Code
   14.14. Managing Exceptions
   14.15. Running Without Debug
15. Advanced Debugging Topics
   15.0. Debugging Externally Launched Code
      15.0.0. Debugging Externally Launched Remote Code
      15.0.1. Externally Launched Process Behavior
      15.0.2. Debugging Embedded Python Code
      15.0.3. Configuring wingdbstub
      15.0.4. Starting Debug Automatically Using sitecustomize
      15.0.5. Debugger API
   15.1. Manually Configured Remote Debugging
      15.1.0. Manually Configuring SSH Tunneling
      15.1.1. File Location Maps
         15.1.1.0. Manually Configured File Location Maps
         15.1.1.1. Manually Configured File Location Map Examples
      15.1.2. Manually Configured Remote Debugging Example
      15.1.3. Manually Installing the Debugger
   15.2. Using wingdb to Initiate Debug
   15.3. Attaching and Detaching
   15.4. Debugging C/C++ and Python Together
      15.4.0. Debugging Extension Modules on Linux/Unix
   15.5. Debugging Non-Python Mainloops
   15.6. Debugging Linux Code with XGrab* Calls
   15.7. Debugger Limitations
16. Integrated Version Control
   16.0. Setting Up Version Control in Wing
   16.1. Version Control Tools
   16.2. Common Version Control Operations
   16.3. CVS
   16.4. Git
   16.5. Mercurial
   16.6. Perforce
   16.7. Subversion
17. Source Code Analysis
   17.0. How Analysis Works
   17.1. Helping Wing Analyze Code
      17.1.0. Setting the Correct Python Environment
      17.1.1. Using Live Runtime State
      17.1.2. Adding Type Hints
      17.1.3. Defining Interface Files
      17.1.4. Helping Wing Analyze Cython Code
   17.2. Analysis Disk Cache
18. Working with Containers and Clusters
   18.0. Individual Containers
   18.1. Working with Clusters
   18.2. Containers Tool
19. Remote Development
   19.0. Setting up SSH for Remote Development
   19.1. Configuring Remote Hosts
   19.2. Setting up Remote Projects
   19.3. Remote Development Features
   19.4. Remote Agent User Settings
   19.5. Specifying Environment for the Remote Python
   19.6. Manually Installing the Remote Agent
   19.7. SSH Setup Details
      19.7.0. Working With OpenSSH
      19.7.1. Working With PuTTY
      19.7.2. Working With Wing's Built-In SSH Implementation
      19.7.3. Enabling Windows 10 OpenSSH Client
   19.8. Trouble-Shooting Remote Development Problems
20. Scripting and Extending Wing
   20.0. Scripting Example Tutorial
   20.1. Overview of the Scripting Framework
   20.2. Scripting API
   20.3. Script Syntax
      20.3.0. Script Attributes
      20.3.1. Adding Scripts to the GUI
      20.3.2. Argument Collection
      20.3.3. Importing Other Modules
      20.3.4. Internationalization and Localization
      20.3.5. Plugin Extensions
   20.4. Debugging Extension Scripts
   20.5. Advanced Scripting
   20.6. API Reference
      20.6.0. API Reference - Utilities
      20.6.1. API Reference - Application
      20.6.2. API Reference - Editor
      20.6.3. API Reference - Project
      20.6.4. API Reference - Debugger
      20.6.5. API Reference - Search
      20.6.6. API Reference - Analysis
21. IDE Plugins
   21.0. Container Plugins
   21.1. Cluster Plugins
22. Trouble-shooting Guide
   22.0. Trouble-shooting Failure to Start
   22.1. Speeding up Wing
   22.2. Trouble-shooting Failure to Debug
      22.2.0. Failure to Start Debug
      22.2.1. Failure to Stop on Breakpoints or Show Source Code
      22.2.2. Failure to Stop on Exceptions
      22.2.3. Extra Debugger Exceptions
   22.3. Trouble-shooting Other Known Problems
   22.4. Obtaining Diagnostic Output
23. Preferences Reference
24. Command Reference
   24.0. Top-level Commands
   24.1. Project Manager Commands
   24.2. Editor Commands
   24.3. Search Manager Commands
   24.4. Refactoring Commands
   24.5. Unit Testing Commands
   24.6. Version Control Commands
   24.7. Debugger Commands
   24.8. Script-provided Add-on Commands
25. Key Binding Reference
   25.0. Wing Personality
   25.1. Emacs Personality
   25.2. VI/VIM Personality
   25.3. Visual Studio Personality
   25.4. macOS Personality
   25.5. Eclipse Personality
   25.6. Brief Personality
26. License Information
   26.0. Wing Pro Software License
   26.1. Open Source License Information
   26.2. Privacy Policy