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 pipenv
   1.3. Using Wing with Anaconda
   1.4. Using Wing Pro with Docker
      1.4.0. Using an Existing Docker Container with Wing Pro
      1.4.1. Creating a New Docker Container with Wing Pro
      1.4.2. Remote Development via SSH to a Docker Instance
      1.4.3. Docker Configuration Example
      1.4.4. Configuration Details for Docker with Wing Pro
   1.5. Using Wing Pro with Docker Compose
   1.6. Using Wing Pro with LXC/LXD Containers
   1.7. Using Wing Pro with AWS
   1.8. Using Wing with Vagrant
   1.9. Using Wing Pro with Windows Subsystem for Linux
   1.10. Using Wing with Raspberry Pi
   1.11. Using Wing with Cygwin
   1.12. 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 Modo
   5.4. Using Wing with Unreal Engine
   5.5. Using Wing with Source Filmmaker
   5.6. 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 Poetry
   4.3. Package Management with pipenv
   4.4. Package Management with conda
   4.5. 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. Ruff Formatting Options
      5.13.3. YAPF Formatting Options
      5.13.4. 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. AI Assisted Development
   9.0. AI Suggested Code Completion
   9.1. AI Driven Code Refactoring
   9.2. Description-Driven Development
   9.3. AI Chat Assistant
   9.4. Configuring the AI Provider
   9.5. AI Request Context
   9.6. Improving Results Obtained from AI Assisted Development
   9.7. Managing Cost
   9.8. AI Assisted Development Privacy and Data Protection
10. Difference and Merge
11. Source Code Browser
   11.0. Display Choices
   11.1. Symbol Types
   11.2. Display Filters
   11.3. Sorting the Display
   11.4. Navigating the Views
12. Integrated Python Shell
   12.0. Python Shell Environment
   12.1. Active Ranges in the Python Shell
   12.2. Debugging Code in the Python Shell
   12.3. Python Shell Options
13. OS Commands Tool
   13.0. OS Command Properties
   13.1. Sharing Projects with OS Commands
14. Unit Testing
   14.0. Project Test Files
   14.1. Running and Debugging Tests
   14.2. Code Coverage
      14.2.0. Coverage Configuration
      14.2.1. Code Coverage Environments
      14.2.2. Coverage Data Files
      14.2.3. How Code Coverage Works
   14.3. Running unittest Tests from the Command Line
15. Debugger
   15.0. Debugger Quick Start
   15.1. Debug Environment
   15.2. Named Entry Points
   15.3. Specifying Main Entry Point
   15.4. Setting Breakpoints
   15.5. Starting Debug
   15.6. Debugger Status
   15.7. Flow Control
   15.8. Viewing the Stack
   15.9. Viewing Debug Data
      15.9.0. Stack Data Tool
         15.9.0.0. Array, Data Frame, and Textual Data Views
         15.9.0.1. Stack Data Options Menu
         15.9.0.2. Stack Data Context Menu
         15.9.0.3. Filtering Value Display
         15.9.0.4. Advanced Data Display
      15.9.1. Viewing Data on the Editor
      15.9.2. Watching Values
      15.9.3. Evaluating Expressions
      15.9.4. Problems Handling Values
   15.10. Debug Process I/O
      15.10.0. External I/O Consoles
      15.10.1. Debug Process I/O Multiplexing
   15.11. Interactive Debug Console
      15.11.0. Managing Program State
      15.11.1. Debugging Code Recursively
      15.11.2. Debug Console Options
      15.11.3. Debug Console Limitations
   15.12. Multi-Process Debugging
      15.12.0. Debugging Child Processes
      15.12.1. Process Control
   15.13. Debugging Multi-threaded Code
   15.14. Managing Exceptions
   15.15. Running Without Debug
