Navigating Code with Wing Pro

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

Wing uses static and runtime analysis to make it easy to navigate and understand Python code, even if it is unfamiliar or complex.

Goto-definition and Find Symbol

Wing can jump to a symbol's point of definition from any mention of that symbol in the editor or the integrated Python shells. The Find Symbol and Find Symbol in Project dialogs allow typing a fragment to find a symbol's definition. Each editor also displays symbol index menus for quick navigation within a file. Wing's automatic visit history makes it easy to return from any point of definition.

Find Points of Use

Wing can navigate and inspect all uses of a symbol in files in the project or on the Python Path. Code analysis is used to distinguish between different like-named symbols. Refactoring operations can be invoked to quickly rename all uses of a symbol or move a symbol's point of definition.

Source Assistant

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 in the editor, auto-completer, integrated Python Shell, Debug Console, and other tools. Wing understands PEP 484 and PEP 526 type annotations and it uses typeshed for standard library and covered third party module analysis.

Source Browser

The Source Browser can be used to navigate all your code by module or class hierarchy, either within the current file or all project files. Display any symbol in the editor or inspect its type and documentation in the Source Assistant.


Bookmarks can be set on code, to keep track of places of interest or code that needs attention later. Wing tracks bookmark position automatically, even if code changes outside of the IDE, by keeping track of where the marks are located relative to named scopes in the code. Bookmarks may be named, categorized, filtered, and traversed within a single file or all files.

Powerful Search Features

Wing can search and replace within a file, directory, or the whole project using text matching, wildcard, or regular expressions. Define file name and mime type filters to apply to any directory or the project, or search a custom named file set containing selected files. Wing provides several search interfaces appropriate for keyboard-driven single file or multi-file searching.