ReSharper 2018.1 Help

Go to Derived Symbols

ReSharper | Navigate | Derived Symbols

This command gets the list of all derived symbols for the current symbol and lets you navigate directly to one of them, down the inheritance hierarchy. There is a similar command, Go to Implementation, which lists only implementations, without intermediate steps in the inheritance chain.

You can invoke this command from the editor, from the File Structure window and other tool windows. If necessary, you can navigate in the opposite direction with the Go to Base Symbols command.

To navigate to derived symbols

  1. Place the caret on a symbol in the editor or select the symbol in a tool window.
  2. Press Ctrl+Alt+B or choose ReSharper | Navigate | Derived Symbols from the main menu. Alternatively, you can press Ctrl+Shift+A, start typing the command name in the pop-up, and then choose it there.
  3. If the symbol has only one derived symbol, ReSharper navigates to it directly.
    If necessary, you can change the default behavior so that even the single symbol is displayed in the drop-down list. To do so, clear the Go to Base/Inheritor if there is only one... check box on the Environment | Search & Navigation page of ReSharper options.
  4. If there are several derived symbols, they will be shown in a drop-down list. The drop-down list may contain items in both bold and regular font. Bold indicates that an item has direct inheritance, while the regular font is used for indirect inheritance.
    You can do one of the following:
    • Click on the desired item to open it in the editor.
    • Select the desired item by pressing Up and Down and then press Enter to open it in the editor.
    • Start typing to filter results. Note that you can use CamelHumps here. If necessary, press Esc once to clear the filtering.
    • To view and analyze the list of matched items in the Find Results window, click Show in Find Results ThemedIcon SearchResults Screen Gray , press Shift+Enter or + on the numeric keypad.
    • To show the matched items on the type dependency diagram, press Alt+Num+ or click Show on Diagram ThemedIcon TypeLayoutAlt Screen Gray .

When a type or a member has inheritors in the current solution, you can see it by the presence of a special icon (for example, ThemedIcon HasOverrides Screen Gray ) that appears to the left of the declaration. You can click the icon to expand the list of derived symbols and navigate.

has overrides tooltip

To detect inheritors of members on the fly and to display the corresponding gutter mark, ReSharper has to perform some calculations. Large inheritance hierarchies with the combination of weak hardware could lead to some performance degradation. If this is the case, you can clear the Show gutter navigation marks for implemented and overridden members checkbox on the Environment | Editor | Editor Appearance page of ReSharper options to avoid complex calculations and thus improve performance.
On the other hand, on-the-fly calculation of type inheritors is much cheaper performance-wise and therefore is not disabled.

This feature is supported in the following languages and technologies:

Language: C# Language: VB.NET Language: C++ Language: HTML Language: ASP.NET Language: Razor Language: JavaScript Language: TypeScript Language: CSS Language: XML Language: XAML Language: Resx Language: Build Scripts Language: Protobuf Language: JSON
Feature is available Feature is available Feature is available Feature is not available Feature is available Feature is available Feature is not available Feature is available Feature is not available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.

Last modified: 20 August 2018

See Also