# 后缀补全

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

使用后缀模板，您可以根据点后的后缀、表达式的类型及其上下文，将已输入的表达式转换为不同的表达式。 IntelliJ IDEA 包含一组预定义的后缀补全模板，您也可以将其用于其他编程语言。 您可以复制、启用和禁用这些模板。

[Video](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ij_postfix_template_demo.mp4)

Procedure: 启用并配置后缀补全

* 在   设置  对话框（ `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中，打开  `编辑器 | 常规 | 后缀补全` 并选中   启用后缀补全  复选框。

* 为选定的语言启用或禁用后缀模板。

* 设置 `Tab` (Windows), `⇥` (macOS), `⇥` (IntelliJ IDEA Classic (macOS)), `⇥` (macOS System Shortcuts), `Tab` (XWin), `Tab` (GNOME), `Tab` (KDE), `Tab` (Emacs), `Tab` (Sublime Text), `⇥` (Sublime Text (macOS)), `Tab` (Visual Studio), `⇥` (Visual Studio (macOS)), `Tab` (NetBeans), `Tab` (Eclipse), `⇥` (Eclipse (macOS))、 `Space` (Windows), `Space` (macOS), `Space` (IntelliJ IDEA Classic (macOS)), `Space` (macOS System Shortcuts), `Space` (XWin), `Space` (GNOME), `Space` (KDE), `Space` (Emacs), `Space` (Sublime Text), `Space` (Sublime Text (macOS)), `Space` (Visual Studio), `Space` (Visual Studio (macOS)), `Space` (NetBeans), `Space` (Eclipse), `Space` (Eclipse (macOS)) 或 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS)) 键以展开后缀模板。

Procedure: 将语句转换为后缀形式

1. 输入一个表达式，然后在点后输入一个后缀。 例如，输入  `.if` 。

2. 按下 `Tab` (Windows), `⇥` (macOS), `⇥` (IntelliJ IDEA Classic (macOS)), `⇥` (macOS System Shortcuts), `Tab` (XWin), `Tab` (GNOME), `Tab` (KDE), `Tab` (Emacs), `Tab` (Sublime Text), `⇥` (Sublime Text (macOS)), `Tab` (Visual Studio), `⇥` (Visual Studio (macOS)), `Tab` (NetBeans), `Tab` (Eclipse), `⇥` (Eclipse (macOS))。

Java:

之前:

```JAVA
public class Foo {
    void m(boolean b) {
        b.if
    }
}

```

之后:

```JAVA
public class Foo {
    void m(boolean b) {
        if (b) {

        }
    }
}

```

Kotlin:

之前:

```KOTLIN
fun foo(x: Boolean) {
    x.if
}

```

之后:

```KOTLIN
fun foo(x: Boolean) {
    if (x) {
    }
}

```

初始表达式会被  `if`  语句包裹。

后缀补全选项显示为基本补全建议列表的一部分。 要查看在当前上下文中适用的后缀补全的完整列表，请按 `Ctrl+J` (Windows), `⌘ J` (macOS), `⌘ J` (IntelliJ IDEA Classic (macOS)), `⌘ J` (macOS System Shortcuts), `Ctrl+J` (XWin), `Ctrl+J` (GNOME), `Ctrl+J` (KDE), `Ctrl+J` (Emacs), `Ctrl+J` (Sublime Text), `Ctrl+J` (Sublime Text (macOS)), `Ctrl+K, X` (Visual Studio), `⌘ E, L` (Visual Studio (macOS)), `Ctrl+J` (NetBeans), `Ctrl+Alt+Shift+J` (Eclipse), `Ctrl+J` (Eclipse (macOS))。

Procedure: 编辑后缀模板名称

您可以编辑预定义的后缀模板，例如，用更短的键替换较长的键，或扩展适用表达式类型的列表。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `编辑器 | 常规 | 后缀补全` 。

2. 在树中双击一个模板名称，或点击模板列表上方的 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.edit.svg) 图标，并根据需要编辑它。

Procedure: 创建自定义后缀模板

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `编辑器 | 常规 | 后缀补全` 。

2. 点击工具栏上的   添加   按钮 ( !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg))。

3. 在打开的弹出菜单中，选择您需要为其创建后缀模板的语言。

4. 在打开的   创建新模板  对话框中，指定   键  ，这是点号后的符号组合，将调用模板。

5. 选择新模板适用的表达式类型，并按照以下格式输入目标表达式：  `$EXPR$ <target_expression>` ，例如，  `$EXPR$ =!null` 。

6. 要在调用模板时让 IntelliJ IDEA 自动转换最顶部的适用表达式，请选择   应用到最顶层表达式   复选框。

否则，如果未选中此复选框，IntelliJ IDEA 会在您调用模板时提示您选择表达式。

7. 启用   如果可能，使用 static import  ：选中此复选框以让 IntelliJ IDEA 添加静态导入语句，而不是插入  `MyUtils.methodName()` 。

Procedure: 共享后缀模板

您可以通过以下方式共享后缀模板：

* 使用   备份与同步   插件在 IDE 之间 [同步模板及其设置](sharing-your-ide-settings.html#IDE_settings_sync)。

* [手动导出后缀模板](sharing-your-ide-settings.html#import-export-settings)，从一个 IDE 导出并导入到另一个 IDE。

## 后缀模板与实时模板的比较

后缀代码补全类似于 [实时模板](using-live-templates.html)，允许您创建可在代码中的任何地方使用的自定义结构。

区别在于实时模板插入预定义的代码片段，而后缀补全则包裹或修改现有表达式。

## See also

### 设置

[Postfix code completion settings](settings-postfix-completion.html)

