PyCharm 2019.3 Help

Viewing structure and hierarchy of the source code

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 children 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

  1. Select the desired class in the Project tool window or open it in the editor.

  2. From the main menu, select Navigate | Type Hierarchy or just press Ctrl+H.

    Class hierarchy shown in the Hierarchy Tool Window

Build a call hierarchy

  1. Open the 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.

  2. 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 Pin button on the toolbar.

Viewing hierarchies

Open the Hierarchy tool window

  1. Make sure, you have already built hierarchies to show, see Building hierarchies above.

  2. 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 the Caller Hierarchy toolbar button or the Callee Hierarchy toolbar button to show caller methods or callee methods respectively.

Hierarchy tool window buttons

Item

Description

Available In

the Class Hierarchy button

Shows both the parent and child classes of the selected class, which is marked with an arrow in the tree of results.

Class hierarchies

the Supertypes Hierarchy button Depending on the hierarchy type:
  • Class hierarchies: shows the hierarchy of each supertype of the current class.

  • Call hierarchies: shows the callers of the selected method.

Class hierarchies

Call hierarchies

the Subtypes Hierarchy button

Depending on the hierarchy type:

  • Class hierarchies: shows all classes that extend the selected class.

  • Call hierarchies: shows the callees of the selected method.

Class hierarchies

Call hierarchies

the Sort Alphabetically button

Sorts all elements within a tree alphabetically.

All hierarchies

Scope

Use this list to limit the scope of the current hierarchy:

  • Project: traces usages of the method across the project.

  • Test: traces usages of the method across the test classes.

  • All: traces usages of the method across the project and the libraries.

  • This class: limits the scope to the current class.

In addition to the preconfigured scopes, you can define your own one. To define a scope, select Configure from the list, and define the required scope in the Scopes dialog.

Call hierarchies

the Refresh button

Shows all updated classes or class structures.

All hierarchies

the Navigate with Single Click button

Moves to a file and a section in a source code that corresponds to the selected node in the hierarchy tree.

All hierarchies

the Expand All button

Expands all nodes.

All hierarchies

the Pin button

Locks the current tab from closing and reusing. Results of the next command are displayed in a new tab.

All hierarchies

the Export to Text File

Exports a hierarchy into a text file. You can specify a location for this file.

All hierarchies

the Close button

Closes the tool window.

All hierarchies

Last modified: 5 December 2019