IntelliJ IDEA

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

Code completion is auto-invoked instantly as you type. No need to press Ctrl-Space — makes coding faster for all supported languages.




Built-in Spell Checker

A built-in spell checker verifies comments, literals and identifiers in your code.

Task Context Management

IntelliJ IDEA allows you to associate the state of the IDE with tasks that you are working on. The task context includes the active changelist, open editors, expanded branches in Project View, run configurations and enabled breakpoints. The list of your tasks can be synchronized with our bug tracker YouTrack or JIRA.

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:

  1. getNamedItem
  2. olmaps.item(i).attributes.getNamedItem
  3. "//topic[@legacyid='" + olmaps.item(i).attributes.getNamedItem('target').nodeTypedValue
  4. The entire portedMap declaration
  5. 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.

Code Generation Actions

Pressing Alt+Ins anywhere in the editor brings up a menu where you can select a common code construct which is then inserted and adjusted to the current context (method and field names, parameters, etc.)

For example, you can instantly override a number of methods in a derived class. All you need to do is to select the methods and click OK — IntelliJ IDEA will generate all the required code.

Live Templates

Live template is a predefined code fragment you can invoke by typing an associated abbreviation. Any of the frequently used blocks of code can be turned to a live template, and then used in any suitable code file by typing and easy-to-remember abbreviation and pressing Ctrl+J. Live templates can include parameters that can automatically adjust them to the insertion context.

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.

Surround With Action

Using Ctrl+Alt+T you can quickly surround a selected block of code with a statement like if/else, try/catch, etc. This feature analyzes the context in which you are working — for example, when you generate a try/catch statement, it adds handling of exceptions that may be thrown from the selected code.

Unwrap Statement Action

Pressing Ctrl+Shift+Delete inside of a statement lets you quickly extract or remove its code.

Works for from for, if...else, try...catch...finally, do, do...while, and lone braces.

Statement Completion Action

With Ctrl+Shift+Enter shortcut IntelliJ IDEA automatically completes the code statement you are typing, inserting the quotation marks, brackets, curly braces and other punctuation as necessary.

JavaDoc Stubs Generation Action

Position caret above a method name, type /** and press Enter to let IntelliJ IDEA automatically generate JavaDoc stubs for this method.

Move Statement Up and Down Action

With Ctrl+Shift+Up/Down shortcuts you can move entire statements and blocks of code up or down, respectively. IntelliJ IDEA determines the statement boundaries and moves it, keeping the code syntax correct.

Essential Editing Features

IntelliJ IDEA code editor is also equipped with a complete set of essential code editing features — for java, html, xml and any other supported language.

  • Basic code completion
  • Auto-insertion of braces, brackets & quotes
  • Matching brace/bracket highlighting
  • Express code commenting
  • Clipboard stacking
  • Code folding

These features are fully available only in the Ultimate Edition. Only certain languages have this level of support in Community Edition - these features will work for Java, Groovy, HTML and XML, but for example JavaScript in CE is seen as plain-text so for example basic code completion will not work).

to the top