# 实时模板

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

> **TL;DR**
> 插入动态模板： `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))
>
>
>
> 展开实时模板： `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))
>
>
>
> 配置： `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))   设置 | Editor | 实时模板

使用  实时模板  将常用构造插入到代码中，例如循环、条件、声明或 print 语句。

[Video](https://www.youtube.com/v/ffBeoE6NBSs)

要展开代码段，请输入相应的模板缩写并按 `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))。 。 持续按住 `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))以在模板中的一个 [变量](template-variables.html)和下一个之间跳转。 按 `Shift+Tab` (Windows), `⇧ ⇥` (macOS), `⇧ ⇥` (IntelliJ IDEA Classic (macOS)), `⇧ ⇥` (macOS System Shortcuts), `Shift+Tab` (XWin), `Shift+Tab` (GNOME), `Shift+Tab` (KDE), `Shift+Tab` (Emacs), `Ctrl+[` (Sublime Text), `⌘ [` (Sublime Text (macOS)), `Shift+Tab` (Visual Studio), `⇧ ⇥` (Visual Studio (macOS)), `Alt+Shift+Left` (NetBeans), `Shift+Tab` (Eclipse), `⇧ ⇥` (Eclipse (macOS))以移动到上一个变量。

![使用实时模板的示例](https://resources.jetbrains.com.cn/help/img/idea/2026.3/LiveTemplatesExample.animated.gif)

## 活模板的类型

可以区分以下几种类型的实时模板：

* 简单模板 只包含固定的纯文本。 展开简单模板时，文本会自动插入到源代码中，并替换缩写。 | 缩写 | 扩展为 | | --- | --- | | `psfs` | ```JAVA public static final String ``` | | `main` 或 `psvm` | ```JAVA public static void main(String[] args){ } ``` | | `sout` | ```JAVA System.out.println(); ``` |

* 参数化模板 包含允许用户输入的 [变量](template-variables.html)。 当您展开一个参数化模板时，变量要么被替换为供用户手动指定的输入字段，要么由 IntelliJ IDEA 自动计算。 | 缩写 | 扩展为 | | --- | --- | | `for` | ```JAVA for (int i = 0; i < ; i++) { } ``` | | `ifn` | ```JAVA if (var == null) { } ``` |

* Surround templates 用用户指定的文本包装所选代码块。 例如， `T` 会扩展成一对标签，您可以为其指定一个名称。 您还可以选择一段代码，然后按 `Ctrl+Alt+J` (Windows), `⌘ ⌥ J` (macOS), `⌘ ⌥ J` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ J` (macOS System Shortcuts), `Ctrl+Alt+J` (XWin), `Ctrl+Alt+J` (GNOME), `Ctrl+Alt+J` (KDE), `Ctrl+Alt+J` (Emacs), `Ctrl+Alt+J` (Sublime Text), `⌘ ⌥ J` (Sublime Text (macOS)), `Ctrl+E, U` (Visual Studio), `⌘ E, U` (Visual Studio (macOS)), `Ctrl+Alt+J` (NetBeans), `Ctrl+Alt+J` (Eclipse), `⌘ ⌥ J` (Eclipse (macOS)) 打开 选择模板 弹出窗口，并选择 `T` 模板将所选内容用一对标签包装起来。

[后缀代码补全](postfix-code-completion.html) 类似于实时模板。 它会在不选择当前表达式的情况下对其进行转换。 例如，您可以在表达式后输入  `.if` ，以调用相应的后缀完成，并用  `if` 语句包装表达式。

## 配置实时模板

要配置实时模板，请打开   编辑器 | 实时代码模板   设置页面 `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))。 在   实时模板   页面上，可以看到所有可用的实时模板，使用复选框启用和禁用它们，编辑现有模板，并 [创建新模板](creating-and-editing-live-templates.html)。

![实时模板设置](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ij_live_templates_settings.png)

模板根据使用环境（通常是相应的语言）进行分组。 要将模板移动到其他分组，请右键点击模板，选择   移动  ，然后选择所需分组名称。

每个实时模板由包含字母数字字符、点和连字符的缩写定义。 缩写在一个组内必须唯一，但相同的缩写可以在不同的组中使用，并根据相应组的上下文扩展为不同的结构。 修改后的默认模板缩写以蓝色字体显示在列表中。

Procedure: 将修改后的模板恢复为默认设置

* 在 [实时模板](settings-live-templates.html)页面的   设置  对话框中，右键点击您想要还原的模板，然后点击   恢复默认设置  。

## See also

### 外部链接

[IntelliJ IDEA Blog: Write Code Faster Using Live Templates](https://blog.jetbrains.com/idea/2020/05/write-code-faster-using-live-templates/)

