Visual Studio 2017 comes packed with several major changes to the core developer productivity experience. It is our goal to maximize your efficiency as you develop applications, and this requires us to constantly refine our features and improve on them over time. For Visual Studio 2017, we wanted to improve code navigation, particularly for larger solutions which produce many search results. One big focus for us was Navigate To (now known as Go To). The other was Find All References, described in a separate blog post.
We rebranded our Navigate To feature to Go To, an umbrella term for a set of filtered navigation experiences around specific kinds of results. We recognized that large searches sometimes produced cases where the desired search term is quite far down the list. With our new filters, it is easier to narrow down on the desired result before the search process has even begun.
The new Go To experience with added filters
You can open Go To with Ctrl + , – this creates a search box over the document you are editing. “Go To” is an umbrella term encompassing the following features:
- Go To Line (Ctrl +G) – quickly jump to a different line in your current document
- Go To All (Ctrl + ,) or (Ctrl + T) – similar to old Navigate To experience, search results include everything below
- Go To File (Ctrl 1, F) – search for files in your solution
- Go To Type (Ctrl 1, T) – search results include:
- Classes, Structs, Enums
- Interfaces & Delegates (managed code only)
- Go To Member (Ctrl 1, M) – search results include:
- Global variables and global functions
- Class member variables and member functions
- Constants
- Enum Items
- Properties and Events
- Go To Symbol (Ctrl 1, S) – search results include:
- Results from Go To Types and Go To Members
- All remaining C++ language constructs, including macros
When you first invoke Go To with Ctrl + , Go To All is activated (no filters on search results). You can then select your desired filter using the buttons near the search textbox. Alternatively, you can invoke a specific Go To filter using its corresponding keyboard shortcut. Doing so opens the Go To search box with that filter pre-selected. All keyboard shortcuts are configurable, so feel free to experiment!
You also have the option of using text filters to activate different Go To filters. To do so, simply start your search query with the filter’s corresponding character followed by a space. Go To Line can optionally omit the space. These are the available text filters:
- Go To All – (no text filter)
- Go To Line Number – :
- Go To File – f
- Go To Type – t
- Go To Member – m
- Go To Symbol – #
If you forget these text filters, just type a ? followed by a space to see the full list.
Another way to access the Go To commands is via the Edit menu. This is also a good way to remind yourself of the main Go To keyboard shortcuts.
Other notable changes to the old Navigate To (now Go To) experience:
- Two toggle buttons were added to the right of the filters:
- A new button that limits searches to the current active document in the IDE.
- A new button that expands searches to include results from external dependencies in search results (previously was a checkbox setting).
- The settings for Go To have been moved from the arrow beside the textbox to their own “gear icon” button. The arrow still displays a history of search results. A new setting was added that lets you center the Go To search box in your editor window.
We hope the new Go To feature with its set of filters provide a more advanced and tailored code navigation experience for you. If you’re interested in other productivity-related enhancements in Visual Studio 2017, check out this additional content:
- C++ IntelliSense Improvements – Predictive IntelliSense & Filtering
- Find All References re-designed for larger searches
- Video: C++ Productivity Improvements in Visual Studio 2017
Send us your feedback!
We thrive on your feedback. Use the report a problem feature in the IDE to share feedback on Visual Studio and check out the developer community portal view. If you are not using the Visual Studio IDE, report issues using the Connect Form for reporting issues. Share your product improvement suggestions on UserVoice.
0 comments