Editing with Wing Pro

"The autocompletion in Python code is so brilliant I think it's reading my mind"--Grzegorz Nosek

Wing's intelligent editor makes Python coding fast and easy. Powerful static and runtime
code analysis provide context-appropriate assistance throughout the editing experience.
Emulation for vi, emacs, Visual Studio, Eclipse, and XCode make it easy to get started
working with Wing.

Intelligent Auto-completion

Static and runtime analysis are combined to provide high quality context-appropriate
auto-completion in the editor and integrated Python shells. Wing's Source Assistant
continuously updates to display type information, inline documentation, call tips, and
links into Python documentation for the code that you write or visit.

Auto-editing

Invocation assistance auto-enters function and method arguments as you write code,
allowing you to tab through the invocation to quickly and correctly place your arguments.
Unchanged default arguments are automatically removed and the invocation is rewrapped
accordingly. Other configurable auto-editing operations include auto-closing parentheses
and quotes, auto-spacing optionally with PEP8 style, auto-fixup of out of order typing,
and managing blocks as new code is entered.

Refactoring

Refactoring is a way to quickly reorganize code without impacting its functionality. Wing
supports renaming and moving point of definition of symbols, extracting a new function or
method from existing code, introducing a variable for an existing expression, and changing
symbol naming style.

Multi-selection

Quickly make multiple selections of the same string, within a block, scope, or file, or by
clicking on the editor, in order to apply edits uniformly to all of the selections at
once.

Code Snippets

Code snippets offered in the editor's auto-completer allow rapid entry of standard code
templates and often-used structures. Fields in the snippets are entered by tabbing through
the code. The same snippet can take different forms depending on the context from which it
is invoked.

and Much More

Some of the many other editor features include bookmarks, macros, auto-reload of
externally changed files, indentation conversion, keyboard-driven text and regular
expression search and replace, line-oriented editing, brace matching, line numbering,
unlimited depth undo, and optionally visible white space. Custom editor features can be
added by writing Python scripts, which can appear in menus, the toolbar, or be bound to
keys.