Analyzing Search Results
If any of the ReSharper's navigation and search actions produces multiple results, these results can be displayed in the Find Results window, which provides a lot of ways to analyze the search results.
If necessary, you can change the default behavior so that the single found usage is also displayed in the Find Results window. To do so, clear the Go to Usage: if there is only one result.... checkbox in the page of ReSharper options.
Some actions, for example Find Usages automatically display the results in this window. For other actions, you can do it manually when a popup with the search results is displayed — click Show in Find Results , press Shift+Enter or + on the numeric keypad.
Results of each new navigation or search action are displayed in a new tab of the Find Results window, so you can easily get back to previous searches.
If you close the Find Results window, you can always reopen it by choosing in the main menu or by pressing Ctrl+Alt+U. Tabs with search results are preserved until you close the solution.
Viewing the code related to a search result
To open a specific result in the editor, double-click it or press Enter. If you want results to open in the Preview tab, select the Open preview tab for selected item in Find Results window option on the page of ReSharper options.
You can also press F8/Shift+F8 to open next/previous search result in the editor.
Filtering search results
To filter search results by name, just start typing the part of the name in the window.
Search results of most navigation and search commands can be further filtered by the kind of occurrence.
To show only read or write usages, click or on the toolbar.
Click Filter Usages and choose which kinds of occurrences should be displayed.
To clear the filtering, click Filter Usages and choose Show all usages.
To hide some occurrences, select one or more items or grouping nodes, and press Delete or right-click and choose Ignore. Selected occurrences will be hidden from the current results view. You can use the Show Ignored Usages button on the toolbar to show or hide ignored items, which are displayed in grey. When ignored items are shown, you can right-click them and choose Undo Ignore to stop ignoring them.
Grouping search results
By default, all results are shown as separate items. Sometimes it can be convenient to display all results found in the same line as a single item. To do so, click Merge Occurrences on the Same Line on the toolbar.
Search results can be displayed in various hierarchical orders. The default order depends on the initial search but you can always change it with the Group by selector on the toolbar.
You can also group search results by kind of usage - that is, how exactly the target item is used at different places - for example, declaration, invocation, parameter, method return, and so on. To do so, click Toggle grouping by kind on the toolbar.
If you want to display results as a plain list, select None in the Group by selector.
Setting breakpoints and tracepoints
Independently of how you obtained the results in the Find Results window, you will see breakpoints and tracepoints if lines where they are set appear in the search results. Moreover, you can toggle breakpoints with F9, enable/disable breakpoints with Ctrl+F9, or access commands related to breakpoints and tracepoints from the context menu.
Other actions with search results
If the search results are related to each other (that is, if they are usages of a specific symbol, symbols derived from a specific symbol, and so on), you can display them in the type dependency diagram by clicking Show on Diagram on the toolbar.
If any symbol or a grouping node is not the target of the usages search in the current tab, you can find usages of this symbol or find usages of related symbols right from the Find Results window. To do so, right-click this item and choose the corresponding action in the context menu, or alternatively, press Alt+F7 or Shift+Alt+F7.