编码辅助

ReSharper提供了多种功能,可用于获取代码的其他信息,选择和高亮显示结构化代码块以及应用局部代码转换。

C#语法高亮显示

语法高亮显示

ReSharper扩展了Visual Studio的默认高亮显示支持,能够以不同语言自定义代码项的高亮显示。 例如,您可以轻松区分代码中的局部变量和字段。 要开启ReSharper的高亮显示,请转到ReSharper | Options | Code Inspection | Settings,然后选择Color Identifiers。 每个项的自定义颜色可以配置。

ReSharper的上下文操作

上下文操作

ReSharper 的上下文操作可以对脱字符号处的代码快速进行小幅更改,让您避免许多输入操作 - 例如,您可以更改访问修饰符,生成检查 null 的代码,将 foreach 转换为 for 及反向转换 - 所有操作只需按几次键即可完成。 如果一个或多个上下文操作可用于当前脱字符号位置,ReSharper 会显示锤头图标 ReSharper's context action indicator:您可以点击此图标或按 Alt+Enter 选择合适的操作。

"补全语句"功能的不同情景

补全语句

此功能会插入必要的语法元素(大括号、分号,等等),并让您处于合适的位置以开始下一个语句,从而让您不会在脱字符号上花费过多精力。 工作时,请牢记此功能默认的快捷键为:Ctrl+Shift+Enter

补全语句(也称为智能输入)可以在多种情况下解决问题;包括自动插入右括号,添加分号,补全ifwhilefor语句,等等。

使用ReSharper注入语言

语言注入

如果字符串文字(以及 XML 语言中的标签或特性)包含一些其他正式语言,例如正则表达式、HTML、CSS、JavaScript、JSON,ReSharper 可以提供代码检查快速修复代码补全上下文操作,以及特定于这段节选中此语言的许多其他功能。

在无法自动检测字符串文字中的正式语言时,ReSharper允许您手动将文字标记为包含特定语言。您可以使用Alt+Enter菜单,或者在字符串文字前添加以下注释:/*language=javascript|html|regexp|jsregexp|json|css*/

正则表达式验证程序

正则表达式辅助

ReSharper提供了丰富的工具来处理C#、JavaScript和TypeScript中的正则表达式。 您可以快速地分析现有的表达式,查找并修复错误。 在您输入新表达式时,ReSharper可以进行自动补全和验证。

您可以在菜单中选择ReSharper | Tools | Validate Regular Expression,输入各种示例字符串并查看您的正则表达式是否匹配这些字符串。 使用此对话框,您可以修复表达式,并确保您获得所需的匹配内容。

参数信息

参数信息

Visual Studio的这一部分IntelliSense在ReSharper中也得到了扩展。 在您调用方法时,Parameter Info会为您显示所有可用的方法签名和参数,并在工具提示中包含相关文档。 工具提示会在您输入时自动显示,或者您可以通过按Ctrl+Shift+Space显示它。 您在添加新参数时,ReSharper会灰显不兼容的任何签名。

高亮显示匹配的分隔符

高亮显示匹配的分隔符

在C#、JavaScript或TypeScript中,只要您在右小括号/中括号/大括号前后放置脱字符号,就会高亮显示匹配的左边字符,反之亦然(此选项可配置)。

在VB.NET中,将脱字符号放置于End SubEnd Function内部或之后的任意位置时,都会高亮显示匹配的SubFunction。 只要您将脱字符号放置于左关键字内,就会高亮显示匹配的关键字和它的行(同样,您可以微调此功能)。

在XML中,匹配的标记会不明显地高亮显示,从而让您能够看到标记结构。
如果匹配的一段代码滚出屏幕,将出现相应的弹出窗口,方便您查看。

自动命名空间导入

导入命名空间

如果由于您忘记在源代码中发出相应的命名空间导入指令而无法解析类型名称,会出现一个小的弹出窗口来建议一个或多个要导入的类型。 只需按Alt+Enter,合适的命名空间导入指令将自动插入。 另外,您将不会丢失当前的脱字符号位置。

对于Web应用程序中的标记文件,ReSharper可以根据它们的用法自动导入用户控件(ascx文件)。

自动插入分隔符

当您在编辑器中输入(["'时,会自动插入成对的字符(如适用)。 此功能很容易关闭,不过您不必担心会错误地插入过多的右小括号、中括号或引号:如果右括号或引号已经存在,ReSharper将不会添加第二个。
在XML中,在您输入左引号或中括号时,右符号将自动出现。

复制行或选择

在编辑器中将脱字符号放置在任意行上(或者,分别选择块),然后按Ctrl+D,可以快速地复制此代码行(块)。

使用ReSharper快捷键重新排列代码

代码重新排列

借助ReSharper,您可以通过按以下四个键快速更改代码元素的顺序:Ctrl+Shift+Alt+Up/Down/Left/Right。 特别是,您可以将成员上下移动,重新排列参数,在块内移动语句,将语句移出或移入块,将XML标记上下移动,将XML特性左右移动,等等。

Quick Documentation弹出窗口

快速文档

要直接在编辑器中查看特定类、方法/函数或其他符号的文档,请将脱字符号放置在代码符号上,然后按Ctrl+Shift+F1。 文档会在弹出窗口中显示,其中包含其他资源的可点击链接,最主要的是MSDN文档。

使用ReSharper注释/取消注释代码

注释/取消注释代码

在编辑器中选择任何代码块并按Ctrl+Alt+/(适用于行注释)或Ctrl+Shift+/(适用于块注释)可以立即注释或取消注释该代码块。

如果未选择代码块,您还可以使用Ctrl+Alt+/快速注释或取消注释编辑器中脱字符号所在位置的代码行。 在同样的情况下,按Ctrl+Shift+/会立即在脱字符号位置前后插入左块注释(/*)和右块注释(*/),如果脱字符号位于注释的代码块中,则会将它们移除。

扩大或缩小代码选择

扩大/缩小代码选择

Extend Selection功能可以帮助您连续选择扩大的代码块。 也就是说,您可以通过将脱字符号放置在代码中的某个位置,然后按几次Ctrl+Alt+Right,轻松地选择代码中的任何表达式。 Shrink Selection正好相反,可以通过按Ctrl+Alt+Left应用。

您也可以按Ctrl+Shift+[,快速选择脱字符号所在处的成员,甚至成员的包含类型。

拆分字符串文字:之前

拆分字符串文字

如果您需要输入长字符串文字,ReSharper会添加必要的引号和加号字符,帮助您将它们拆分成几行:当脱字符号位于字符串文字中时,按EnterShift+Enter可以拆分字符串,而不会中断它的值。

多条目剪贴板

从剪贴板历史记录粘贴项

ReSharper提供了一个特殊的粘贴命令(按Ctrl+Shift+V可以调用),借助此命令,您可以访问剪贴板历史记录并快速地将最近从Visual Studio中复制的任意项粘贴到剪贴板。 在您启动Visual Studio后, ReSharper会开始将复制的项记录到它的剪贴板历史记录中;在您关闭Visual Studio时,ReSharper会清除历史记录。

快捷键注释

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