The Wing IDE is an integrated development environment (IDE) from Wingware that is designed specifically for the programming language Python, to reduce development and debugging time, coding errors, and make it easier to understand and navigate Python code.
It provides local and remote debugging, editing (with multiple key bindings, auto-completion, and auto-editing), code intelligence, multi-selection, source browser and code navigation, code refactoring, unit testing, version control, Pylint integration, project management, search abilities, and extensive documentation.
Wing IDE is available in three product levels:
Wing IDE Professional – a full-featured commercial version
Wing IDE Personal – free version for students and hobbyists that omits some features
Wing IDE 101 – a very simplified free version for teaching beginning programmers
For details on features provided in each product see the feature matrix. All three versions of Wing IDE run on Windows, Mac OS X and Linux.
Free licenses for the Professional version are available on application for some educational uses and for unpaid open-source software developers, (see here).
The level of the debugging support depends on the version used.
The free, (101), version supports:
GUI, Web, and script debugging
Interactive debugging from (and within) the integrated Python Shell
Exception traceback reporting
View stack, locals/globals, and return value
Supports input() and raw_input()
Integrated debug process I/O with configurable text encoding
Native console I/O
The Personal Edition adds:
Multi-threaded debugging
Remote debugging
Debug value tooltips
Detect unhandled exceptions
Works with Django, web2py, Flask, Google App Engine, Plone, Turbogears, Zope and Plone
Alter debug data values
Multiple named entry points and debug launch configurations
And Professional includes:
Interactive debug probe with auto-completion, syntax highlighting, goto-definition, call tips, and documentation links
Recursive debugging to debug code invoked in the context of another debug stack frame, to any depth
Easy remote debug configuration
Convenient Restart Debugging tool
Track values by reference
Evaluate expressions
Conditional breakpoints
Ignore-counted breakpoints
Enable/disable breakpoints
Move debug program counter
Multi-process and automatic child process debugging
Debugs unit tests
Breakpoint manager
Process attach/detach
Inspect sys.modules
Debug Django template files
Remotely debug code running on Raspberry Pi
matplotlib mainloop support
Mark a range of code in the editor for quick reevaluation in Python Shell or Debug Probe
Auto-completer: offers completions both in the editor and in the integrated Python shells.
Source Assistant: provides context-appropriate call signature and source documentation in the editor and in the source browser.
Error indicators: flag bad code as you type.
Source browser: browse single files or whole project by module or class hierarchy.
Goto-definition: jump directly to point of definition.
Find Symbol: keyboard-driven goto-definition within current file or any project file.
Find Uses: find all points of use of a symbol, filtering out different but like-named symbols.
Refactoring: rename or move a symbol and update points of use, or extract a range of code to a new function or method.
Navigation menus: layered menus in each editor provide a handy index into source code.
Indentation analyzer: inspect, repair, and convert indentation style in source files. Wing's editor also auto-indents and block indents according to context.
Understands PEP 484 and 526 type hinting
Version control integration is available only in Wing IDE Professional. It supports:
Subversion,
CVS,
Bazaar,
git,
Mercurial, and
Perforce.
Emulates emacs, vim, Visual Studio, Eclipse, XCode, and Brief, and users can add custom key bindings
Multi-selections for simultaneous editing in multiple parts of a file
Syntax highlighting for Python, Django (web framework) templates, CoffeeScript, HTML/XML, CSS, JavaScript, C/C++, and about 70 other programming languages
Integrated Python shell with auto-completion, syntax highlighting, goto-definition, call tips, and documentation links
Search interfaces for keyboard or GUI-driven search in one or multiple files, using text matching, wild card, or regex searching
Unit testing integration runs and debugs tests written with the unittest, pytest, doctest, nose, and Django testing frameworks
Flexible GUI layout and color schemes
Project manager with project-wide search, quick project file open, and revision control integrated file management
Bookmarks
Code snippets with recursive inline data entry
Pylint integration
Configurable color palettes and user interface layout
Perspectives for naming custom GUI layouts
Execute external commands in integrated OS Commands tool
Extensive documentation, How-Tos, and tutorial
Extend the IDE's functionality with Python scripts
Volunteer-maintained German and French GUI localization
First public version of Wing IDE was released on 2000-09-07, as 1.0 beta, only for Linux.
First stable version was v1.0 for Linux, on 2000-12-01.
Corporate name change: Archaeopteryx Software Inc is now doing business as Wingware: March 29, 2004
Wing version 4.x and earlier were based on GTK2 and the OS X version required X11. Wing 5 changed to Qt4 via PySide and no longer uses X11 on OS X. Wing 6 moved to Qt5 with PyQt5.
The history of all releases to date can be found at http://wingware.com/news