Navigation and Search
Scope-based search
Narrow your search with customizable scopes (background mode available) that let you select packages, folders, and specify masks to search for the items you need, including library, sources and zipped files.
Find usages of code symbol
The Find Usages feature helps you locate usages of any symbol (e.g., class, method, field, etc.) in your code. Simply position the caret on the symbol for which you want to find usages and press Alt + F7. Search results are displayed in a dedicated tool window where they are grouped by packages, classes and methods (you can customize the results presentation). From this window you can directly navigate to any usage with either keyboard or mouse. The results of this search operation can be exported to a text file or clipboard (Alt + O).
If you need to find usages of a symbol only within a certain file and don't need a hierarchical presentation of results, press Ctrl + F7, and then navigate between usages with F3 and Shift + F3 keyboard shortcuts. Or you can simply highlight all the usages of a symbol in a file by pressing Ctrl + Shift + F7.
Structural search & replace
This
unique search-and-replace facility is based on regular expressions describing structural Java elements. By its
awareness of your project structure, it will help you replace, for example, only the values of field
initializers, which would not be possible with a plain string pattern. Read more about structural
search and replace »
Navigate to a class or file by name
You can quickly open a source file for a class (Ctrl + N) or
any file located in your project (Ctrl + Shift + N). As you type characters in the search
dialog (wildcards are also accepted), the lookup window appears letting you choose the class or file from the
list.
Navigate to a method or field declaration by name
This command is very similar to the previous one. By calling Go to
Symbol... (Ctrl + Alt + Shift + N), you can quickly navigate to declarations of
methods, fields and classes. Type the beginning of the name, and the lookup list will be reduced to the matching
names.
Quick navigation right from the editor
- Go to declaration from reference
-
Press Ctrl and click (or press Ctrl +
B) on usage of any class, method or variable opens the corresponding file and navigates to the symbol
declaration
- Go to implementation(s) from method declaration
-
Press
Ctrl + Alt + B on the method declaration right in the editor to open the corresponding
file and navigate to the method implementation. If there are several implementations, a lookup list with all
implementations found opens, so that you can select which one to open.
- Go to type declaration
- Press Ctrl + Shift + B on usage of a variable or method to navigate to the declaration of the class which is used in the variable type or the method return type.
- Go to super method
- Press Ctrl + U anywhere inside a method to navigate to the declaration of the "super" method - the method from the super class or interface which is overridden/implemented by this method.
Quick navigation through types and method hierarchies
You can easily see when a class has subclasses, or an interface has implementations, or
a method has implementing/overriding methods by the presence of the special icon that appears on the left gutter
area of the editor, next to the class, interface, or method declaration. Click this icon and select the
necessary target, and IntelliJ IDEA will immediately open and focus the specified class/interface in the editor.
In the subclasses and implementations, the similar icon will navigate you back to the super class/method or interface.
Navigation through project modules, packages, and files

IntelliJ IDEA provides you with the Project tool window for convenient navigation through the project. You can get information about modules your project consists of and their internal structure packages, source files, and resources. For .java files and supported web and enterprise file formats, you can view the structural info about their fields, methods, and other members.
Navigation bar
Now IntelliJ IDEA
provides a quick alternative to the Project view, for easier navigation to the recent or neighboring files. Just
press Alt+Home and use arrow keys to locate the necessary file, or invoke actions from the
context menu.
Type hierarchy browser
For any class or interface, it is possible to view its
inheritance hierarchy so that either supertypes or subtypes can be easily browsed.
Method hierarchy browser
For methods, you
can view the class/interface hierarchy where the particular method is defined, implemented, overridden, or
should be implemented. This can help you check the consistency of the method hierarchy throughout the
classes/interfaces containing it.
Method call hierarchy browser
Viewing "chain"
of method calls for a particular method, both backwards and forwards, is now possible with the help of the
method call hierarchy browser that lets a user easily switch between the caller and callee hierarchies.
Project TODOs
You can easily define your personal
TODO patterns (and filters) so that all TODO comments in your code are correctly highlighted in the editor and
can be browsed in a convenient tree-view, both for the whole project or a single file, for easier navigation to
your TODO items.
Read about customizing TODO filters
Quick definition lookup
You can quickly review
definition or content of the symbol/file at caret, without the need to open it in a new editor tab. Just press
Ctrl + Shift + I, and the underlying content will appear in a popup window.
Back and forward functionality
When using IntelliJ IDEA's smart navigation features, all steps that you
perform can be easily undone or redone, by invoking the back/forward functions that are available from both the
toolbar and keyboard.
Recent files list
The list of recently opened
or edited files is available directly from the editor with a single shortcut so that you are able to navigate to
one of these recent files quickly. You can also easily customize the number of items that appear in the list
when invoked.
Jumping to last change
How often do you navigate back to the place where you last made a change? How often is it a pain to get back to that same place? IntelliJ IDEA always tracks your changes so you only have to press Ctrl + Shift + Backspace, and you will find yourself transported back to that previous location, regardless if you are in the same file or not, or even if the file has been closed.
Bookmarks
Bookmarks provide the ability to mark
particular lines in your working files and then quickly navigate to them. You can use anonymous bookmarks (F11 to add/remove a bookmark, Shift + F11 to jump between bookmarks),
or numbered bookmarks (Ctrl + Shift + <number> to add/remove a bookmark, Ctrl + <number> to navigate to it).
Read more about IntelliJ
IDEA bookmarks »
Search and replace with regular expressions
You can find occurrences of any text string within the current file or entire project.
To search for a string in a current file, use Ctrl + F shortcut (or Ctrl + R to find and replace), and then navigate between search results using Next (F3) and Find Previous (Shift + F3) commands.
If you want to search a string through an entire project, use Ctrl + Shift + F (or Ctrl + Shift +R) shortcut. The results are represented in a tree-view with convenient navigation to the code. The results of this search operation can be exported to a text file or clipboard (Alt + O).
Incremental search in the editor

With the Alt + F3 command, you can rapidly find the desired substrings in the current file. All matching expressions will be highlighted in the editor, and you will be able to easily navigate among them with the help of the Up and Down keys. Alt + F3 pressed twice searches for the last search pattern.
Searchable Settings dialog
IntelliJ IDEA's extensive settings can now be quickly and easily searched, to locate just the option(s) you want
to configure. Simply type a keyword in the "Search" field , and the corresponding elements in the
dialog will be highlighted. Opened dialogs and tabs set their filters in accordance with the keyword entered in
the Settings dialog 