Wing IDE
   HOME

TheInfoList



OR:

The Wing Python IDE family of
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
s (IDEs) from Wingware was created specifically for the
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, with support for editing, testing, debugging, inspecting/browsing, and error checking Python code. There are three products in this product line, each focused on different types of users: * Wing Pro – a full-featured commercial version, for professional programmers * Wing Personal – a free version that omits some features, for students and hobbyists * Wing 101 – a very simplified free version, for teaching beginning programmers Wing Pro provides local and remote debugging, editing (with multiple key bindings, auto-completion, and auto-editing), multi-selection, source browser and code navigation,
code refactoring In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structur ...
, error checking, auto-reformatting,
unit testing In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&md ...
,
version control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
, project management, Python environment and package management, search abilities, fine-grained customization, support for Docker and LXC containers, assistance for working with third party frameworks and tools (such as Django, Flask, Matplotlib, Pandas, Blender, Maya, Unreal Engine, PyQt, wxPython, and others) extension through Python scripting, and comprehensive documentation. Wing Personal and Wing 101 omit some of these features. All three versions of Wing run on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
,
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
. Free licenses for Wing Pro are available on application for some educational uses and for unpaid
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
developers.


Debugger

The debugger can be used to track down and fix bugs, and also as a way to write new code interactively in the live runtime state for which the code is being designed. The level of the debugging support depends on the version used. Wing 101 supports: * Debug code launched from the IDE (as a file or module with 'python -m') * Interactive debugging from (and within) the integrated Python Shell * Exception and traceback reporting * View stack, locals/globals, and return values * Data frame and array viewer * Integrated Debug I/O tool with configurable text encoding * Optional native console I/O * Steps over importlib frames Wing Personal adds: * Multi-threaded debugging * Debug code launched outside of the IDE, including code running under a web framework or embedded instance of Python * Debug value tooltips * Alter debug data values * Define named entry points and debug launch configurations Wing Pro adds: * Interactive Debug Probe command line for inspecting the current debug frame, with auto-completion,
syntax highlighting Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms ...
, goto-definition, call tips, and documentation links * Multi-process and automatic child process debugging * Launch remote debug processes from the IDE * Conditional and ignore-counted breakpoints * Enable/disable breakpoints * Move debug program counter * Debug unit tests * How-Tos and extra features for Django,
Flask Flask may refer to: Container * Hip flask, a small container used to carry a small amount of liquid * Laboratory flask, laboratory glassware for holding larger volumes than simple test tubes ** Erlenmeyer flask, a common laboratory flask wit ...
,
Jupyter Project Jupyter () is a project with goals to develop open-source software, open standards, and services for interactive computing across multiple programming languages. It was spun off from IPython in 2014 by Fernando Pérez and Brian Granger. ...
, matplotlib,
web2py Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such a ...
,
Plone Plone is a free and open source content management system (CMS) built on top of the Zope application server. Plone is positioned as an enterprise CMS and is commonly used for intranets and as part of the web presence of large organizations. Hi ...
,
Zope Zope is a family of free and open-source web application servers written in Python, and their associated online community. Zope stands for "Z Object Publishing Environment", and was the first system using the now common object publishing methodol ...
, Docker, AWS,
Vagrant Vagrancy is the condition of homelessness without regular employment or income. Vagrants (also known as bums, vagabonds, rogues, tramps or drifters) usually live in poverty and support themselves by begging, scavenging, petty theft, temporar ...
,
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
,
Windows Subsystem for Linux Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
,
Blender A blender (sometimes called a mixer or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary blender consists of a blender container with a rotating me ...
,
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of g ...
, Nuke, and many others * Press Shift-Space to view the value of all symbols in the editor * Recursive debugging of code invoked in the context of another debug stack frame * Convenient Restart Debugging tool * Track values by reference * Evaluate expressions * Breakpoint manager * Debug process attach/detach * Inspect sys.modules * Mark a range of code in the editor for quick reevaluation in Python Shell or Debug Probe


Code intelligence

The code intelligence features speed up editing, facilitate navigation through code, and inspects code for errors. These features rely both on static analysis of Python code found in the project and on the Python Path, and on runtime analysis of code whenever the debugger is active or the code is active in the integrated Python Shell. The features available depend on product level: Wing 101 provides: * Auto-completer offers completions in Python code and in the integrated Python shell (this feature is disabled by default in Wing 101 but can be enabled in preferences) * Source index menus in each editor provide a handy index into source code * Goto-definition * Auto-indent * PEP8, Black, and YAPF reformatting * Syntax and indentation error indicators * Convert indents and end-of-line characters on paste * Understands PEP 484 and 526 type hinting Wing Personal adds: * Find Symbol: keyboard-driven goto-definition within current file or any project file * Auto-completion in non-Python files *
Indentation __FORCETOC__ In the written form of many languages, an indentation or indent is an empty space at the beginning of a line to signal the start of a new paragraph. Many computer languages have adopted this technique to designate "paragraphs" or o ...
analysis and conversion * Source Assistant: provides context-appropriate call signature and documentation with rendering of PEP287 docstrings * Class browser for single files or whole project Wing Pro adds: * Code Warnings tool *
Pylint Pylint is a static code analysis tool for the Python programming language. It is named following a common convention in Python of a "py" prefix, and a nod to the C programming lint program. It follows the style recommended by PEP 8, the Python s ...
, pep8 checker, mypy, and flake8 integrations * Module browser * Source Assistant includes standard library documentation links * Find all points of use of a symbol, filtering out different but like-named symbols * Find symbol by name, in current file or all project files * Refactoring: rename or move a symbol and update points of use, extract a range of code to a new function or method, or introduce a variable


Version control

Version control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
integration is available only in Wing Pro. It supports the following tools: *
git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
*
Mercurial Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux. Mercurial's major design goals include high performance and scalability, d ...
*
Perforce Perforce, legally Perforce Software, Inc., is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle man ...
* Subversion * CVS


Unit testing

Unit Testing In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&md ...
support is available only in Wing Pro. It supports running and debugging unit tests written for the unittest, pytest,
doctest doctest is a module included in the Python programming language's standard library that allows the easy generation of tests based on output from the standard Python interpreter shell, cut and pasted into docstrings. Implementation specifics Doc ...
, nose, and Django testing frameworks.


Remote development

Wing Pro also supports secure development on remote hosts, virtual machines, or containers hosted by Docker, Docker Compose, or LXC/LXD. Code on the remote system may be edited, debugged, tested, and managed from the IDE, as for locally stored files. Remote development also supports externally launched debugging.


Other features

Other features present in all the product levels include: * Editor emulates vim, emacs,
Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
, Eclipse,
XCode Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released in late 2003; the latest stable release is version 14.2, released on December 13, ...
, matlab, and
Brief Brief, briefs, or briefing may refer to: Documents * A letter * A briefing note * Papal brief, a papal letter less formal than a bull, sealed with the pope's signet ring or stamped with the device borne on this ring * Design brief, a type of ed ...
* Syntax highlighting for most programming languages, including
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
,
Django (web framework) Django ( ; sometimes stylized as django) is a free and open-source, Python-based web framework that follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent o ...
templates,
CoffeeScript CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehe ...
,
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaSc ...
/
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
, CSS,
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
, C/
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, and about 70 others * Integrated Python shell with auto-completion, syntax highlighting * Search within the current file * Configurable color palettes and user interface layout * Extensive documentation, How-Tos, and tutorial * German, French, and Russian UI localization Wing Personal adds: * Multi-select to simultaneously editing multiple parts of a file * Define custom key bindings * Create projects for different development tasks * Quickly open project files by name fragment * Add, delete, rename, and move files in the project * Create new virtualenv or Anaconda env projects * Project-wide and multi-file search * Regex and wildcard search * Search documentation Wing Pro adds: * Goto-definition, call tips, and documentation links in the integrated Python shell * Python environment creation with virtualenv, pipenv, conda, and Docker * Python package management with pip, pipenv, and conda * File add, delete, rename, and move operations track to the active revision control systems * Set and traverse bookmarks * Code snippets with recursive inline data entry * Perspectives for naming custom user interface layouts * Execute external commands in integrated OS Commands tool * Extend the IDE's functionality with Python scripts


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. Wing version 4.x and earlier were based on
GTK2 GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprie ...
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 https://wingware.com/news


See also

* List of integrated development environments for Python


References


External links

* {{DEFAULTSORT:Wing Ide Integrated development environments Python (programming language) development tools