Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.The New! mark means a feature is available in Maia only

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

  • Context-specific reference and keyword completion, inserts parentheses, semicolons etc. where necessary.
  • Variable/method name suggestion based on type name, super methods and unresolved references in context file
  • Getter/setter name completion based on class fields
  • Property name/file path in string literal
  • Second:
    • Inaccessible members (e.g. private fields) are shown.
    • If prefix starts with an uppercase letter, shows all classes (like Class Name completion). Suggested in first completion invocation if there were no matching variants.

...

  • New! When completing a qualified expression analyzes dataflow and checks if there are any typecasts or *instanceof*s concerning the qualifier. If yes, suggests the variants based on the casted type and inserts the cast automatically.
  • New! In debugger's Evaluate Expression dialog does similar casting to runtime type. When expression is simple variable/field access, it's done immediately, when it involves method calls, on second completion.
  • If all variants are method overloads with the same name, lookup isn't shown, method name is inserted with caret placed inside parentheses.
  • When completing a method with boolean return type, you may finish completion with '!' and the call result will be negated.
  • You may finish completion with Complete Current Statement action (Ctrl+Shift+Enter), which will attempt to syntactically correct your code, e.g. wrap the following expression into parentheses if you've chosen a method call.

Class Name

  • Suggest all the classes visible from current code location.
  • On second invocation suggests all the classes that may become visible if you change their access modifiers or add necessary module dependencies.
  • After new also inserts parentheses for constructor invocation.

...

  • New! After new in variable initializer with known type suggests possible inheritors: CharSequence c = new |

Class name

  • All class names

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