Navigation improvements in ReSharper 2018.1

Our latest release of ReSharper 2018.1 includes improvements in navigation. We will be looking at several navigation features for Go To that have been improved.

Go To File Member

ReSharper’s ability to move through the members with a file of code has been there since the beginning. We can invoke the ReSharper | Navigate | Go To File Member… command (Alt+\) to view the list of members in the file. We can invoke Alt+\ again and toggle the list to include all members of the current class’s base classes. When we select a member from the list, the caret will be located at that member’s declaration.

Go To File Member

The improvement in 2018.1 is when the list of members is presented the list is grouped by the classes in the file. This will improve understanding as your filter with a search string and give us a better overview if a file as multiple classes located in it.

Grouped ad Filtered Go To Context

In addition to grouping members by class, the ordering of the file members has been corrected to show the member order in the file and should be more useful.

Go To Recently Viewed File

If we want to see a list of the files we recently viewed, we can invoke the ReSharper | Navigate | Recent Files… command (Ctrl+,).

Go To Recently Viewed Files

While this feature has been in ReSharper for a long time, the pop-up windows now have been updated to also show additional files that match the search string. This is very similar to the Go To File functionality and we hope that it will give developers better navigation in their solutions. Also in the past, the sorting criteria for recent files was by best match. In 2018.1 the updated sort criteria is now by most recent viewed first. This should give developers a better understanding of the order of the files presented.

Go To File listing added to Recently Viewed Files

Navigation Filter and Unit Tests

Navigation filters have been available in the Search Anywhere (Ctrl+T) since version 2017.2. In 2018.1, we have added the ability to filter by unit tests that are located in the current solution by using the /u filter.

Navigation filter for unit tests in Search Everywhere

We’d love to hear your feedback on these updated features! Give ReSharper 2018.1 a try!

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

10 Responses to Navigation improvements in ReSharper 2018.1

  1. Bendik August Nesbø says:

    I have remapped ReSharper.ReSharper_GotoFileMember to Ctrl+Shift+T. When I press Ctrl+Shift+T, I get the “Enter Member name” prompt as expected, but a second Ctrl+Shift+T does not check the “Include base members”, but rather display a prompt for “Enter file or folder name”.

    I have removed the keybinds ReSharper.ReSharper_GotoFile, but it still shows up.

    Alt+\ does nothing in the GotoFileMember-prompt.

    3xCtrl brings up the shortcut live view, and holding Ctrl+Shift display only GotoFileMember for the T-key.

    Is this not possible for other keybind than Alt+\ ?

    • Chris Woodruff says:

      Bendik — Thanks for letting me know about your findings, especially the issue with ReSharper.ReSharper_GotoFile keybinding. I will discuss with the R# development team and find how we can resolve them.

  2. Lucas Trzesniewski says:

    /u is interesting, but one feature I’d like to see is to be able to filter out unit tests (or display them separately). Often, when I’m looking for a bit of code, there are a lot of matches in unit tests and those are spamming the results.

    It could be very nice if, for instance, when using the “Navigate to usages of symbol” feature (Ctrl+Alt+F7 in IntelliJ bindings), matches from projects containing unit tests would be displayed in a separate category.

    • Chris Woodruff says:

      Thanks, Lucas for your suggestions. I will pass them along to the R# development team.

      • kojamroz@microsoft.com says:

        I upvote the suggestion by Lucas. I spend lots of time “mentally filtering out” the unit tests projects, e.g. when trying to trace the call chain of given method in production code.

  3. John says:

    I would like to be able to move between the tabs in the Shift F12 results without having to use a mouse. Maybe there’s already a way to do that?

  4. Bernhard Millauer says:

    I would love to see a feature to detect unused code meaning code that is not used by other production code, not unit test code.

  5. Chris Woodruff says:

    Bernhard —

    That is a very interesting idea. Thanks and will pass it along to the R# PM for consideration.

Leave a Reply

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