Home
»
Key Features of Wing IDE
»
"Wing IDE is very intuitive, yet filled with so many features I feel like an
kid in a candy store."
-- David A. Taylor, PhD, Mar 2010
Wing IDE includes an industrial strength editor with extensive code
intelligence support (described elsewhere)
and many other features.
Editor Basics
|
Wing provides syntax highlighting for over 60 different programming languages
and file types. This includes Python, HTML, CSS, Javascript, Django templates,
C/C++, Java, Ruby, Perl, and many others. The editor also supports tabs and
splits, auto-indentation, brace matching, block indentation changes, block
commenting, line and rectangular selection, intelligent rewrapping, visible
white space, indent guides, unlimited depth undo, line numbering, goto-line,
line oriented editing, insert file, and auto-save and restore. |
VI/Vim, Emacs, Visual Studio, OS X, and Brief Emulation
|
Wing IDE includes optional key bindings to emulate the most commonly used
editors, in order to provide a familiar editing experience to the user. Customizing
key bindings is also possible. For detail see
Editor Key Bindings. |
Refactoring
|
Wing IDE can refactor Python code, with support for renaming source
symbols, extracting code into a method or function, introducing a variable,
and moving the definition of a symbol, method, or function. Renaming works
across different modules and classes. Refactoring lets you work with your code
at a higher level and is more efficient than manually making edits. The
Refactoring tool makes it easy to initiate and undo the supported
operations. |
Powerful Search Features
|
Wing provides four search interfaces: Toolbar quick search, keyboard driven
interactive search, single-file search, and a multi-file search tool. The
latter can be used to search all project files, all open files, or sets of
files on disk. Searches may optionally be constrained by file type and can be
based on text, wildcard, or regular expression matching. The Search in Files
tool also supports multi-file replace and regular expression match/replace. |
Live Snippets
|
The Snippets tool can be used to define templates for commonly used coding
constructs. These are listed in the auto-completer and provide convenient
inline (within-editor) insertion of arguments. Snippets can be defined for
different file types and for different contexts in Python code.
For example, a class snippet can differ when entered at the module level or
within a function. Snippets are a great way to further reduce typing and to
easily comply with coding standards. |
Named Bookmarks
|
The bookmark manager allows you to set and traverse bookmarks in your code,
either as anonymous or named marks. Traversal can be in order within the
current or all files, by name, or by clicking on the Bookmarks tool.
In Python files, the marks are anchored to the symbolic scope and track changes
to the file even if they occur outside of Wing IDE. |
Structural Code Folding
|
Wing IDE can hide sections of code according to its structure, in order to
fold up portions of code that are not being worked on. In Python files, Wing
can fold up everything but top-level classes or their methods, which provides a
way to see an overview of the file contents and then drill down into points of
interest. |
Keyboard Macros
|
Keyboard macros can be defined to speed up certain types of repetitive
editing tasks. When combined with keyboard-driven mini-search this can be a
powerful technique for reformatting code. |
Evaluate File or Selection
|
Wing's editor lets you evaluate selected lines or whole files quickly in
the integrated Python Shell tool or Debug Probe. This is a useful way to test
code or to work through designing a fix for a bug. |