Navigation and Search in F#
Most JetBrains Rider's navigation and search features available in C# are also supported in F#. You can find the detailed information on these features in the corresponding topics of the Navigation and Search section.
In this topic, you can find some examples of using navigation and search features in F#.
You can navigate from any symbol in your code to many different destinations. Just place the caret on the symbol and hit a corresponding shortcut to:
- F12 Go to declaration
- Ctrl+Shift+F11 Go to type declaration
- Shift+F12 Go to usages of symbol
- Alt+Home Go to base symbols
- Ctrl+F12 Go to implementation
- Alt+End Go to derived symbols
If you try to navigate to a type that you don’t have the source to, JetBrains Rider will try to fetch the source code from a symbol server or decompile it on the fly, displaying what the C# code would look like.
You can also use the Navigate to shortcut (Alt+`) — it opens a drop-down list with all the navigation destinations available for a selected symbol.
The Search everywhere command works across the entire solution. Press Ctrl+T to to search and navigate through symbols, types, files, settings and actions.
The Find Usages feature helps you locate all usages of namespaces, types, methods, etc. in your source code across F# and C# projects. Applying the Find Usages feature is the quickest way to find all code usages in the entire solution — just place the caret on the symbol and press Shift+F12.
The Highlight Usages in File feature helps focus your attention at a particular member or local variable and its occurrences. Note that write accesses are highlighted in red, and read accesses are highlighted in blue.
When a script is opened in the editor, you can navigate to classes, functions, variables, and other members using Go to File Member (Alt+\).
You can also:
- Find code dependent on a specific project or assembly reference.
- Search through your code using bookmarks.
The Structure window ( or Ctrl+Alt+7) displays the structure of the script in the active editor tab. The Structure view and editor tab are synchronized by default. You can navigate through your script using the mouse, or by typing a few characters and using the arrow keys.