Wing IDE Python Editor
"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.
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.
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.
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.
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 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