Navigation and Search
Navigation and Search in JetForcer
- Recent Files
- Select In
- Find and Replace in Path
- Find Usages
- Show Usages
- Go to Class
- Go to File or Folder
- Go to Related Unit Test
- Go to Symbol
- Jump to the Navigation Bar
- Navigating to Action
- Navigating to Next/Previous Change
- Navigating to Next/Previous Error
- Show Type Hierarchy
- Structure Popup
Most of the time user works with some finite number of files and the huge part of the whole navigation process is switching between a certain number of recent entities. That's why we recommend to use a navigation command specific for that case.
JetForcer has an action Recent Files for that purpose, but you can also use Switcher. To find out what the shortcuts for these actions use Help | Find Action.
Another feature that helps you to navigate within your project easily is bookmarks. Use F11 to add/remove the current location to/from the bookmarks list. When some location is in the list, the corresponding icon is shown on the gutter. If you want to go to the one of your bookmarks, press Shift+F11 and select the desired one.
Let's say there is a file opened in the editor and you need to find it in changelists or you simply want to open some project file in Explorer or Browser - we have a feature for that case also. Press Alt+F1 to invoke Select in... action and it will select or open the current file in a tool window you choose.
Find and Replace in Path
Do one of the following to search or to find and replace in files within the specified scope:
- Ctrl+Shift+F or Ctrl+Shift+R
- Edit | Find | Find in Path or Replace in Path
- In the Project tool window and Navigation Bar call Find in Path or Replace in Path from the context menu for a directory.
Finding Usages in Project
Another commonly used pattern is 'Find usages' action, that finds all the places where the symbol is used and navigates to them. If you need to find all symbol usages:
- Press Alt+F7.
- Choose Find Usages on the context menu.
- Choose Edit | Find | Find Usages
The 'Find usages' action might be quite heavyweight, the search lasts for some time and then the result is shown in the tool window. That’s why JetForcer has a lightweight alternative to the action which is 'Show usages'. To invoke it use Alt+Ctrl+F7 (Cmd+Alt+F7 for OS X) key combination.
Go to a Class
'Go to a class' action (Ctrl+N, Cmd+N for OS X) will navigate you to a class, all you need is to invoke it and to start typing the name. The feature supports not only simple wildcards and camel humps, but also middle name matching, definition popups, quick documentation and line number postfix.
A big advantage of JetForcer actions is that they can be easily used without a mouse. In that particular case, the user can do the whole process, like invoking the action, changing the query, navigating through the options using Up and Down keys, using the keyboard only.
Go to a File or a Folder
If you want to quickly open a file without searching it in the project structure, use 'Go to a file' action. Type Ctrl+Shift+N (Cmd+Shift+N for OS X). The feature supports wildcards, camel humps, folder prefix and also allows to find a folder.
Go to a Related Unit Test
A very useful navigation command is 'Go to a test' action (Ctrl+Shift+T or Cmd+Shift+T for OS X), which navigates you between a class and its tests in both directions.
Go to a Symbol
And one more action in the 'Go to...' group is 'Go to a symbol'. The action navigates you to a symbol, e.g. method or field, without a full-text search. Due to the fact that JetForcer builds and constantly updates the index of all the symbols in your project including libraries, the search through symbols performed quickly even in a large project. Action is available via Ctrl+Shift+Alt+N (Cmd+Shift+Alt+N for OS X).
Jump to the navigation bar
JetForcer allows having a full and handy workflow with an editor being the only opened window. For some users, this might sound too unusual because they feel need to see the project tree (which can be activated in a second anyway).
But there is an advanced alternative to it - navigation bar. It's not just a breadcrumb, but a powerful tool that allows to navigate through the whole project, see files content, create or change them and many other things. To start working with it invoke 'Jump to navigation bar' command by pressing Alt+Home (Alt+↖ for OS X).
The Jump to navigation bar action can also be used when the navigation bar is hidden.
Navigating to Action
Quickly find the action you need without searching through tons of menus and toolbars. Press Ctrl+Shift+A or use Help | Find Action, start typing the action name and JetForcer suggests matches. The search scope includes the main menu, context menus, all the toolbars, and toolwindows.
Navigating to Next/Previous Change
There are also some VCS-related navigation operations that allow to quickly explore changes using shortcuts, navigation commands, and change markers.
To move back and forth between changes in the editor
- Use Ctrl+Shift+Alt+Down or Ctrl+Shift+Alt+Up.
- Choose Navigate | Next or Previous Change.
- Click the arrow up/arrow down when pointed to a change marker.
To go to the location you edited last
- Use keys Ctrl+Shift+Backspace.
- Choose Navigate | Last Edit Location.
Navigating to Next/Previous Error
One more handy navigation pattern - navigation through errors and warnings in the editor. Each time user moves to an issue, the caret is placed right before its location. To move back and forth between issues choose Navigate | Next / Previous Highlighted Error or press F2/Shift+F2.
Build the full hierarchy of a class when you need to analyze it or to navigate through it. Select a class in the Project tool window, or open it in the editor and then press Ctrl+H or choose Navigate | Type Hierarchy. JetForcer will build the complete hierarchy with parents and children in the Hierarchy tool window.
Quickly navigate through the file structure, e.g. to class members, xml tags and more. Open a file in the editor, press Ctrl+F12 (Cmd+F12 for OS X) and choose the entity you look for. Use speed search to narrow down the suggested items list.