Navigation and search updates in ReSharper 2017.3

In ReSharper 2017.3, we made a number of improvements to the navigation experience. There’s the new navigate to breakpoints and a couple of other debugger-related navigation features, several UI and usability updates to the Find Results tool window making it easier to visualize multi-line code fragments, Search Everywhere displays Go to Text results in a different place, and more! Here’s an overview.

Navigate to breakpoints/tracepoints

ReSharper 2017.3 adds a new Go to Breakpoint action (Ctrl+Alt+F9) which shows us all available breakpoints/tracepoints in our solution. We can use it to quickly jump between breakpoints, as well as search or delete existing breakpoints.
Navigate to breakpoint in solution using ReSharper

A new R# Breakpoints tool window (Shift+Enter from the Go to Breakpoint popup) was added as well, which gives us a more elaborate overview of breakpoints and lets us group, preview, navigate and enable/disable any breakpoints in our solution. Read more about ReSharper 2017.3 navigate to breakpoints in a previous blog post.

Usability updates to the Find Results tool window

Any navigation in ReSharper, such as Find Usages (Shift+F12) or Search Everywhere (Ctrl+T), provides the possibility to open results in the Find Results tool window (click the icon in the popup or use Shift+Enter). A number of user interface and usability improvements were made to this tool window.

Add/remove breakpoints and tracepoints

Usually when we want to set a breakpoint or tracepoint, we have to open the editor and find the relevant line of code. The Find Results tool window now lets us create a breakpoint/tracepoint directly:
Create breakpoint from Find Results window

Better presentation for multi-line results

Many development teams have a code style where newlines are added when line length would be too long. For example in method calls, often parameters are moved to a new line. Such formatting is now respected by the Find Results tool window! The full code context is now displayed in the result tree, making it much easier to work with multi-line formatted search results.
Display multi-line results in Find Results tool window

Keep focus by removing calls that are already reviewed

The Find Results tool window is often used during large-scale code updates. For example one could search for usages of a given method and go through all of the results one by one. To keep track of which calls we’ve already inspected, we can now ignore results using the context menu or by simply pressing Del. This will gray out the active item and give us a visual clue we’ve handled the occurence.
Ignore find results making it easier to keep focus

Note that in the toolbar we can show/hide these ignored entries in the list..

Go to Text and Search Everywhere results

Using Go to Text (Ctrl+T,T,T), we can quickly find and navigate to any text in source code and textual files in our solution. This navigation is also part of Go to Everything (Ctrl+T), making it easy to find anything in our solution.

Unfortunately, for some searches the results can be confusing. In previous ReSharper versions, Search Everywhere would display results from Go to Text when no other data could be found. When results were found, Go to Text results would often be omitted.

ReSharper 2017.3 helps avoid confusion and ensures we have a good overview: Go to Text results are displayed in a separate section.
Search Everywhere displays Go to Text results in a separate section

Download ReSharper 2017.3 and give these new navigation features a try!

This entry was posted in How-To's and tagged , , , . Bookmark the permalink.

3 Responses to Navigation and search updates in ReSharper 2017.3

  1. Urs Meili says:

    I noticed that the context menu in the Find Results dialog does not contain keyboard shortcuts (such as “Del” for Ignore, F9 for set breakpoint). This should be added, otherwise users have no way to know them.

Leave a Reply to Maarten Balliauw Cancel reply

Your email address will not be published. Required fields are marked *