Index of All Documentation
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. Windowing Policies
2.1.1. User Interface Layout
2.1.2. 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. Perspectives
2.5. 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
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. 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. 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. Specifying Main Entry Point
15.3. Setting Breakpoints
15.4. Starting Debug
15.5. Debugger Status
15.6. Flow Control
15.7. Viewing the Stack
15.8. Viewing Debug Data
15.8.0. Stack Data Tool
15.8.0.0. Array, Data Frame, and Textual Data Views
15.8.0.1. Stack Data Options Menu
15.8.0.2. Stack Data Context Menu
15.8.0.3. Filtering Value Display
15.8.0.4. Advanced Data Display
15.8.1. Viewing Data on the Editor
15.8.2. Watching Values
15.8.3. Evaluating Expressions
15.8.4. Problems Handling Values
15.9. Debug Process I/O
15.9.0. External I/O Consoles
15.9.1. Debug Process I/O Multiplexing
15.10. Interactive Debug Console
15.10.0. Managing Program State
15.10.1. Debug Console Options
15.11. Multi-Process Debugging
15.11.0. Debugging Child Processes
15.11.1. Process Control
15.12. Debugging Multi-threaded Code
15.13. Managing Exceptions
15.14. 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. 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