IntelliJ IDEA

Navigation and Search

Improved Bookmarks

Bookmarks

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.

Thread dump analyzer

Analyze largest thread dumps in a very convenient way.

Reworked project configuration dialog Click to enlarge

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

Find Usages of frame in Project and Libraries

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

Structural search - all fields of the class

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

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

Screenshot shows how to '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

Quick navigation 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

Quick navigation 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

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

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

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

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

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

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

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

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

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

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

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

Searchable Settings dialog

to the top