Index of All Documentation


Wing Quick Start Guide

Wing Tutorial

1. Tutorial: Why Wing?
2. Tutorial: Getting Started
3. Tutorial: Using AI Agents
   3.0. Tutorial: Your First Agent Task
   3.1. Tutorial: Review and Commit
   3.2. Tutorial: Iterating with the Agent
   3.3. Tutorial: The Tasks Tool
   3.4. Tutorial: Tests as Agent Feedback
   3.5. Tutorial: Execute Mode and Session Reuse
   3.6. Tutorial: Working Safely
   3.7. Tutorial: Getting Reliable Results
4. Tutorial: Classic IDE Features
   4.0. Tutorial: Set Up a Project
   4.1. Tutorial: Check your Python Integration
   4.2. Tutorial: Setting Python Path
   4.3. Tutorial: Version Control Systems
   4.4. Tutorial: Code Warnings
   4.5. Tutorial: Unit Testing
   4.6. Tutorial: Debugging
      4.6.0. Tutorial: Execution Environment
      4.6.1. Tutorial: Debug I/O
      4.6.2. Tutorial: Debug Process Exception Reporting
      4.6.3. Tutorial: Interactive Debugging
      4.6.4. Tutorial: Debugging from the Python Shell
      4.6.5. Tutorial: Debugging Code Not Launched by the IDE
      4.6.6. Tutorial: Other Debugger Features
   4.7. Tutorial: Refactoring
   4.8. Tutorial: Introduction to the Editor
   4.9. Tutorial: Navigating Code
   4.10. Tutorial: Other Editor Features
   4.11. Tutorial: Auto-Editing
   4.12. Tutorial: Indentation Features
   4.13. Tutorial: Turbo Completion Mode
   4.14. Tutorial: Searching
      4.14.0. Tutorial: Toolbar Search
      4.14.1. Tutorial: Keyboard-Driven Search and Replace
      4.14.2. Tutorial: Search Tool
      4.14.3. Tutorial: Search in Files
   4.15. Tutorial: Other IDE Features
5. Tutorial: Further Reading

How-Tos

1. How-Tos for AI Agent-Assisted Development
   1.0. Using Wing with Claude Code
2. How-Tos for Specific Environments
   2.0. Using Wing with virtualenv
   2.1. Using Wing with pipenv
   2.2. Using Wing with pipenv
   2.3. Using Wing with Anaconda
   2.4. Using Wing with Docker
      2.4.0. Using an Existing Docker Container with Wing
      2.4.1. Creating a New Docker Container with Wing
      2.4.2. Remote Development via SSH to a Docker Instance
      2.4.3. Docker Configuration Example
      2.4.4. Configuration Details for Docker with Wing
   2.5. Using Wing with Docker Compose
   2.6. Using Wing with LXC/LXD Containers
   2.7. Using Wing with AWS
   2.8. Using Wing with Vagrant
   2.9. Using Wing with Windows Subsystem for Linux
   2.10. Using Wing with Raspberry Pi
   2.11. Using Wing with Cygwin
   2.12. Remote Python Development
3. How-Tos for Scientific and Engineering Tools
   3.0. Using Wing with Matplotlib
   3.1. Using Wing with Jupyter Notebooks
   3.2. Using Wing with PyXLL
4. How-Tos for Web Development
   4.0. Remote Web Development
   4.1. Using Wing with Django
   4.2. Using Wing with Flask
   4.3. Using Wing with Pyramid
   4.4. Using Wing with web2py
   4.5. Using Wing with mod_wsgi
5. How-Tos for GUI Development
   5.0. Using Wing with wxPython
   5.1. Using Wing with PyQt
   5.2. Using Wing with GTK and PyGObject
6. How-Tos for Modeling, Rendering, and Compositing Systems
   6.0. Using Wing with Blender
   6.1. Using Wing with Autodesk Maya
   6.2. Using Wing with NUKE and NUKEX
   6.3. Using Wing with Modo
   6.4. Using Wing with Unreal Engine
   6.5. Using Wing with Source Filmmaker
   6.6. Using Wing with pygame
7. Unmaintained How-Tos
   7.0. Using Wing with Twisted
   7.1. Using Wing with Plone
   7.2. Using Wing with Turbogears
   7.3. Using Wing with Google App Engine SDK for Python
   7.4. Using Wing with mod_python
   7.5. Debugging Code Running Under Py2exe
   7.6. Using Wing with IDA Python
   7.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. AI Agent-Assisted Development
   4.0. Setting Up Claude Code
   4.1. The Claude Code Tool
   4.2. AI Actions
   4.3. The Tasks Tool
   4.4. Configuration
   4.5. Using AI Agents Effectively
   4.6. AI Agent Safety
5. Package Manager
   5.0. Package Management Operations
   5.1. Package Manager Options
   5.2. Package Management with conda
   5.3. Package Management with pipenv
   5.4. Package Management with Poetry
   5.5. Package Management with uv
   5.6. Package Management Security
