Wing Python IDE

The Intelligent Development Environment for Python



What's New in Wing 7

Wing 7 introduces an improved code warnings and code quality inspection system that features built in error detection and a tight integration with pylint, pep8, and mypy. This release also adds a new data frame and array viewer, a MATLAB keyboard personality, easy inline debug data display with Shift-Space, improved stack data display, support for PEP 3134 chained exceptions, callouts for search and other code navigation features, four new color palettes, improved bookmarking, a high-level configuration menu, magnified presentation mode, a new update manager, stepping over import internals, simplified remote agent installation, and much more.


Code Warnings and Quality Inspection (Wing Pro)

Wing 7's new code warnings and code quality inspection system focuses on early identification of real coding errors, including syntax errors, undefined variables and attributes, unresolved imports, unused symbols, and other types of errors. Warnings may also be obtained from external checkers such as pylint, pep8, and mypy. The new Code Warnings tool makes it easy to remove false positives and less useful warning types. Code warnings configurations may be stored in the project, in user settings, or in a sharable file. When code warnings are present, indicators are placed on the editor and a navigation icon is added in the top right of the editor. It is now also possible to configure the display style and colors for code warnings, from the Editor > Code Warnings preferences group.


Array and Data Frame Viewer

The new array viewer for debug data can work with very large data sets stored in Pandas DataFrames, numpy ndarrays, xarray.DataArrays, sqlite3 result sets, and Python lists, tuples, and dicts. Array-like and dict-like instances that implement __getitem__ may also be used with the array viewer, when the Debugger > Introspection > Allow Calls in Introspection preference is enabled. To use the array viewer, right click on an item in the Stack Data tool and select View as Array.


Shift-Space to Show Data in the Editor (Wing Pro)

Pressing Shift-Space while the debugger is active and paused displays the value of all visible symbols in the editor, using an overlay of tooltips. When possible, Wing places the tooltips so they do not obscure the underlying source code.


More Debugger Improvements

The Stack Data tool has been improved, by adding an option to hide __name__, __name, and/or _name style symbols, an option to hide memory addresses in values, and a way to set integer display mode from the tool's Options menu. PEP 3134 chained exception support was added to the Exceptions, Call Stack, Stack Data, and Testing tools, and in the toolbar and stack menus. It is now also possible to view dictionaries in sorted order.


Improved Bookmarking Support (Wing Pro)

The Bookmarks tool was redesigned to make it easier to use bookmarks to manage development tasks, by assigning categories, entering notes, and filtering bookmark display by category or text fragment. Other improvements include better tracking of bookmarks across externally made file changes, ability to share bookmark categories with other projects, export and import of bookmarks and bookmark categories, bookmark tooltips, and the addition of a toolbar and Options menu to the Bookmarks tool.




High-Level Configuration Menu

Wing 7 adds a high-level configuration menu in the top right of the window that makes it easier to toggle dark mode, change keyboard personality for editor emulation, show and hide the toolbar, and make other common configuration changes. On Windows and Linux, the menu bar may also be hidden and incorporated into this menu.


Presentation Mode

The new high-level configuration menu in the top right of the window also supports changing to and from Presentation Mode. This magnifies the UI by a configured scale factor, in order to make it more visible during talks and meetings. Wing 7 also improves support for high DPI displays.


New Update Manager

Once initially installed, Wing 7 can update itself to new versions without requiring download of an installer. Rollback to older versions is available from the About box, and updates may be generated for use on hosts that don't have internet access. This new system will allow us to make more frequent releases of minor features and bug fixes. Installers will still be made periodically, but more releases will be available only through the update manager.


Other Improvements

  • Support for Python 3.8
  • Search, goto-definition, find uses, and other features display callouts on the editor to make it easier to see the referenced text
  • Four new color palettes, Dracula, Positronic, Cherry Blossom, and Sun Steel, are now available (thanks in part to Daniel Hill)
  • The debugger steps over importlib code when Step Into is executed on an import statement
  • Wing includes typeshed to improve analysis of the Python standard library and some third party modules
  • A new MATLAB keyboard emulation personality has been added
  • Remote agent installation has been simplified (Wing Pro)
  • Code folding is now available also in YAML files
  • OS Commands can be shared among all projects (Wing Pro)
  • All documentation has been reviewed, rewritten, and updated
  • Next Tool and Previous Tool traversal from the Tools menu
  • Improved restoration of visual state in editors for files that change outside of Wing
  • Analysis support for super()
  • Partially updated German localization (thanks to Christoph Heitkamp)
  • Ability to specify provisional keys that time out in multi-key bindings
  • New auto-completer, project, and source browser icons
  • Support for macOS Dark Mode
  • Support for Windows 10 native OpenSSH for remote development (Wing Pro)
  • Wing now runs on Qt 5.12

Not all of these features are available in Wing Personal and Wing 101. See the product comparison for details.

The change log on the downloads page contains a detailed list of all changes up to that release.


Upgrading

If you are upgrading from Wing 6, See Upgrading for details and Migrating from Older Versions for a list of compatibility notes.


Try Wing 7 Today

Wing 7 is a an exciting new step for Wingware's Python IDE product line. Find out how Wing 7 can turbocharge your Python development by trying it today.

Try Wing Pro

Questions? Don't hesitate to email us at support@wingware.com