Code hierarchies
In addition to code analysis, ReSharper's code analysis allows you to investigate members by building hierarchies, call chains and value chains.
Call hierarchy
Call hierarchy shows callers (supertypes) or callees (subtypes) of a function.
To explore incoming calls, place the caret at any function. Then, from the main menu, choose Incoming Calls in the Inspect This list.
or press Control+Shift+Alt+A and chooseTo explore outgoing calls, place the caret at any function. Then, from the main menu, choose Outgoing Calls in the Inspect This list.
or press Control+Shift+Alt+A and choose
In the call tracking results window, you can double-click the hierarchy entry to navigate to the corresponding call in the editor or expand any node to check out their incoming/outgoing calls.
Type hierarchy
With ReSharper, you can investigate the inheritance hierarchy of types from your solution and from referenced libraries. You can see both base types and inheritors of the selected type and navigate to any of them with a mouse click. For more information, refer to Explore type hierarchy.
Hierarchy of includes
ReSharper allows you to visually analyze the hierarchy of includes for a single include directive or for a file.
To build the hierarchy of includes, place the caret to an #include
directive in a file or select a file in the Solution Explorer, and then press Control+Alt+H or choose from the menu.
You can double-click any file in the hierarchy to open it in the editor.
By default, child nodes of each file represent files included in this file, which corresponds to the Includee mode on the toolbar. You can switch to the Includers mode. In this mode, child nodes of a file represent files in the current scope that include this file.
For more information, refer to Analysis of Includes.