ReSharper 2017.2 – what’s new in navigation?
ReSharper has always had a rich search and navigation system for finding files, classes, methods and even text. With the release of ReSharper Ultimate 2017.2, we’ve made a number of improvements to navigation: better search and matching, exact search, integrated Go to Text and a new way to navigate to files nearby.
All of these additions make it even easier to find what we’re looking for in our solution. Let’s dive in!
Navigation and search recap
ReSharper’s navigation features help us navigate to types, type members, files, text, contextual actions, … These navigations are all powered by a search engine that supports simple searches (including misspellings), as well as:
- Partial search terms
e.g. a search for
e.g. a search for
- Navigation combos
e.g. a search for
AS Cwill match the
AccountService, a search for
AS 25will match
e.g. a search with
/twill search for types,
/mwill search for members,
/mmwill search for methods,
/ffwill search for a project folder, … (hint: type
/in Go to Everything (Ctrl+T) to get a list of all filters)Note that Go to Text (Ctrl+T,T,T), has a few more – e.g. using
/cpwill search in the current project,
/extwill search in files with a specific extension,
/fmwill search in files with a specific file mask
Navigation and search improvements
ReSharper 2017.2 includes some updates to how search results are matched. When using navigations such as Go to Everything (Ctrl+T), Go to File Member (Alt+\) or Go to Action (Alt+Enter), ReSharper will now match elements containing words in the target query in any order. For example, a search for
ValidUser will also match
Too free-format? Want to be more specific in searching within a codebase? No problem. We also introduced exact search. Much like with an Internet search engine, we can add quotes around a search query. Something like
"Person" will return
Person but never
It’s possible to combine exact search with wildcard characters like
?, so we can search for
"Person*" to find
PersonRepository, but not
Another addition to search is finding extension methods. Using the
TypeName.ExtensionMethod syntax (with a
. separator), we can find extension methods on a given type:
Exploring search results
A number of changes went into exploring search results. One such change is that Go to Text is now integrated in Go to Everything (Ctrl+T). If there’s no type, file or symbol that corresponds to our search term, ReSharper will search for text. This means that we can search for any text in our solution and navigate to, for example, a Markdown file or an application setting based on a simple text search.
When search yields a large number of results, it may be useful to explore them in the Find Results window. For any search, we can now hit a laptop-friendly Shift+Enter shortcut to open search results in a separate tool window where we can explore and filter items more easily. (The older + shortcut to flush search results is still available as well.)
Navigate to File Nearby
We can perform contextual navigation using the Navigate To menu (Alt+Backquote). For example from a derived type, we can navigate up to the base class. Or from an interface, we can navigate to implementation. We now added a new option: Navigate to File Nearby.
Navigate to File Nearby displays project structure around our current file: the solution and project is shown, we can see folders and files that are in the same directory as our current file, and easily jump to these or create a new element at a certain location:
Download ReSharper Ultimate 2017.2! We’d love to hear your feedback on these navigation improvements.
Subscribe to Blog updates
Thanks, we've got you!
Another Look into the Future with Rider’s Predictive Debugger
In the 2023.2 release cycle, we’ve introduced the Predictive Debugger in ReSharper, which gives you predictions about code paths and variables beyond the current execution pointer. We’ve written extensively about its advantages compared to alternative debugging strategies like thorough thinking, log…
Visualize Entity Framework Relationships and Additional Query Analysis in ReSharper 2023.3
A lot of teams are using Entity Framework or EF Core to work with their database. As an Object-Relational Mapper (ORM), it bridges objects in code to a relational database model, so that as a developer you don’t have to worry too much about the actual database. We all know: that’s not entirely tr…
Automatically Analyze ASP.NET Core Performance With Dynamic Program Analysis
Slow web pages may make your users or customers abandon your web application, even before they’ve had a proper look at it. You’ve likely also been frustrated working with a web application that is slow to load. The good news is that the latest versions of ReSharper and JetBrains Rider’s Dynamic P…
OSS Power-Ups: MassTransit – Webinar Recording
The recording of our webinar, OSS Power-Ups: MassTransit, with Chris Patterson, is available. This was the thirteenth episode of our OSS Power-Ups series, where we put a spotlight on open-source .NET projects. Subscribe to our community newsletter to receive notifications about future webinars.…