创建自定义代码检查和快速修复
如果您在代码中发现问题或不良实践,但 ReSharper 未检测到,您可以创建自定义代码检查。 此外,您可以指定应替换问题代码的代码,换句话说,自定义 快速修复。
如果正确创建了自定义检查,它将能够在您的代码库中找到所有类似问题,并直接在编辑器中突出显示问题代码。
要创建自定义检查,您可以利用 结构化搜索和替换 机制。
为了说明如何创建自定义检查,假设我们不喜欢以下代码:
…并希望将其替换为: 并希望将其替换为:
创建带有快速修复的自定义代码检查
在编辑器中,选择应视为问题的一段代码。
右键单击所选内容,然后选择 使用模式搜索。
ReSharper 显示 Search with Pattern对话框,其中选定的代码已预解析为搜索模式。 某些标识符、参数、类型等会自动替换为占位符:

为了使检查模式更通用,请编辑已识别的 占位符 :并用更多占位符替换其他代码项。 例如,我们可以将示例中
try块中的单个语句替换为匹配任意数量语句的占位符。要为问题指定快速修复,请单击对话框右上角的 替换。
在 替换模式 区域中,指定应用于替换问题代码的模式。 对变量代码项使用相同的占位符。
以下是我们示例中改进的模式和快速修复的外观:

单击 保存 ,然后单击 关闭 以完成操作。 自定义检查使用 智能保存逻辑保存在模式目录中。
请注意,问题代码片段尚未在编辑器中突出显示。 我们需要再做一些事情才能使其生效。
从主菜单中选择 或按 Alt+R O ,然后在左侧选择 。
在模式列表中,找到与您刚创建的自定义检查对应的模式。 默认情况下,其 严重性级别设置为“不要显示”,这意味着 ReSharper 将忽略与您的自定义检查对应的问题。
要启用检查,请选择其他任何严重性级别,例如“建议”。
最后,我们可以指定将显示在自定义检查及其对应快速修复中的描述。
为此,请双击模式,然后在打开的 编辑高亮模式 对话框中,在相应字段中指定描述:

保存对模式的更改,关闭它,然后再次单击 保存 ,位于 ReSharper 选项的 自定义模式 页面上。
现在问题已在编辑器中被识别并突出显示。 当您将鼠标悬停在其上时,会显示指定的描述:

由于我们改进了检查模式,即使构造函数调用中的参数数量或语句数量不同,它也会找到类似的问题:

自定义检查的快速修复看起来并且工作方式与内置的 快速修复完全相同。

如果您需要在更大的范围内查找自定义模式描述的问题,您有几种选择:
在 ReSharper 选项的 页面上选择检查模式,然后单击页面工具栏上的 立即搜索。
在所需范围内运行代码检查 ,然后与检测到的其他代码问题一起分析您的自定义问题。
使用 查找类似问题操作,该操作会在您按下编辑器中突出显示代码上的 Alt+Enter 时出现在检查选项中。
此功能在以下语言和技术中 受支持:
此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。