Go to Type Declaration
While the Go to Declaration command navigates you to the place where a symbol is declared, the Type Declaration command navigates to the declaration of the type of the currently selected symbol. For example, if you have a variable
Foo myVar = new Foo(); and invoke this command on a usage of
myVar, it will bring you to the declaration of the class
Foo. If you invoke this command on a function, it navigates to the function's return type.
For variables of generic types, this command allows you to navigate to the generic type declaration as well as to declarations of all generic parameters. For example, suppose you have a type
class MyGeneric<X, Y> and a variable of this type
var myGeneric = new MyGeneric<Author, Book>();. Invoking this command on any usage of
myGeneric, you will be able to choose the navigation destination between
You can invoke this command from the editor, from the Structure window and other tool windows.
To navigate to the type of a symbol
Place the caret on a symbol in the editor or select the symbol in the Structure tool window.
Press Ctrl+Shift+F11 or choosefrom the main menu. Alternatively, you can press Ctrl+Shift+A, start typing the command name in the popup, and then choose it there.
If the type of the symbol has only one declaration, JetBrains Rider will navigate to it directly.
- If there are several declarations (e.g. in case of a partial lass), they will be listed in the drop-down list. Do one of the following:
If the item you navigate to belongs to the current solution, JetBrains Rider opens the corresponding file in the editor and places the caret at the symbol declaration. If it is found in referenced libraries, JetBrains Rider decompiles the corresponding assembly and locates the symbol in the decompiled file.