# Code hierarchies

In CLion, you can build the following hierarchies:

* Type hierarchy shows parent and children classes of a class. To build it, place the caret at the desired class in the editor and call `Navigate | Type Hierarchy` from the main menu (or press `Ctrl+H` (Windows), `⌃ H` (macOS), `⌃ H` (IntelliJ IDEA Classic (macOS)), `⌃ ⌥ H` (macOS System Shortcuts), `Ctrl+H` (XWin), `Ctrl+H` (GNOME), `Ctrl+H` (KDE), `Ctrl+H` (Emacs), `Ctrl+H` (Sublime Text), `Ctrl+H` (Sublime Text (macOS)), `⌃ H` (Xcode), `Ctrl+E, H` (Visual Studio), `⌘ E, H` (Visual Studio (macOS)), `Ctrl+Alt+H` (ReSharper), `⌘ ⌥ H` (ReSharper (macOS)), `Ctrl+Shift+T` (QtCreator), `⌃ ⇧ T` (QtCreator (macOS)), `Alt+Shift+F12` (NetBeans), `F4` (Eclipse), `F4` (Eclipse (macOS))). ![Type hierarchy](https://resources.jetbrains.com/help/img/idea/2026.2/cl_type_hierachy.png)

* Call hierarchy shows callers (supertypes) or callees (subtypes) of a function. To build it, select the function in the editor and call `Navigate | Call Hierarchy` from the main menu (or press `Ctrl+Alt+H` (Windows), `⌃ ⌥ H` (macOS), `⌃ ⌥ H` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ H` (macOS System Shortcuts), `Ctrl+Alt+H` (XWin), `Ctrl+Alt+H` (GNOME), `Ctrl+Alt+H` (KDE), `Ctrl+Alt+H` (Emacs), `Ctrl+Alt+H` (Sublime Text), `⌃ ⌥ H` (Sublime Text (macOS)), `⌃ ⌥ H` (Xcode), `Ctrl+Alt+H` (Visual Studio), `⌃ ⌥ H` (Visual Studio (macOS)), `Ctrl+Alt+H` (ReSharper), `Ctrl+Alt+H` (ReSharper (macOS)), `Ctrl+Alt+H` (QtCreator), `⌃ ⌥ H` (QtCreator (macOS)), `Ctrl+Alt+H` (NetBeans), `Ctrl+Alt+H` (Eclipse), `⌃ ⌥ H` (Eclipse (macOS))). ![Call hierarchy](https://resources.jetbrains.com/help/img/idea/2026.2/cl_call_hierarchy.png)

* Imports hierarchy shows where the current file is included and tracks all files included in the current file. To build it, open the file in the editor or select it in the Project view and call `Navigate | Imports Hierarchy` from the main menu (or press `Ctrl+Shift+I` (Windows), `Ctrl+Shift+I` (macOS), `Ctrl+Shift+I` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+I` (macOS System Shortcuts), `Ctrl+Shift+I` (XWin), `Ctrl+Shift+I` (GNOME), `Ctrl+Shift+I` (KDE), `Ctrl+Shift+I` (Emacs), `Ctrl+Shift+I` (Sublime Text), `Ctrl+Shift+I` (Sublime Text (macOS)), `Ctrl+Shift+I` (Xcode), `Ctrl+Shift+I` (Visual Studio), `Ctrl+Shift+I` (Visual Studio (macOS)), `Ctrl+Shift+I` (ReSharper), `Ctrl+Shift+I` (ReSharper (macOS)), `Ctrl+Shift+I` (QtCreator), `⌃ ⇧ I` (QtCreator (macOS)), `Ctrl+Shift+I` (NetBeans), `Ctrl+Shift+I` (Eclipse), `Ctrl+Shift+I` (Eclipse (macOS))). ![Import hierarchy](https://resources.jetbrains.com/help/img/idea/2026.2/cl_import_hierarchy.png)

Once built, hierarchies can be brought up for close examination in the [Hierarchy tool window](hierarchy-tool-window.html) (`View | Tool Windows | Hierarchy`).

You can retain the current tab and have the next hierarchy built in a new one.

> **Tip:**
> See [Icons and Symbols](icons-and-symbols.html#structure-icons) for descriptions of the Hierarchy view icons.

Procedure: Navigate between the tabs of the Hierarchy tool window

Do one of the following:

* Right-click the currently displayed tab, and choose `Select Next Tab`/`Select Previous Tab` on the context menu.

* Use the `Alt+Right` (Windows), `⌘ ⇧ ]` (macOS), `⌃ →` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ →` (macOS System Shortcuts), `Alt+Right` (XWin), `Alt+Right` (GNOME), `Alt+Right` (KDE), `Alt+Right` (Emacs), `Ctrl+Page Down` (Sublime Text), `⌘ ⇧ ]` (Sublime Text (macOS)), `⌘ ⇧ ]` (Xcode), `Alt+Right` (Visual Studio), `⌘ ⇧ ]` (Visual Studio (macOS)), `Alt+Right` (ReSharper), `⌘ ⇧ ]` (ReSharper (macOS)), `Alt+Right` (QtCreator), `Alt+Right` (QtCreator (macOS)), `Ctrl+Page Down` (NetBeans), `Ctrl+F6` (Eclipse), `⌘ F6` (Eclipse (macOS)) and `Alt+Left` (Windows), `⌘ ⇧ [` (macOS), `⌃ ←` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ←` (macOS System Shortcuts), `Alt+Left` (XWin), `Alt+Left` (GNOME), `Alt+Left` (KDE), `Alt+Left` (Emacs), `Ctrl+Page Up` (Sublime Text), `⌘ ⇧ [` (Sublime Text (macOS)), `⌘ ⇧ [` (Xcode), `Alt+Left` (Visual Studio), `⌘ ⇧ [` (Visual Studio (macOS)), `Alt+Left` (ReSharper), `⌘ ⇧ [` (ReSharper (macOS)), `Alt+Left` (QtCreator), `Alt+Left` (QtCreator (macOS)), `Ctrl+Page Up` (NetBeans), `Ctrl+Shift+F6` (Eclipse), `⌘ ⇧ F6` (Eclipse (macOS)) keyboard shortcuts.

* Click the currently displayed tab, and choose the next tab to display.

Procedure: Toggle between views

To show ascending or descending hierarchy (callee vs. caller methods, parent vs. children classes etc.), use the toolbar of the Hierarchy tool window:

* Click ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.hierarchy.supertypes.svg) to show supertypes.

* Click ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.hierarchy.subtypes.svg) to show subtypes.

