ReSharper 2025.2 Help

创建实时/环绕模板

动态/环绕模板 可用于 在现有文件中生成代码 ,并且(如果模板正文中有 $SELECTION$ 参数 )可用于 用模板代码环绕代码片段 ,例如 try...catch 语句。

每个动态模板通过一个 快捷方式 标识——一个简短的字符字符串,例如 foreach——您可以直接在编辑器中键入以调用模板。

实时/环绕模板可以用于多种用途,例如创建类、DTO 或单元测试的框架。

实时/环绕模板的主体由纯文本组成,这些文本将按原样显示,以及 参数。 其目的是将这些内容结合起来,以最大限度地提高调用模板时的效率。

创建一个新的实时/环绕模板

  1. 从主菜单中选择 ReSharper | 工具 | 模板资源管理器…

  2. 在出现的 模板资源管理器窗口 中,单击 实时模板环绕模板 选项卡。

  3. 如果您希望在特定的 设置层中创建模板,请在 列表中选择所需的层。 有关更多信息,请参阅 模板存储

  4. 单击 新建模板 ThemedIcon.AddLiveTemplate.Screen.(Gray).png。 新创建的模板将在 模板编辑器 中打开。

  5. 快捷方式 字段中指定模板快捷方式。 它用于在 从模板创建代码时快速调用模板;它还会出现在 代码补全列表中。 在 描述 字段中,为模板输入可选描述。

  6. 要更改模板的默认 作用域 ,请单击 可用性 超链接。 在出现的对话框中,使用复选框定义新模板可以应用的位置。 您可以展开某些作用域以指定详细信息(例如,文件掩码或语言版本)。

    如果模板使用了非系统程序集中的类和方法,您可以使模板仅在引用这些程序集的项目中可用——在 全局 类别中,选择 引用 并指定不带 .dll 扩展名的程序集名称:

    ReSharper:为模板选择作用域
  7. 通过键入或粘贴所需代码并将其与 形参s 混合来创建模板主体。

    例如,模板主体可以如下所示:

    public class $className$ { public $idType$ $className$Id {get; set;} $END$ }

    如您所见,有三种类型的元素具有不同的 高亮显示

    • 文本——模板主体中以纯文本形式编写的任何内容将在我们 调用模板时按原样显示。

    • 预定义的 形参——在我们的示例中, $END$ 形参 告诉 ReSharper 我们希望在完成应用模板后光标的位置。

    • 用户定义的 形参——一旦您键入一个 形参(以 $ 为前缀和后缀),它将在文本区域右侧的 形参 部分中可用。 您可以按照 声明模板参数 部分中描述的方式配置所有定义的 形参s。

      在我们的示例中,为了在调用时确定类名,我们将 $className$$ 设为 形参。 同样地,由于我们不知道希望 Id 的类型是什么, $idType 也会如此。 最后是 Id 属性。 由于我们希望它类似于类名,我们只需使用相应的 形参 并以 'Id' 作为后缀。

    $className$$ 参数的不同高亮显示(红色和黑色框)表示红色条目将在 热点会话 中作为初始输入位置,当模板被调用时。

  8. 使用 用于 选择器,指定模板是否可用于生成新代码、环绕现有代码或两者兼有。 如果您希望将创建的模板用于环绕代码,请添加 $SELECTION$ 参数,该参数表示用户在调用模板之前选择的文本。

  9. 助记符 字段中,您可以指定一个 [0-9] 数字,当您 用模板环绕代码时将使用该数字:

    • 如果指定了某个助记数字,当您按下 Alt+Enter 选择时,模板将在 包围方式... 下可用。

    • 指定的助记数字将在您按下 Alt+Control+J (或从菜单中选择 ReSharper | 编辑| 使用模板包围… )时显示在模板旁边。 然后,您可以按相应的键快速应用此模板。

  10. 配置模板格式选项:

    • 选择 重新设置格式 复选框,使 ReSharper 根据您的 格式偏好自动重新格式化扩展的代码片段。

    • 选择 缩短限定引用 复选框,使 ReSharper 自动插入命名空间导入指令或删除在应用模板后变得多余的限定符。 如果未选中此复选框,ReSharper 将不会插入任何命名空间导入指令。

  11. 要保存模板,请在 Visual Studio 菜单中选择 文件 | 保存选定项 或按 Ctrl+S

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