Source code hierarchy
warning
This feature is not available in the Educational edition of PyCharm.
PyCharm enables you to examine the hierarchy of classes, methods, and calls in the Hierarchy tool window, and explore the structure of source files in the Structure tool window.
Both the Hierarchy and the Structure tool windows are available from the View menu.
the Hierarchy tool window only becomes available, when a hierarchy is built.
Hierarchies are built in the Navigate menu.
In this part:
With PyCharm, you can examine the hierarchy of classes, methods, and calls and explore the structure of source files.
Build hierarchies
Type hierarchies show parent and child classes of a class.
Call hierarchies show callers (supertypes) or callees (subtypes) of a method.
When built, a hierarchy can be immediately viewed and examined in the Hierarchy tool window. By default, every new built hierarchy overwrites the contents of the current tab. You can retain the current tab and have the next hierarchy built in a new one.
Build a type hierarchy
Select the desired class in the Project tool window or open it in the editor.
From the main menu, select Navigate | Type Hierarchy or just press Ctrl+H.
Build a call hierarchy
Open a file in the editor and place the caret at the declaration or usage of the desired method.
Alternatively, select the desired method in the Project tool window.
From the main menu, select Navigate | Call Hierarchy or press Ctrl+Alt+H.
Retain a hierarchy tab
In the Hierarchy tool window, click the Pin Tab button
on the toolbar.
Viewing hierarchies
Open the Hierarchy tool window
Make sure, you have already built hierarchies to show, see Building hierarchies above.
Select View | Tool Windows | Hierarchy from the main menu.
Navigate between the tabs
Click the currently displayed tab and select the next one to display from the list.
Toggle between views
With PyCharm, you can build and explore ascending or descending hierarchies, that is, callee or caller methods, parent or children classes, and so on.
Click
or
to show caller methods or callee methods respectively.
Thanks for your feedback!