Navigation and Search
Bookmarks provide the ability to mark particular lines in your working files and then quickly navigate to them. Use F11 to add/remove a bookmark and Shift + F11 to jump between bookmarks. You can now also assign mnemonics to arbitrary code lines and even to files in Project View.
Simplified window and file navigation
You can easily jump between open files and tool windows with Ctrl+Tab. It works similar to Alt+Tab on Windows or Command+Tab on Mac.
Dataflow to this and dataflow from here
Dataflow to this lets you see where the value of an arbitrary variable comes from. For example, you can figure out how a parameter passed to a method is formed.
The new "Dataflow from here" feature allows you to explore where a certain value or expression is passed through the method call chains.
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.
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.
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.
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