dotPeek 2021.1 Help

Go to Implementation

Navigate | Go to Implementation

This command lets you jump from a base type or member to any of its end implementations, bypassing intermediate steps in the inheritance chain. In other words, it works similar to Go to Derived Symbols but it does not show abstract classes and interfaces.

You can invoke this command from the Assembly Explorer, 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.

Navigate to implementation of a type or a type member

  1. Place the caret at a symbol in the code viewer or select the symbol in a tool window.

  2. Choose Navigate | Go To Implementation in the main menu, press Control+Shift+Alt+B, or click the symbol while holding Ctrl+Alt keys.

    Note that in Visual Studio 2017 and later, the Ctrl+Alt -click is used for adding multiple carets. So you may want to disable this binding by clearing the Use Ctrl+Alt click for Go to Implementation checkbox on the Environment | Search & Navigation page of dotPeek options Ctrl+Alt+S.

  3. If the symbol has only one implementation, dotPeek will navigate to it directly.

  4. If the symbol has several implementation, they will be listed in a drop-down. The 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 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 Themed icon search results screen gray, press Shift+Enter or + on the numeric keypad.

Here is an example of how Go to Implementation bypasses intermediate steps. Suppose that the IDocument interface has the following inheritors:

dotPeek: Go to implementation. Hierarchy
When you invoke the Go to Implementation upon the declaration or a usage of the IDocument, dotPeek shows only two inheritors:
dotPeek: Go to implementation. Drop-down list
That is because other classes are abstract and do not contain implementation of the IDocument.

This feature is inspired by and borrowed from JetBrains ReSharper, a developer productivity tool for Microsoft Visual Studio.

Last modified: 08 March 2021