ReSharper 2021.2 Help

Search & Navigation

This page of ReSharper options allows you to adjust ReSharper's features related to navigation & search.

General

Enable 'Search Everywhere'If this checkbox is selected, the Search Everywhere/Go to Type command searches for types, symbols, and files; otherwise, it only searches for types.
Integrate Go to Text into Search Everywhere

By default, navigation to text is integrated into Search Everywhere Control+N — ReSharper will show textual occurrences matching the query string in the end of the results list, after all matching types, symbols, and files. You can disable this behavior by clearing this checkbox.

If this option is disabled, you can navigate to text by pressing Control+N three times.

Fuzzy results in Go to Text

When this checkbox is selected, Go to Text (Control+N 3 times) takes into account various typos and missing words.

Otherwise, only direct matches will ge listed in the results.

Remember last search

ReSharper can remember the last input that you used to find something with Search Everywhere/Go to Type, Go to Symbol, Go To File, and Go to Text actions. When this option is selected, ReSharper will also use your current selection in the editor as the initial search query. For example, you can select a filename in a string and then press Shift+Control+N to search for files in your solution that match this name.

Remember extended search preferencesSelect this option to remember search command options, such as Include library types in Go to Symbol, Include base members in Go to File Member, and Match case in Go to Text.
Go to Usage: if there is only one result, navigate without displaying the listIf this checkbox is selected and a single usage is found by the Go to Usage feature, the pointer is transferred to the usage right away.
Go to Base/Inheritor: if there is only one result, navigate without displaying the listIf this checkbox is selected and a single occurrence is found by either Go to Base Symbols or Go to Derived Symbols, the pointer is transferred to the occurrence right away.
Rich mouse navigation in the editor

If this checkbox is selected, you can navigate to declaration of a symbol by Ctrl -clicking any of its usages in the editor.

Go to Declaration with Ctrl+click

The main menu command and the Control+B shortcut stay available regardless of this setting.

Use Ctrl+Alt+Click for Go to Implementation

If this checkbox is selected, you will be able to navigate to implementation of a symbol by Ctrl+Alt -clicking symbols.

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 option if you use Visual Studio's multi-caret features.

The main menu command and the Control+Shift+Alt+B shortcuts stay available regardless of this setting.

Use Middle-Click to Go to DeclarationIf this checkbox is selected, you can navigate to declaration of a symbol using the middle mouse button.
Use Ctrl+Middle-Click to Peek UsagesIf this checkbox is selected, you will be able study symbol usages in the Peek Definition view by Ctrl -clicking the middle mouse button on its declaration or any of its usages in the editor.
Use Ctrl+Shift+Click to Peek DeclarationIf this checkbox is selected, you will be able to open the declaration of a symbol in the Peek Definition view by Ctrl+Shift -clicking any of its usages in the editor.
Use Ctrl+Alt+Middle-Click to Peek ImplementationsIf this checkbox is selected, you will be able to open implementations of a symbol in the Peek Definition view by Ctrl+Alt -clicking the middle mouse button on its declaration or any of its usages in the editor.
Open new files in preview tab from everywhereIf this checkbox is selected, every time a navigation or search command opens a new file, it opens in the Preview tab.
Smart Go to Declaration behavior

Use this selector to choose how the Go to declaration command Control+B behaves when the caret is already on a declaration. You have the following options:

  • Show Navigate To menu — displays the Navigate To menu with all navigation destinations contextually available on the declaration. This menu is also always available with Control+Shift+G.

  • Show Usages of Symbol popup — list all usages of the declared symbol. You can also always get the list of usages with the Usages of Symbol command Control+Alt+F7.

  • Iterate usages — adds the corresponding command to the navigation menu, which enables the 'usage iteration' mode designated with a small popup in the upper-left corner of the editor:

    Usage-aware behaviour of Go to Declaration

    In the 'usage iteration' mode, you can navigate through the symbol usages as follows:

    • Invoke Go to Declaration to go to the next usage, if any, and so on, subsequently navigating through all symbol usages. The total number of symbol usages in the solution appears in the usage iteration popup.

    • Use Next and Back buttons in the usage iteration popup Control+Alt+PageDown/ Control+Alt+PageUp to go to next and previous usages.

    • 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.

    • To navigate through symbol usages in the current document, click the Themed icon error stripe find next screen gray icon at the top of the marker bar.

  • Do nothing — Go to Declaration can only be invoked on symbol usages to go to its declaration.

Find generic type usages behaviorThis selector allows you to choose how the Find Usages feature searches for generic type usages.

When searching for usages of generic types such as IFoo<string>, you may actually want to find either all usages of IFoo<> or usages of the exact generic substitution IFoo<string> only.

Find Results window

Expand search results tree by defaultIf this checkbox is selected, whenever a ReSharper search feature (for example Find Usages or Structural Search and Replace) derives results that can be presented as a tree structure, all branches of that tree are expanded in the Find Results window.
Merge occurrences on a single lineIf this checkbox is enabled, several search matches on the same line are displayed as a single result in the search results list in the Find Results window
Open preview tab for selected itemIf this checkbox is selected, the files are opened in the Preview tab when you double-click the results in the Find Results window.

Elements to skip

In this section, you can specify a list of files, folders or file masks that will be ignored by navigation and search commands.

You can use the following wildcards in file masks:

  • ? to match one character

  • * to match one or more characters

  • ** to match files and folders recursively

Source browsing URIs

Upsource URI

If you use JetBrains Upsource for code review and repository browsing, you can specify a URI to your Upsource installation in this field. This will allow you to quickly copy the Upsource link for the current file using the Copy Fully-qualified Name feature.

If your project in Upsource corresponds to the Visual Studio solution name, the URI should be https://[yourUpsorceServer]/. If the Upsource project name differs, the URI should be https://[yourUpsorceServer]/[UpsourceProjectName]/.

Source Browsing URIIf you use Roslyn-based source browser for code repository browsing, you can specify a URI to your source browser installation in this field. This will allow you to quickly copy the source browser link for the current file using the Copy Fully-qualified Name feature.

Debugger integration options

Navigate to actual type in Go to Declaration

Use this selector to choose whether Go to declaration (Control+B or Ctrl -click) invoked in debug mode should navigate from usages of interface members to the exact implementations that are used in the current frame.

  • According to Visual Studio option — will navigate to the member implementation when the member is invoked on local variables, parameters, and fields that hold the interface type.

    If the Enable property evaluation and other implicit function calls option on the Debugging | General page of Visual Studio's options is enabled, navigation to the implementation will also work on properties that hold the interface type.

    If property evaluation is enabled, the getter of that property will be executed each time this action evaluates the actual type returned by a property.

    In most cases the getter only returns the underlying value, but it can also contain resource-intensive code, such as database calls.

  • Disabled — will always navigate to the member declaration in the interface.

  • Local variables — will navigate to the member implementation when the member is invoked on local variables and parameters that hold the interface type.

  • Local variables and fields — will navigate to the member implementation when the member is invoked on local variables, parameters, and fields that hold the interface type.

  • Local variables, fields, and properties — will navigate to the member implementation when the member is invoked on local variables, parameters, fields, and properties that hold the interface type.

    Similarly to According to Visual Studio option, beware of potential side effects of property evaluation.

Last modified: 05 October 2021