创建实时/环绕模板
动态/环绕模板 可用于 在现有文件中生成代码 ,并且(如果模板正文中有 $SELECTION$ 参数 )可用于 用模板代码环绕代码片段 ,例如 try...catch 语句。
每个动态模板通过一个 快捷方式 标识——一个简短的字符字符串,例如 foreach——您可以直接在编辑器中键入以调用模板。
实时/环绕模板可以用于多种用途,例如创建类、DTO 或单元测试的框架。
实时/环绕模板的主体由纯文本组成,这些文本将按原样显示,以及 参数。 其目的是将这些内容结合起来,以最大限度地提高调用模板时的效率。
创建一个新的实时/环绕模板
从主菜单中选择 。
在出现的 模板资源管理器窗口 中,单击 实时模板 或 环绕模板 选项卡。
单击 新建模板
。 新创建的模板将在 模板编辑器 中打开。在 快捷方式 字段中指定模板快捷方式。 它用于在 从模板创建代码时快速调用模板;它还会出现在 代码补全列表中。 在 描述 字段中,为模板输入可选描述。
要更改模板的默认 作用域 ,请单击 可用性 超链接。 在出现的对话框中,使用复选框定义新模板可以应用的位置。 您可以展开某些作用域以指定详细信息(例如,文件掩码或语言版本)。
如果模板使用了非系统程序集中的类和方法,您可以使模板仅在引用这些程序集的项目中可用——在 全局 类别中,选择 引用 并指定不带 .dll 扩展名的程序集名称:

通过键入或粘贴所需代码并将其与 形参s 混合来创建模板主体。
例如,模板主体可以如下所示:
public class $className$ { public $idType$ $className$Id {get; set;} $END$ }如您所见,有三种类型的元素具有不同的 高亮显示:
文本——模板主体中以纯文本形式编写的任何内容将在我们 调用模板时按原样显示。
预定义的 形参——在我们的示例中,
$END$形参 告诉 ReSharper 我们希望在完成应用模板后光标的位置。用户定义的 形参——一旦您键入一个 形参(以
$为前缀和后缀),它将在文本区域右侧的 形参 部分中可用。 您可以按照 声明模板参数 部分中描述的方式配置所有定义的 形参s。在我们的示例中,为了在调用时确定类名,我们将
$className$$设为 形参。 同样地,由于我们不知道希望 Id 的类型是什么,$idType也会如此。 最后是Id属性。 由于我们希望它类似于类名,我们只需使用相应的 形参 并以 'Id' 作为后缀。
$className$$参数的不同高亮显示(红色和黑色框)表示红色条目将在 热点会话 中作为初始输入位置,当模板被调用时。使用 用于 选择器,指定模板是否可用于生成新代码、环绕现有代码或两者兼有。 如果您希望将创建的模板用于环绕代码,请添加
$SELECTION$参数,该参数表示用户在调用模板之前选择的文本。在 助记符 字段中,您可以指定一个 [0-9] 数字,当您 用模板环绕代码时将使用该数字:
如果指定了某个助记数字,当您按下 Alt+Enter 选择时,模板将在 包围方式... 下可用。
指定的助记数字将在您按下 Alt+Control+J (或从菜单中选择 )时显示在模板旁边。 然后,您可以按相应的键快速应用此模板。
配置模板格式选项:
选择 重新设置格式 复选框,使 ReSharper 根据您的 格式偏好自动重新格式化扩展的代码片段。
选择 缩短限定引用 复选框,使 ReSharper 自动插入命名空间导入指令或删除在应用模板后变得多余的限定符。 如果未选中此复选框,ReSharper 将不会插入任何命名空间导入指令。
要保存模板,请在 Visual Studio 菜单中选择 或按 Ctrl+S 。