ReSharper 2025.2 Help

模板存储

ReSharper 的代码模板的一个有趣之处在于其分布式存储。 代码模板足够智能,可以在不深入了解其内部组织细节的情况下使用和管理它们。 然而,如果您在编辑或共享模板时遇到任何问题,或者有复杂的使用场景,您可能需要研究这些细节。

预定义模板

所有 预定义模板都存储在 ReSharper 安装中。 所有必要的修改,包括删除预定义模板,都会保存在 设置层中。

为了更好地理解其工作方式。 让我们将一个预定义模板简化为三个字段:正文、描述和范围,如下图所示。 现在假设我们在第 1 层编辑了模板的范围,然后在第 2 层编辑了模板的描述,最后在第 3 层再次编辑了模板的范围:

预定义模板的简化视图

当应用所有三层时,我们得到的修改模板将包含原始预定义模板的正文、第 2 层的描述以及第 3 层的范围,因为它覆盖了底层的第 1 层。

代码模板在内部通过 GUID 进行标识,以允许所有字段都可以编辑。 预定义模板在所有 ReSharper 安装中具有相同的 GUID。 因此,如果您导出对预定义模板的修改,其他 ReSharper 用户导入时不会有任何问题。

由于对预定义模板的所有修改都保存在设置层中,您可以通过清除包含修改的层随时恢复这些模板的默认状态。 即使您删除了一个预定义模板,ReSharper 也只是将其标记为在相应的设置层中已删除,因此如果您清除此层,被删除的模板将被恢复。

要清除设置层,请在主菜单中选择 ReSharper | 管理选项 ,然后右键单击该层并选择 重置 ,勾选 PatternsAndTemplates 项并单击 重置

用户定义模板

与预定义模板不同,每个用户定义模板都保存在某个 设置层中。 如果您在定义该模板的层中 编辑该模板,则编辑的字段会被修改。 然而,如果您在另一个层中编辑用户定义模板,修改将与预定义模板一样保存在该层中。

以下用户定义模板的简化模型显示了一个在第 2 层创建的模板,然后在同一层中修改了其描述,最后在第 3 层编辑了其范围:

用户定义模板的简化视图

用户界面

您可以在 模板资源管理器窗口 中控制模板的存储。 使用 选择器选择一个设置层,查看哪些用户定义模板保存在该层中,并在必要时对其进行修改。 选择器中显示的层的顺序对应于层相互覆盖的顺序(参见上图)。

在模板资源管理器中选择设置层

如果所选层仅包含对其他模板的修改,您将看不到它们。 然而,如果该层包含对预定义模板的修改,您可以看到这些修改是如何应用的。 为此,请单击 筛选模板 ThemedIcon.Filter.Screen.(Gray).png 并选择 显示预定义模板

要在特定层中 创建一个新模板 ,请在 选择器中选择该层,然后单击 新建模板 ThemedIcon.AddLiveTemplate.Screen.(Gray).png

智能 层的工作方式如下:

  • 如果您创建一个新模板,它将保存在“此计算机”层中。

  • 如果您修改保存在“此计算机”层中的模板,修改将保存在该层中。

  • 如果您修改保存在任何其他层中的模板,修改将保存在“解决方案个人”层中。

  • 如果您修改预定义模板,修改将保存在“此计算机”层中。

模板存储机制乍看之下可能有些复杂,但它可以帮助您为每个解决方案拥有正确的模板集,与团队 共享模板导入和导出模板 ,且无需花费太多精力。 以下是几个示例,说明它可能如何提供帮助。

  • 您更改了一个 范围 ,以便预定义模板可以应用于某些自定义文件类型。 然后,在 ReSharper 的新版本中,模板正文被更新。 安装此新版本后,您将获得更新的正文,同时保留修改后的范围。

  • 您的团队负责人 创建了一个自定义实时模板,并与团队 共享。 您喜欢这个模板并使用它,但您更喜欢为其设置其他快捷方式。 没有问题. 您可以编辑模板的快捷方式,并将更改保存在 解决方案个人设置层中,该层会覆盖 解决方案团队共享层。 因此,您将拥有个人快捷方式,而团队不会看到任何更改。 当然,如果模板正文或范围被更新,您将获得所有更新。

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