IntelliJ IDEA 2025.2 Help

教程:使用变量和函数创建实时模板

在本教程中,您将学习如何创建并使用包含 变量函数的简单 实时模板

我们将使用 Spring PetClinic应用作为示例项目。 最终生成的实时模板将:

  • 创建一个继承自 Pet 类的新 Java 类。

  • 定义一个名为 food 的字符串属性,其值从一个列表中选择。

  • 实现一个打印消息的 petFood() 方法。

首先,在 IntelliJ IDEA 中 打开 Spring PetClinic 应用。 如果您本地没有该应用,请从 GitHub 克隆:

克隆示例项目

该应用的源代码托管在 GitHub: https://github.com/spring-projects/spring-petclinic

  1. 在主菜单中,前往 文件(F) | 新建(N) | 来自版本控制的项目…

  2. 请指定存储库的 URL,然后点击 克隆

  3. 如有必要,请同意在新窗口中打开克隆的项目。

现在我们将创建一个新的实时模板。 为了展示变量和函数在模板中的工作方式,我们将在模板文本中添加以下变量:

  • $ClassName$ :一个继承自 Pet 类的新类的名称。 它没有预定义的值,这意味着在插入模板后 IntelliJ IDEA 会提示您输入类名。

  • $Food$ :包含三个可能的值的列表: meatgrassfruit。 我们将使用 enum() 函数来定义此列表。 插入模板后,IntelliJ IDEA 会在编辑器中提示您选择其中一个值。

  • $PetName$ :以小写字母开头的类名,以便可在语句中使用。 这展示了 decapitalize() 函数对另一个变量的应用。

使用变量创建实时模板

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器 | 实时代码模板

  2. 选择 Java 组,点击 "添加"按钮 ,然后选择 实时模板

  3. 缩写 字段中,指定将用于扩展模板的字符。 例如, pet

  4. 模板文本 字段中,粘贴以下模板:

    type $TypeName$ struct { food string } func (p *$TypeName$) PetFood() { food := "$Food$" println("The $typeName$ eats " + food) }
    class $ClassName$ extends Pet { String food = "$Food$"; public void petFood() { System.out.println("The $PetName$ eats " + food); } }
    创建实时模板
  5. 如果出现 无适用上下文 警告,请点击 定义 并选择 Java ,仅在该上下文中启用该实时模板。

  6. 点击 编辑变量(E)… 并在 编辑模板变量 对话框中配置变量:

    • $ClassName$ :保留 表达式 字段为空。 使用模板时,IntelliJ IDEA 会在插入模板后提示用户输入类名称。

    • $Food$ :在 表达式 字段中,输入 enum("meat","grass", "fruit")。 使用该模板时,IntelliJ IDEA 会在编辑器中显示这些值列表供选择。

    • $PetName$ :在 表达式 字段中,输入 decapitalize (ClassName)。 此函数将 $ClassName$ 变量值的首字母转换为小写。

      选择 如果定义则跳过 ,因为该值是自动派生的,不需要用户输入。

    编辑模板变量

使用创建的模板

  1. 项目 工具窗口中,导航到 拥有者 包,并 创建一个新的 Java 类。 将 Horse 指定为类名。

  2. 在编辑器中,开始输入模板缩写(例如: pet ),并从自动完成下拉菜单中选择它。

  3. 将类名称作为变量值输入: Horse。 按下 Tab 跳转到下一个变量。

  4. 使用键盘箭头,选择 grass 作为 food 字符串的值,然后按 Enter

最后修改日期: 2025年 9月 22日