Home » Key Features of Wing IDE »

"The best Python IDE. And I have tried them all!" -- Ahmed Ali

Wing IDE includes an industrial strength editor with extensive code intelligence support (described elsewhere) and many other features.

Editor Basics
Screencast: The Editor Basics (2:00) 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
Screencast: VI/Vim, Emacs, Visual Studio, OS X, and Brief Emulation (0:21) 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.
New in 4.x Refactoring
Screencast: Refactoring (1:14) 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
Screencast: Powerful Search Features (1:23) 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
Screencast: Live Snippets (1:26) 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
Screencast: Named Bookmarks (0:58) 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
Screencast: Structural Code Folding (0:42) 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
Screencast: Keyboard Macros (0:49) 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
Screencast: Evaluate File or Selection (1:08) 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.

« 1. Wing IDE Python Code IntelligenceKey Features of Wing IDE3. Wing IDE Python Debugger »

Wing IDE Python Editor