6. Source Code Editor
   6.0. Opening, Creating, and Closing Files
   6.1. File Status and Read-Only Files
   6.2. Transient, Sticky, and Locked Editors
   6.3. Editor Context Menu
   6.4. Navigating Source
   6.5. Source Assistant
   6.6. Folding
   6.7. Bookmarks
   6.8. Syntax Coloring
   6.9. Selecting Text
      6.9.0. Multiple Selections
   6.10. Copy/Paste
   6.11. Auto-completion
      6.11.0. Turbo Completion Mode for Python
      6.11.1. Auto-completion Icons
      6.11.2. How Auto-completion Works
   6.12. Auto-Editing
   6.13. Auto-Reformatting
      6.13.0. PEP 8 Reformatting Options
      6.13.1. Black Formatting Options
      6.13.2. Ruff Formatting Options
      6.13.3. YAPF Formatting Options
      6.13.4. Other Reformatters
   6.14. Code Snippets
      6.14.0. Snippet Syntax
      6.14.1. Snippets Directory Layout
   6.15. Indentation
      6.15.0. How Indent Style is Determined
      6.15.1. Indent Guides, Policies, and Warnings
      6.15.2. Auto-Indent
      6.15.3. The Tab Key
      6.15.4. Adjusting Indentation
      6.15.5. Indentation Tool
   6.16. Keyboard Macros
   6.17. Auto-Reloading Changed Files
   6.18. Auto-Save
   6.19. File Sets
   6.20. Other Editor Features
7. Search and Replace
   7.0. Toolbar Quick Search
   7.1. Keyboard-Driven Search and Replace
   7.2. Search Tool
   7.3. Search in Files Tool
   7.4. Find Points of Use
   7.5. Wildcard Search Syntax
8. Code Warnings and Quality Inspection
   8.0. Code Warnings Tool
   8.1. Warnings on the Editor
   8.2. Warnings Types
   8.3. Advanced Configuration
   8.4. External Code Quality Checkers
9. Refactoring
   9.0. Rename Symbol
   9.1. Move Symbol
   9.2. Delete Symbol
   9.3. Extract Function / Method
   9.4. Introduce Variable
   9.5. Add Import Statement
   9.6. Rename Current Module
   9.7. Symbol to *
   9.8. Imports Tool
10. Legacy AI Assisted Development
   10.0. AI Quick Start Guide
   10.1. AI Suggested Code Completion
   10.2. AI Coder Tool
   10.3. AI Chat Assistant
   10.4. Configuring AI Providers
      10.4.0. Running AI Models Locally
   10.5. AI Request Context
   10.6. Saved Requests
   10.7. Improving Results Obtained from AI Assisted Development
   10.8. Managing Cost
   10.9. AI Assisted Development Privacy and Data Protection
11. Difference and Merge
12. Source Code Browser
   12.0. Display Choices
   12.1. Symbol Types
   12.2. Display Filters
   12.3. Sorting the Display
   12.4. Navigating the Views
13. Integrated Python Shell
   13.0. Python Shell Environment
   13.1. Active Ranges in the Python Shell
   13.2. Debugging Code in the Python Shell
   13.3. Python Shell Options
14. OS Commands Tool
   14.0. OS Command Properties
   14.1. Sharing Projects with OS Commands
15. Unit Testing
   15.0. Project Test Files
   15.1. Running and Debugging Tests
   15.2. Code Coverage
      15.2.0. Coverage Configuration
      15.2.1. Code Coverage Environments
      15.2.2. Coverage Data Files
      15.2.3. How Code Coverage Works
   15.3. Running unittest Tests from the Command Line
16. Debugger
   16.0. Debugger Quick Start
   16.1. Debug Environment
   16.2. Named Entry Points
   16.3. Specifying Main Entry Point
   16.4. Setting Breakpoints
   16.5. Starting Debug
   16.6. Debugger Status
   16.7. Flow Control
   16.8. Viewing the Stack
   16.9. Viewing Debug Data
      16.9.0. Stack Data Tool
         16.9.0.0. Array, Data Frame, and Textual Data Views
         16.9.0.1. Stack Data Options Menu
         16.9.0.2. Stack Data Context Menu
         16.9.0.3. Filtering Value Display
         16.9.0.4. Advanced Data Display
      16.9.1. Viewing Data on the Editor
      16.9.2. Watching Values
      16.9.3. Evaluating Expressions
      16.9.4. Problems Handling Values
   16.10. Debug Process I/O
      16.10.0. External I/O Consoles
      16.10.1. Debug Process I/O Multiplexing
   16.11. Interactive Debug Console
      16.11.0. Managing Program State
      16.11.1. Debugging Code Recursively
      16.11.2. Debug Console Options
      16.11.3. Debug Console Limitations
   16.12. Multi-Process Debugging
      16.12.0. Debugging Child Processes
      16.12.1. Process Control
   16.13. Debugging Multi-threaded Code
   16.14. Managing Exceptions
   16.15. Running Without Debug
