代码模板

ReSharper提供多种代码模板,它们可以帮助您快速编写代码结构,以封闭块包围现有代码,或者创建新文件。 您可以创建特定于自己的编码习惯或基本代码的模板。

C#中的ReSharper实时模板

实时模板

实时模板是ReSharper的更智能版本的Visual Studio代码段。

要应用实时模板,只需输入模板缩写,然后在补全列表中按Tab展开模板。 之后,使用EnterTab在模板参数中导航。 (如果您使用Visual Studio的原生代码补全,请按Ctrl+E、L显示可用实时模板的列表,并展开模板。)

与代码段不同,ReSharper可以在相应的模板中从能够使用变量、字段和类型的上下文预测。 大多数情况下,您无需自己输入任何内容。 只需从建议值的列表中选择。 而且,ReSharper 可为 C# 导入 Visual Studio 代码段,并让它们能够用作实时模板。

ReSharper为大多数支持的语言和技术提供了170多个预定义实时模板。 此列表包含多个模板,可用于通过集合迭代,编写断言方法,创建新数组,输出值,编写LINQ查询,生成自动属性,等等。

C#中的ReSharper包围模板

包围模板

包围模板可以使用if...elsetry...catch或其他代码结构快速包围表达式、单个语句或任意的代码块。 ReSharper会智能地重新设置代码格式,调整选择,以及/或者重定位脱字符号,这样,您可以在应用模板后立即继续输入。

要包围一段代码,请选择代码,然后按Ctrl+E、U,这会显示一个包含可用包围模板的专用弹出窗口。 或者,您可以在选择上按Alt+Enter,这会显示上下文菜单,其中包含适用的包围模板与其他功能,例如代码格式化程序和上下文操作。

ASP.NET中的ReSharper文件模板

文件模板

ReSharper让您能够添加包含预定义代码片段的新文件和文件组。 例如,您可以使用类声明、接口和结构体声明等创建新文件。 要从文件模板列表中选择,请按Ctrl+Alt+Ins,无需离开文本编辑器。

如果文件模板设计用于创建多个文件,ReSharper会在您的解决方案的指定位置添加这些文件,并使用同步参数初始化它们的内容。

C#中的ReSharper后缀模板

后缀模板

后缀模板可以帮助您转换已经输入的表达式,无需向后跳转。 例如,您可以使用ifwhilelockusing包围当前的表达式,在当前表达式前面添加returnyield returnawait,在集合上迭代,生成switch语句,将表达式转换为特定类型,甚至为表达式引入字段或属性。

使用ReSharper应用源模板

源模板(仅限C#)

您可以使用自定义源模板轻松扩展后缀模板的列表,在项目代码中的任何位置都能以扩展方法的形式创建后缀模板。 您能够以使用 JetBrains.Annotations 框架中的 [SourceTemplate] 属性修饰的公开扩展方法形式,为项目的一些特定类型或任何标准类型定义后缀模板。

为了阐明源模板的使用,我们可以创建一个简单的模板,此模板将帮助我们检查double值与Pi的相等性,并将您的脱字符号移动到下一行单元测试。

现在,我们可以在计算结果为double值的任何表达式后面输入点,然后调用创建的模板。

当您在补全列表中选择模板后,表达式会被替换为模板代码,且脱字符号会按模板中所述移动。

模板编辑器

自定义、配置和共享模板

您可以创建自己的模板,以及修改ReSharper捆绑的模板。

为了编辑模板,ReSharper提供了Template Editor,此工具会在单独的Visual Studio代码窗格中打开,让您可以在代码和模板编辑环境之间切换,并能更快速地完成模板的实际测试。

Templates Explorer窗口

您可以使用Templates Explorer管理模板 - 选择ReSharper | Tools | Templates Explorer可以调用此窗口。

定义后,使用Templates Explorer能够以两种方法轻松在团队成员之间共享任何模板。

与团队成员共享模板的另一种方法是将设置层的机制用作 ReSharper 设置中保存的代码模板。 为了让使用同一共享解决方案的其他开发者能够利用模板,您可以在团队共享的设置层中创建新代码模板,或者将现有模板复制到团队共享的设置层。

您也可以将代码模板导出到文件中,分发给其他开发者或者与他们共享。 相应地,您可以导入由其他开发者创建和共享的代码模板。

快捷键注释

本页面提供的所有键盘快捷键都在 ReSharper 的默认“Visual Studio”按键映射中。 有关 ReSharper 两种按键映射的详细信息,请参阅 ReSharper 文档