Navigate inheritance hierarchy with gutter marks
For types and type members that have base symbols or inheritors elsewhere in the solution and referenced assemblies, JetBrains Rider shows gutter icons that let you navigate up and down the inheritance hierarchy:
The following icons indicate base symbols and inheritors in different cases:
The interface or the interface member has implementations; you can navigate to these implementations. | |
The class has derived classes or the class member is overridden elsewhere; you can navigate to these inheritors and overrides. | |
The member hides another member from a base type; you can navigate to the hidden member. | |
The member hides one member and implements another member from the inheritance hierarchy; you can navigate to both the hidden and the overridden members. | |
The type or type member implements an interface; you can navigate to the interface type or member. | |
The member implements an interface member that has a default implementation and you can navigate to it. | |
The class is inherited from another class or the class member overrides a virtual or abstract member; you can navigate to the base class or member. | |
The class implements an interface and inherits from a base class, or the member overrides a virtual or abstract member, which implements an interface member; you can navigate to the overridden and implemented types or members. |
You can hover over it to see the quick summary and click icons to navigate. If there is a single base or inherited symbol, JetBrains Rider will navigate directly to that symbol; if there are multiple results, you will be able to choose the target from the list.
If you prefer using the keyboard, place the caret at a line that has a gutter mark, press Alt+Enter, and pick the navigation action from the menu. Alternatively, you can use the dedicated navigation commands:
Go to Base Symbols Control+U to navigate to base types or members.
Go to Derived Symbols Control+N, K to list all derived symbols for a type or a member and navigate directly to one of them.
Go to Implementation Control+N, K to find actual implementations of types and members bypassing intermediate steps in the inheritance hierarchy.