ReSharper 2020.2 Help

Search Everywhere/Go to Type

ReSharper | Navigate | Search Everywhere / Go to Type…

This command combines two different features:

  • Search Everywhere, which appears first, allows you to navigate to the following destinations: types, symbols, files, string literals in source and textual files, recent edits, recent files, and recently viewed methods. The list of suggestions appears as soon as you invoke this feature and initially includes your recent files and navigated items.

  • Go to Type, which appears the second time you press Control+N or invoke the command from the menu, allows you to navigate to any type.

By default, navigation to text is integrated into Search Everywhere— 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 Integrate Go to Text into Search Everywhere on the Environment | Search & Navigation page of ReSharper options .
If this option is disabled, you can navigate to text by pressing Control+N three times.

Using these features you can search items in symbols and files in your entire solution as well as all assemblies referenced in the projects of your solution. Search results also include matching items from all assemblies that are currently loaded in the Assembly Explorer window.

Note that this command works in global scope, that is you do not need to bring your focus to the editor to invoke it.

Search everywhere or locate a type

  1. Press Control+N or choose ReSharper | Navigate | Search Everywhere / Go to Type… from the main menu . Alternatively, you can press Control+Shift+A, start typing the command name in the popup, and then choose it there.

  2. In the Search Everywhere list that appears, start typing the item name. As you type, the list of items narrows down, suggesting names that match the entered substring.

    If you have a full or a relative path to a solution file in the clipboard — for example, if you copied it from a CLI server — you can paste the path to the input field of the popup.

  3. To further narrow down the list of items, you can type / to apply filters. For example, you can type /me to display only events. Note that you can type filters both before and after your search query.

  4. To switch to the Go to Type feature, click the menu command or press the shortcut once again. The Enter type name list appears where you can specify a type you are looking for.

  5. Optionally, select Include library types or press Alt+N to display matching items from libraries referenced in the solution.
    By default, as long as your input matches something in your solution, only solution items are displayed. If there are no matches for your input in the solution, ReSharper starts looking for matching library types automatically.

  6. Do one of the following:

If the item you navigate to belongs to the current solution, ReSharper opens the corresponding file in the editor and places the caret at the symbol declaration. If it is in referenced libraries, ReSharper navigates according to the settings defined on the Tools | External Sources page of ReSharper options (Alt+R O).

You can narrow down the list of items using CamelHumps. It is case-insensitive, so there is no difference between rtbf and RTBF. ReSharper always shows recently visited items at top of the list and highlights them in green.

ReSharper: CamelHumps in search

ReSharper can also find items that match parts of the query in any order. For example, a search for exactMatching will match isMatchingExactly.

ReSharper: Fuzzy matching search items

If you want to search for an exact match, use quotes: looking up "Collection" will return Collection but will not return FilteredCollection, IterateCollection(), and so on. However, while using exact search to filter out compound names, you can still use wildcard symbols * and ? to allow exactly as much variation as you need.

If you want to navigate to a type, for example, by its fully qualified name, type parts of the name and split them with spaces or dots. Consider the example below:

ReSharper: Navigating to type

You can also use wildcards when specifying the name: * (asterisk) represents zero or more characters; + (plus), : (semicolon), . (dot), and \ (backslash) separate parts of the type's fully qualified name.

ReSharper: Using wildcards in search

To specify a line in the searched file, type it after a : (colon).

To disable the Search Everywhere functionality and navigate to types only, clear the Enable 'Search Everywhere' checkbox on the Environment | Search & Navigation page of ReSharper options.

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. To enable or disable this behavior, use the Remember last search checkbox on the Environment | Search and Navigation page of ReSharper options. When this option is selected, ReSharper will also use your current selection in the editor as the initial search query.

This feature is supported in the following languages and technologies:

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is available in HTMLFeature is available in ASP.NETFeature is available in RazorFeature is available in JavaScriptFeature is available in TypeScriptFeature is available in CSSFeature is available in XMLFeature is available in XAMLFeature is available in Resource filesFeature is available in build script filesFeature is not available in ProtobufFeature is not available in JSON

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: 03 September 2020