Wing IDE 6.0: December 20, 2016
Wingware has released version 6.0 of Wing IDE, our cross-platform integrated development environment for the Python programming language.
Wing IDE is a Python IDE with powerfully integrated editing, debugging, unit testing, and project management features. Wing runs on Windows, Linux, and OS X, to make all your Python development fast, accurate, and fun.
New in Wing IDE 6
Wing 6 is a major release with many new features.
Improved Multiple SelectionsWing Pro and Personal 6 make working with multiple selections on the editor much easier. The Edit > Multiple Selections menu and selections toolbar item can be used to select matching occurrences of text one at a time, or within the current block, function, method, class, or file. Once multiple selections are made, edits are applied to all of them.
For details, see the Multiple Selections.
Easy Remote DevelopmentWing Pro 6 adds the ability to connect to a remote host through a secure SSH tunnel in order to work with files stored remotely in the same way that Wing supports working with files on your local system.
This is done by setting up SSH access to a remote host outside of Wing IDE and then configuring the remote host from Wing's Project > Remote Hosts menu item and using that host for the Python Executable in Project Properties. Files and directories added to the project can be on any configured remote host, and the project file can be stored either remotely or locally. Editing, debugging, testing, searching, version control, Python Shell, OS Commands, and other features work with remote files as if they were stored locally.
For detailed instructions see Remote Hosts.
Debugging in the Python ShellAll product levels of Wing 6 make it possible to turn on debugging for code that is executed in the Python Shell. This is done by pressing the bug icon in the top right of the Python Shell tool. Once enabled, a breakpoint margin will appear and Wing's debugger will stop on any breakpoints and exceptions reached in code, either within the Python Shell tool or in source files.
For details see Debugging Code in the Python Shell. If you are debugging multi-threaded code from the shells, you will want to read and understand how threads are managed in this style of debugging.
Recursive DebuggingIn Wing Pro it is possible to debug code invoked from the Debug Probe, allowing for one level of recursive debugging.
The Python Shell and Debug Probe can also debug recursively to any depth by checking Enable Recursive Prompt in their Options menus. When enabled, Wing displays a new prompt whenever the debugged code reaches a breakpoint or exception, so that you can continue to interact with the paused debug process from the command line, optionally debugging other code in context of the currently selected debug stack frame. Continuing or stopping debug will exit one level of recursion rather than exiting the debug process entirely.
PEP 484 and PEP 526 Type HintsWing 6 can understand type hints in the style standardized by PEP 484 (Python 3.5+) and PEP 526 (Python 3.6+).
For details see Helping Wing Analyze Code.
Improved Raspberry Pi SupportWing Pro 6 makes it much easier to work with code on the Raspberry Pi, using the new remote development support to set up remote access to the Raspberry Pi.
For details, see Using Wing IDE with Raspberry Pi.
Annual License Option and Pricing ChangesWing 6 adds the option of purchasing a lower-cost expiring annual license for Wing IDE Pro. An annual license includes access to all available Wing IDE versions while it is valid, and then ceases to function if it is allowed to expire. Pricing for annual licenses is US$ 179/user for Commercial Use and US$ 69/user for Non-Commercial Use.
The cost of extending Support+Upgrades subscriptions on Non-Commercial Use perpetual licenses for Wing IDE Pro has been dropped from US$ 89 to US$ 39 per user.
For details, see the Wingware store.
Wing IDE Personal is Now FreeWing IDE Personal is now a free product and no longer requires a license to run. It now also includes the Source Browser, PyLint, and OS Commands tools, and supports the scripting API and Perspectives.
However, Wing Personal does not include Wing Pro's advanced editing, debugging, testing and code management features, such as remote host access, refactoring, find uses, version control, unit testing, interactive debug probe, multi-process and child process debugging, move program counter, conditional breakpoints, debug watch, framework-specific support (for matplotlib, Django, and others), find symbol in project, and other features.
Other ImprovementsWing 6 adds many other new features and improvements, including the following:
- Support for Python 3.6 and Stackless 3.4
- Optimized debugger, particularly for multi-threaded and multi-process code
- Support OS X full screen mode
- Restore editor selection after undo and redo
- Added One Dark color palette
- Support Move Program Counter in recent Python versions
- Holding modifier keys and clicking in the Key field for the Custom Key Bindings preference produces a binding (for example, Ctrl-Right-button-click) that can be bound to a command
- Better support for portable installs, by allowing auto-activation of a stored license and using --settings and --cache command line arguments to specify location of the settings and cache directories
- Always move breakpoints and Debug To Here positions to valid lines that will actually be reached by the Python interpreter
- Support for custom python builds on Windows
- Automatically find Python installations that follow PEP 514 on Windows
- Updated French localization (thanks to Jean Sanchez and Laurent Fasnacht)
- Updated German localization (thanks to Christoph Heitkamp)
Not all of these features are available in Wing IDE Personal and Wing IDE 101. See the feature matrix for details.
The change log on the downloads page contains a detailed list of all changes up to that release.
Wing 6 installs side by side with earlier versions of Wing, so there is no need to remove old versions in order to try Wing 6. Wing 6 will read and convert Wing 5 preferences, settings, and projects. Projects should be saved to a new name since earlier versions of Wing cannot read Wing 6 projects.
See Upgrading for details and Migrating from Older Versions for a list of compatibility notes.
More About Wing IDE
Wing IDE is an integrated development environment designed specifically for the Python programming language. It integrates powerful editing, testing, debugging, and project management features to help reduce development and debugging time, cut down on coding errors, and make it easier to understand and navigate Python code. Wing IDE can be used to develop any kind of Python code for web, GUI, embedded scripting, and other applications.
Wing IDE is available in three product levels: Wing IDE Professional is the full-featured Python IDE, Wing IDE Personal is a free alternative that offers a reduced feature set for students and hobbyists, and Wing IDE 101 is a very simplified free product designed for teaching beginning programming courses with Python.
Version 6 of Wing IDE Professional includes the following major features:
- Native user interface on OS X, Windows, and Linux
- Powerful code editor with vi, emacs, Visual Studio, Eclipse, XCode, and other keyboard personalities
- Code intelligence for Python: Auto-editing, auto-completion, call tips, find uses, goto-definition, error indicators, refactoring, find symbol, smart indent and rewrapping, source navigation, and support for PEP 484, PEP 526, and other type hinting styles
- Advanced multi-process and multi-threaded debugger with graphical UI, command line interaction, conditional breakpoints, data value tooltips, watch tool, move program counter, sharable launch configurations, named entry points, interactive Python shell debugging, recursive debugging, and externally launched and remote debugging
- Easy remote development via secure SSH tunnels
- Powerful search and replace options including keyboard driven and graphical UIs, multi-file, wild card, and regular expression search and replace
- Version control integration for Subversion, CVS, Bazaar, git, Mercurial, and Perforce
- Integrated unit testing with unittest, pytest, nose, doctest, and Django testing frameworks
- Many other features including project manager, multiple selections, bookmarks, recursive code snippets, diff/merge tool, integrated OS command invocation, indentation manager, PyLint integration, named file sets, and perspectives
- Extremely configurable and may be extended with Python scripts
- Extensive product documentation, tutorial, and How-Tos for Django, Flask, Google App Engine, matplotlib, Raspberry Pi, Plone, wxPython, PyQt, mod_wsgi, Autodesk Maya, blender, NUKE/NUKEX, and many other Python libraries and applications
- Django support: Debugs Django templates, provides project setup tools, and runs Django unit tests
For more information, see the Wing IDE product overview and the feature comparison for a detailed listing of features by product level.
System requirements are Windows 7 or later, OS X 10.7 or later, or a recent 64-bit Linux system. Wing IDE 6.0 supports Python versions 2.5 through 2.7 and 3.2 through 3.6 and Stackless Python.
Downloads
Wing IDE Pro -- A full-featured Python IDE. Requires a license to run, or obtain a free trial when you start the product.
Wing IDE Personal -- A free simplified IDE for students and hobbyists.
Wing IDE 101 -- A very simplified free IDE for teaching beginning programmers with Python.
Purchasing and Upgrading Wing Pro Licenses
Purchase a new license -- For Perpetual or Annual Use licenses for Wing IDE Pro version 6.x.
Upgrade a license -- For users of Wing Pro 5.x and earlier licenses that are not covered by Support+Upgrades.