There are three completion types:

Logical name

Shortcut

Basic

Ctrl+Space

Smart (SmartType)

Ctrl+Shift+Space

Class Name

Ctrl+Alt+Space

Pressing the same shortcut twice results in 'second' completion, which may give more variants.

The New! mark means a feature is available in Maia only.

All languages

You may choose item in completion list not only with Enter, but also with variety of other keys: space, dot, colon, semicolon, '(' etc. Basically this will result in inserting that character after the completed identifier, but sometimes more will be done. For example, finishing Java method call with '(' will, of course, insert also ')'.

Choosing item with Tab has special meaning. In this case, if you are inside identifier, it will be overwritten completely instead of just inserting the item string into caret position.

Class Name completion works everywhere and typically displays all class names that are accessible from the current location. On second invocation it displaysall the classes that may become visible if you change their access modifiers or add necessary module dependencies.

New! If you don't like some suggested classes and you don't want to see it anymore, you may easily exclude it from import and completion.

Java

Basic

Smart

Both Basic & Smart

Class Name

Groovy

Basic

Smart