Girish Mahajan (Editor)

Wing IDE

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Wingware

Operating system
  
Windows, OS X, Linux

Written in
  
Python, C, C++

Type
  
IDE for Python

Initial release
  
1.0 beta / September 7, 2000; 16 years ago (2000-09-07)

Stable release
  
6.0.3-1 / March 21, 2017; 5 days ago (2017-03-21)

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.

Contents

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 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).

    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 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
  • 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 IDE Professional. It supports:

  • Subversion,
  • CVS,
  • Bazaar,
  • git,
  • Mercurial, and
  • Perforce.
  • 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 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

    References

    Wing IDE Wikipedia