Wing IDE
Developer(s) | Wingware |
---|---|
Initial release | 1.0 beta / September 7, 2000 |
Stable release |
6.0.6-1
/ June 29, 2017 |
Written in | C, C++, Python |
Operating system | Windows, OS X, Linux |
Type | IDE for Python |
License | Proprietary |
Website |
www |
The Wing 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.
Product levels
Wing is available in three product levels:
- Wing Pro – a full-featured commercial version, for professional programmers
- Wing Personal – free version that omits some features, for students and hobbyists
- Wing 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 run on Windows, Mac OS X and Linux.
Free licenses for Wing Pro are available on application for some educational uses and for unpaid open-source software developers, (see here).
Debugging
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 Pro 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
Code intelligence
- 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
Version control integration is available only in Wing Pro. It supports:
Other features
- 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
History
First public version of Wing 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 [1]
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
See also
References
- ↑ "Wingware statement". wingware.com.