16. Advanced Debugging Topics
   16.0. Debugging Externally Launched Code
      16.0.0. Debugging Externally Launched Remote Code
      16.0.1. Externally Launched Process Behavior
      16.0.2. Debugging Embedded Python Code
      16.0.3. Configuring wingdbstub
      16.0.4. Starting Debug Automatically Using sitecustomize
      16.0.5. Debugger API
   16.1. Manually Configured Remote Debugging
      16.1.0. Manually Configuring SSH Tunneling
      16.1.1. File Location Maps
         16.1.1.0. Manually Configured File Location Maps
         16.1.1.1. Manually Configured File Location Map Examples
      16.1.2. Manually Configured Remote Debugging Example
      16.1.3. Manually Installing the Debugger
   16.2. Using wingdb to Initiate Debug
   16.3. Attaching and Detaching
   16.4. Debugging C/C++ and Python Together
      16.4.0. Debugging Extension Modules on Linux/Unix
   16.5. Debugging Non-Python Mainloops
   16.6. Debugging Linux Code with XGrab* Calls
   16.7. Debugger Limitations
17. Integrated Version Control
   17.0. Setting Up Version Control in Wing
   17.1. Version Control Tools
   17.2. Common Version Control Operations
   17.3. CVS
   17.4. Git
   17.5. Mercurial
   17.6. Perforce
   17.7. Subversion
18. Source Code Analysis
   18.0. How Analysis Works
   18.1. Helping Wing Analyze Code
      18.1.0. Setting the Correct Python Environment
      18.1.1. Using Live Runtime State
      18.1.2. Adding Type Hints
      18.1.3. Defining Interface Files
      18.1.4. Helping Wing Analyze Cython Code
   18.2. Analysis Disk Cache
19. Working with Containers and Clusters
   19.0. Individual Containers
   19.1. Working with Clusters
   19.2. Containers Tool
20. Remote Development
   20.0. Setting up SSH for Remote Development
   20.1. Configuring Remote Hosts
   20.2. Setting up Remote Projects
   20.3. Remote Development Features
   20.4. Remote Agent User Settings
   20.5. Specifying Environment for the Remote Python
   20.6. Manually Installing the Remote Agent
   20.7. SSH Setup Details
      20.7.0. Working With OpenSSH
      20.7.1. Working With PuTTY
      20.7.2. Working With Wing's Built-In SSH Implementation
      20.7.3. Enabling Windows 10 OpenSSH Client
   20.8. Trouble-Shooting Remote Development Problems
21. Scripting and Extending Wing
   21.0. Scripting Example Tutorial
   21.1. Overview of the Scripting Framework
   21.2. Scripting API
   21.3. Script Syntax
      21.3.0. Script Attributes
      21.3.1. Adding Scripts to the GUI
      21.3.2. Argument Collection
      21.3.3. Importing Other Modules
      21.3.4. Internationalization and Localization
      21.3.5. Plugin Extensions
   21.4. Debugging Extension Scripts
   21.5. Advanced Scripting
   21.6. API Reference
      21.6.0. API Reference - Utilities
      21.6.1. API Reference - Application
      21.6.2. API Reference - Editor
      21.6.3. API Reference - Project
      21.6.4. API Reference - Debugger
      21.6.5. API Reference - Search
      21.6.6. API Reference - Analysis
22. IDE Plugins
   22.0. Container Plugins
   22.1. Cluster Plugins
23. Trouble-shooting Guide
   23.0. Trouble-shooting Failure to Start
   23.1. Speeding up Wing
   23.2. Trouble-shooting Failure to Debug
      23.2.0. Failure to Start Debug
      23.2.1. Failure to Stop on Breakpoints or Show Source Code
      23.2.2. Failure to Stop on Exceptions
      23.2.3. Extra Debugger Exceptions
   23.3. Trouble-shooting Other Known Problems
   23.4. Obtaining Diagnostic Output
24. Preferences Reference
25. Command Reference
   25.0. Top-level Commands
   25.1. Project Manager Commands
   25.2. Editor Commands
   25.3. Search Manager Commands
   25.4. Refactoring Commands
   25.5. Unit Testing Commands
   25.6. Version Control Commands
   25.7. Debugger Commands
   25.8. Script-provided Add-on Commands
26. Key Binding Reference
   26.0. Wing Personality
   26.1. Emacs Personality
   26.2. VI/VIM Personality
   26.3. Visual Studio Personality
   26.4. macOS Personality
   26.5. Eclipse Personality
   26.6. Brief Personality
27. License Information
   27.0. Wing Pro Software License
   27.1. Open Source License Information
   27.2. Privacy Policy