Navigation Improvements in ReSharper 8

One of the core experiences of ReSharper is lightning-fast navigation to any type, member or file that you need to work with. In the latest release, we’ve slightly modified the core experience in order to streamline operations and give even better performance to our users.

Go to Everything

The new feature is called Go to Everything and it ‘takes over’ the Go to Type shortcut Ctrl+T. The goal is simple: to allow the user to search for a file, type or method name — all from the same input box.

The default listing of the items in this menu shows the files the user has worked with recently:

A search for an identifier presents a combined list of files, types and members. Note that hints regarding file names and namespaces are also presented in the list:

In addition, ReSharper treats recently edited members with extra care: they are always displayed faster than other members, show up higher in the listing and are shown in purple color. This feature is useful if, for example, you forgot the class you were recently working with, but remember the name of the method you were editing.

Also, one additional feature is that you can use the line number inside the search box, so a seach string of ca ai 11 will take you to line 11 in ConsoleApplication’s AssemblyInfo.cs file:

After the initial announcement of this feature, we got feedback that some of you prefer to have the old Go to Type shortcut. ReSharper 8 provides for this in two ways:

  • Pressing Ctrl+T a second time takes you back to the familiar Go to Type dialog.

  • To turn off the new behavior completely, go to ReSharper|Options|Search & Navigation and uncheck the Enable ‘Go To Everything’ check box:

Navigate To Generic Subsitutions

When you have the usage of a generic type such as List<Foo>, it’s easy enough to find all usages of List<T>, but what if you want to know the exact types that List<T> is being specialized with. To help with this, one of the new navigation options is to look for Generic Substitutions:

Once you fire up this navigation item, ReSharper will search for all the types that are used to substitute the generic parameter T and will show you a summary tree grouped by the type used to substitute the generic parameter. You can drill down into the tree to find out the exact locations where a particular type is used:

A typical use case for this feature would be to search for substitutions performed during invocation of a generic method (keep in mind these might not be immediately visible due to type inference) and then create a non-generic overload or get rid of one of the generic parameters in case it’s always being assigned the same argument.

Navigate to Assembly Explorer

Now that ReSharper has been enhanced with dotPeek’s Assembly Explorer, additional navigation options are available for decompiled sources. First of all, we offer the option to Navigate to Assembly Explorer for any decompiled code element:

In addition, pressing Shift+Alt+L on a decompiled file now takes you to the appropriate entry in the Assembly Explorer, instead of Miscellaneous Files in Solution Explorer that we had previously.

In Closing

We hope you find these navigation features useful in your development efforts. To see them in action, download the EAP and give them a go!

This entry was posted in ReSharper Tips&Tricks and tagged , , . Bookmark the permalink.

10 Responses to Navigation Improvements in ReSharper 8

  1. dubik says:

    When are you planning to support VS2013?

  2. @dubik
    As soon as it’s officially released, meaning… well, meaning there’s no time estimate right now.
    Behind the scenes, we’re certainly working on support for it.

  3. Alexey says:

    Do you still planning to add TypeScript support in Resharper 8?

  4. @Alexey In 8.x but not exactly in 8.0: TypeScript is postponed to 8.1

  5. webdev says:

    @Jura please could you tell us why TypeScript is postponed to 8.1? 8.1 sounds so much far away… In WebStorm you obviously have the possibilities. And doesn’t it make much more sense to build some preliminary support in the pre-release version.

  6. @webdev
    Well that’s because we don’t consider that the scope of TS support that we have now is worth going to the public. It just happens to take longer than expected.

  7. Shoobah says:

    The shortcut is Ctrl+N isn’t it?

  8. Dmitri Nesteruk says:

    @Shoobah could be, it depends on the keyboard layout. You’re probably using the IDEA one, the shortcuts above are listed for the VS layout.

  9. Jan says:

    Also just upgraded to Resharper 8 cause I thought it supported Typescript…

  10. @Jan TypeScript support is currently rescheduled for 8.1. Since you’ve just upgraded, you’ll get 8.1 anyway but I’m just wondering, what made you think that TypeScript would make it to 8.0, especially considering comments above?

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">