17. Advanced Debugging Topics
   17.0. Debugging Externally Launched Code
      17.0.0. Debugging Externally Launched Remote Code
      17.0.1. Externally Launched Process Behavior
      17.0.2. Debugging Embedded Python Code
      17.0.3. Configuring wingdbstub
      17.0.4. Starting Debug Automatically Using sitecustomize
      17.0.5. Debugger API
   17.1. Manually Configured Remote Debugging
      17.1.0. Manually Configuring SSH Tunneling
      17.1.1. File Location Maps
         17.1.1.0. Manually Configured File Location Maps
         17.1.1.1. Manually Configured File Location Map Examples
      17.1.2. Manually Configured Remote Debugging Example
      17.1.3. Manually Installing the Debugger
   17.2. Using wingdb to Initiate Debug
   17.3. Attaching and Detaching
   17.4. Debugging C/C++ and Python Together
      17.4.0. Debugging Extension Modules on Linux/Unix
   17.5. Debugging Non-Python Mainloops
   17.6. Debugging Linux Code with XGrab* Calls
   17.7. Debugger Limitations
18. Integrated Version Control
   18.0. Setting Up Version Control in Wing
   18.1. Version Control Tools
   18.2. Common Version Control Operations
   18.3. Git
   18.4. Mercurial
   18.5. Perforce
19. Source Code Analysis
   19.0. How Analysis Works
   19.1. Helping Wing Analyze Code
      19.1.0. Setting the Correct Python Environment
      19.1.1. Using Live Runtime State
      19.1.2. Adding Type Hints
      19.1.3. Defining Interface Files
      19.1.4. Helping Wing Analyze Cython Code
   19.2. Analysis Disk Cache
20. Working with Containers and Clusters
   20.0. Individual Containers
   20.1. Working with Clusters
   20.2. Containers Tool
21. Remote Development
   21.0. Setting up SSH for Remote Development
   21.1. Configuring Remote Hosts
   21.2. Setting up Remote Projects
   21.3. Remote Development Features
   21.4. Remote Agent User Settings
   21.5. Specifying Environment for the Remote Python
   21.6. Manually Installing the Remote Agent
   21.7. SSH Setup Details
      21.7.0. Working With OpenSSH
      21.7.1. Working With PuTTY
      21.7.2. Working With Wing's Built-In SSH Implementation
      21.7.3. Enabling Windows 10 OpenSSH Client
   21.8. Trouble-Shooting Remote Development Problems
22. Scripting and Extending Wing
   22.0. Scripting Example Tutorial
   22.1. Overview of the Scripting Framework
   22.2. Scripting API
   22.3. Script Syntax
      22.3.0. Script Attributes
      22.3.1. Adding Scripts to the GUI
      22.3.2. Argument Collection
      22.3.3. Importing Other Modules
      22.3.4. Internationalization and Localization
      22.3.5. Plugin Extensions
   22.4. Debugging Extension Scripts
   22.5. Advanced Scripting
   22.6. API Reference
      22.6.0. API Reference - Utilities
      22.6.1. API Reference - Application
      22.6.2. API Reference - Editor
      22.6.3. API Reference - Project
      22.6.4. API Reference - Debugger
      22.6.5. API Reference - Search
      22.6.6. API Reference - Analysis
23. IDE Plugins
   23.0. Container Plugins
   23.1. Cluster Plugins
24. Trouble-shooting Guide
   24.0. Trouble-shooting Failure to Start
   24.1. Speeding up Wing
   24.2. Trouble-shooting Failure to Debug
      24.2.0. Failure to Start Debug
      24.2.1. Failure to Stop on Breakpoints or Show Source Code
      24.2.2. Failure to Stop on Exceptions
      24.2.3. Extra Debugger Exceptions
   24.3. Trouble-shooting Other Known Problems
   24.4. Obtaining Diagnostic Output
25. Preferences Reference
26. Command Reference
   26.0. Top-level Commands
   26.1. Project Manager Commands
   26.2. Editor Commands
   26.3. Search Manager Commands
   26.4. Refactoring Commands
   26.5. Unit Testing Commands
   26.6. Version Control Commands
   26.7. Debugger Commands
   26.8. Script-provided Add-on Commands
27. Key Binding Reference
   27.0. Wing Personality
   27.1. Emacs Personality
   27.2. VI/VIM Personality
   27.3. Visual Studio Personality
   27.4. macOS Personality
   27.5. Eclipse Personality
   27.6. Brief Personality
28. License Information
   28.0. Wing Pro Software License
   28.1. Open Source License Information
   28.2. Privacy Policy