Intelligent Coding Assistance
IntelliJ IDEA brings you an advanced Java editor that lets you code as fast as you think. Intelligent coding assistance features save your time and spare you from tedious routine, keeping your focus on the code, not its syntax. We designed all this goodness for you - check it out!
Instant Completion
Built-in Spell Checker
A built-in spell checker verifies comments, literals
and identifiers in your code.
Smart Java Code Completion
Ctrl+Shift+Space invokes the smart Java code completion, which analyzes the context you are currently working with and prepares the list of choices for:
- The right side of assignment when an expression type can be determined
- Constructor parameters
- Abstract class and interface inheritors when declaring new on an abstract class or interface
In short, the Smart Java Code Completion works anywhere where IntelliJ IDEA can guess the expected expression type.
Class Name Completion
With Ctrl+Alt+Space you can complete the class and interface names. IntelliJ
IDEA shows all available class names and automatically imports the selected class, if necessary.
Chained Java Code Completion
An improved version of Smart Code Completion: pressing Ctrl-Shift-Space twice
looks up values of the expected type which can be retrieved through a chained method call.
This feature is also capable of auto-inserting conversions from collections to arrays and vice-versa.
Super Completion
Another improvement of Smart Code Completion lets you fill in several parameters at once (with single
shortcut: Ctrl-Shift-Space).
Popup Parameter Info
A popup, showing all the possible method parameters and their combinations is open after you either type
an opening ( in a method call, or position caret inside of ( ) and press Ctrl+P.
IntelliJ IDEA bolds the parameter at caret position and lets you jump between them with Tab/Shift+Tab. Moreover, you can use the Settings dialog to configure the automatic parameter popup display.
Extend/Shrink Selection
IntelliJ IDEA lets you quickly select expressions with Ctrl+W shortcut. By
repeatedly pressing it, you can select the symbol at caret, then the closest expression that involves
it, then the surrounding code block, and so on.
In this example, pressing Ctrl+W several times selects:
- getNamedItem
- olmaps.item(i).attributes.getNamedItem
- "//topic[@legacyid='" + olmaps.item(i).attributes.getNamedItem('target').nodeTypedValue
- The entire portedMap declaration
- The entire for statement
Pressing Ctrl+Shift+W collapses the selection back from broader to narrower scope.
You can also use this feature whenever you need to quickly align an existing selection to surrounding expression boundaries.
Auto-Import and Imports Optimization
IntelliJ IDEA automatically inserts import statements while you are typing, and detects non-imported classes found in pasted blocks of code. When a class is found, that has not yet been imported, IntelliJ IDEA displays a hint and allows you to quickly insert the required statement with Alt+Enter.

Pressing Ctrl+Alt+O allows you to quickly optimize the imports by grouping similar classes to a package level import, and removing the imports that are not used in the file. You can select whether this action affects only the selected file, or all files in the current folder.
You can use the Settings dialog to configure Add unambiguous imports on the fly and Optimize imports on the fly options and so let IntelliJ IDEA automatically handle the imports without your intervention.
Various Intention Actions
IntelliJ IDEA includes a lot of Intention Actions — commands that help you quickly carry out various coding tasks, like generating missing code, transforming the existing code and so on.
When an Intention Action is available, IntelliJ IDEA displays a bulb icon, indicating that you can press Alt+Enter to see the list of available actions.
In this example we're using an Intention Action that generates the declaration of method from its usage.
