Set aspect ratio

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.




Reformatting with Black and YAPF

Wing 7.2 added support for Black and YAPF for code reformatting, in addition to the previously available built-in autopep8 reformatting. Reformatting options are available from the Source > Reformatting menu, and automatic reformatting may be configured in the Editor > Auto-reformatting preferences area. See Auto-Reformatting for details.


Improved Support for Virtualenv

Wing 7.2 improved support for virtualenv by allowing the command that activates the environment to be entered in the Python Executable in Project Properties, launch configurations, and when creating new projects. The New Project dialog now also includes the option to create a new virtualenv along with the new project, optionally specifying packages to install. See Using Wing with Virtualenv for details.


Support for Anaconda Environments

Wing 7.2 also added support for Anaconda environments, so the conda activate command can be entered when configuring the Python Executable, and the New Project dialog supports using an existing Anaconda environment or creating a new one along with the project. See Using Wing with Anaconda for details.


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 and 3.9
  • Easier debugging of modules launched with python -m
  • 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)
  • Support for Python 3 enums
  • Improved vi mode
  • Allow constraining Find Uses on imported symbols to the current file (Wing Pro)
  • Code folding is now available also in YAML, JSON, and .pyi and .pi files
  • New How-Tos for using Wing with Docker, AWS, and PyXLL (Wing Pro)
  • 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
  • Optional word wrapping for output in the Testing tool
  • Python Executable can be set to a command line
  • Easier manual configuration of remote debugging
  • Improved code warnings accuracy
  • Improved Debug I/O process management
  • Support for macOS Dark Mode
  • Support for macOS 10.15 (Catalina)
  • 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