模板参数
代码模板的主体可能包含:
表示源代码结构和注释的纯文本。 在应用模板时按原样插入。
在应用模板时动态替换的模板 形参。 模板 形参 的格式如下:
$PARAM_NAME$- 其中PARAM_NAME是一个任意标识符。当格式正确时, 模板资源管理器窗口 会以深蓝色突出显示预定义的 形参,以深红色突出显示其他 形参:

预定义参数
以下模板 形参 在 ReSharper 中是预定义的:
$END$— 应用模板后光标的位置。$SELECTION$— 用户在调用模板之前选择的文本。 此 形参 仅用于 环绕模板。$SELSTART$— the starting position of the text block that will be selected after the template is applied.$SELEND$— the ending position of the text block that will be selected after the template is applied.
用户定义参数
创建或编辑模板时,所有其他 形参 都可以 使用任意标识符定义。 通常,您需要为 形参 提供 宏 ,以便在应用模板时计算其值。
此外,您可以使每个 形参 可编辑,以便用户在 应用模板时 更改其值。
可编辑参数
如果代码模板没有可编辑的 形参,它会立即应用,无需用户交互;所有不可编辑的 形参(如果有)将通过 宏 自动计算(例如,通过插入固定值、当前命名空间、类型名称,甚至剪贴板内容)。
将模板代码插入到源代码后,您将在模板开发者通过 $END$ 或 $SELEND$ 形参 指定的位置继续输入,但如果需要更改插入代码的某些部分,您只能返回并编辑它。
相比之下,可编辑的 形参 将显示可能需要更改的字段,并且通常会由底层宏为其建议合理的选项。 在熟悉 ReSharper 的过程中,您会发现其许多预定义模板都具有可编辑的 形参。 您还可以研究 创建和编辑模板 部分,了解如何创建和编辑具有可编辑 形参 的自定义模板。
例如,一个设计良好的用于遍历容器中所有元素的模板将使用可编辑的 形参,以便您选择:
一个 适合的循环索引变量名称(例如,
i或j)。一个 当前作用域中指定类型的所有变量列表(例如,Arrays 或 Lists)作为被迭代容器的表达式。
一个 适合的分配变量名称,用于在迭代期间保存当前容器元素。
被迭代容器中元素的类型。
当应用具有可编辑 形参 的模板时,ReSharper 会在编辑器中部署一个 热点会话。 此会话让您逐步指定或选择所有 形参 的值。 您可以用自己的输入替换 形参,或者接受建议的值之一。
在 使用实时模板创建源代码  和 使用模板环绕代码片段 部分中提供了应用具有可编辑 形参 的模板的示例。