Postfix completion
With postfix templates, you can transform an already-typed expression to a different one based on a postfix after the dot, the type of the expression, and its context. IntelliJ IDEA includes a set of predefined postfix completion templates that you can use for other programming languages as well. You can copy, enable, and disable these templates.
Enable and configure postfix completion
In the Settings dialog (Ctrl+Alt+S), open and select the Enable postfix completion checkbox.
Enable or disable postfix templates for the selected language.
Set the Tab, Space, or Enter key to expand postfix templates.
Transform a statement with a postfix
Type an expression and then type a postfix after a dot. For example, type
.if
.Press Tab.
public class Foo { void m(boolean b) { b.if } }public class Foo { void m(boolean b) { if (b) { } } }fun foo(x: Boolean) { x.if }fun foo(x: Boolean) { if (x) { } }The initial expression gets wrapped with an
if
statement.
Postfix completion options are shown as part of the basic completion suggestion list. To see a full list of postfix completions applicable in the current context, press Ctrl+J.
Edit a postfix template name
You can edit the predefined postfix templates, for example, to replace a long key with a shorter one, or to expand the list of applicable expression types.
Press Ctrl+Alt+S to open settings and then select
.Double-click a template name in the tree or click the
icon above the list of templates and edit it as required.
Create custom postfix templates
Press Ctrl+Alt+S to open settings and then select
.Click the Add button (
) on the toolbar.
In the popup menu that opens, select the language that you need to create a postfix template for.
In the Create New Template dialog that opens, specify Key, a combination of symbols after the dot that will invoke the template.
Select which expression types the new template will be applicable to, and type the target expression in the following format:
$EXPR$ <target_expression>
, for example,$EXPR$ =!null
.To have IntelliJ IDEA automatically transform the topmost applicable expression when the template is invoked, select the Apply to the topmost expression checkbox.
Otherwise, if the checkbox is cleared, IntelliJ IDEA will prompt you to choose the expression when you invoke the template.
Enable Use static import if possible: select this checkbox to have IntelliJ IDEA add static import statements instead of inserting
MyUtils.methodName()
.
Share postfix templates
You can share postfix templates in the following ways:
Use the Backup and Sync plugin to synchronize templates and their settings between IDEs.
Manually export postfix templates from one IDE and import them into another IDE.
Postfix vs. live templates
Postfix code completion is similar to live templates which allow you to create custom constructs to be used anywhere inside your code.
The difference is that live templates insert predefined code snippets, while postfix completion wraps or modifies existing expressions.