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

通过键入或粘贴所需代码并将其与 变量s 混合,创建模板正文。
例如,模板正文可以如下所示:
public class $className$ { public $idType$ $className$Id {get; set;} $END$ }如您所见,有三种类型的元素:
文本——在模板正文中以普通文本形式编写的任何内容将在我们 调用模板时按原样显示。
预定义的 变量——在我们的示例中,
$END$变量 告诉 JetBrains Rider 在我们完成应用模板后希望光标所在的位置。用户定义的 变量——一旦您键入一个 变量(以
$为前缀和后缀),它将在 编辑变量 对话框中可用。 您可以按照 声明模板变量 部分中描述的方式配置所有定义的 变量s。在我们的示例中,为了在调用时确定类名,我们将
$className$$设为 变量。 同样地,由于我们不知道希望 Id 的类型是什么,$idType也会如此。 最后是ID属性。 由于我们希望它类似于类名,我们只需使用相应的 变量,并以 'Id' 作为后缀。
使用 使用作用域 选择器,指定模板是否可用于生成新代码、环绕现有代码或两者兼有。 如果您希望将创建的模板用于环绕代码,请添加
$SELECTION$参数,该参数表示用户在调用模板之前选择的文本。在 助记符 字段中,您可以指定一个 [0-9] 数字,当您 用模板环绕代码时将使用该数字:
If some mnemonic digit is specified, the template will be available under 包围方式... when you press Alt+Enter on the selection.
指定的助记数字将在您按下 Ctrl+Alt+T (或从菜单中选择 )时出现在模板旁边。 然后,您可以按下相应的键快速应用此模板。
配置模板格式选项:
选择 重新设置格式 复选框,使 JetBrains Rider 根据您的 格式偏好自动重新格式化展开的代码片段。
选择 缩短限定引用 复选框,使 JetBrains Rider 自动插入命名空间导入指令或删除在应用模板后变得多余的限定符。 如果未选中此复选框,JetBrains Rider 将不会插入任何命名空间导入指令。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。