如何为“进行项目范围的扫描”;拆下多余的锁扣“;使用Resharper?
我正在处理一个大型的旧代码库,其中有很多:如何为“进行项目范围的扫描”;拆下多余的锁扣“;使用Resharper?,resharper,Resharper,我正在处理一个大型的旧代码库,其中有很多: try { ... } catch { throw; } Resharper很有帮助地标记了这些,并提供了“删除多余捕获”的选项,但我不喜欢一个接一个地检查,我想一次将它们全部清除。有没有一种方法可以通过将Resharper与“代码清理”集成在一起来实现这一点?如果您使用的是Resharper 5.0,则可以将以下模式(另存为xml文件)导入模式目录(Resharper>工具>模式目录>导入)然后立即运行搜索以查找所有实例,以便您可以
try
{
...
}
catch
{
throw;
}
Resharper很有帮助地标记了这些,并提供了“删除多余捕获”的选项,但我不喜欢一个接一个地检查,我想一次将它们全部清除。有没有一种方法可以通过将Resharper与“代码清理”集成在一起来实现这一点?如果您使用的是Resharper 5.0,则可以将以下模式(另存为xml文件)导入模式目录(Resharper>工具>模式目录>导入)然后立即运行搜索以查找所有实例,以便您可以查看并选择对其执行替换
<CustomPatterns>
<Pattern Severity="HINT">
<Comment>useless catch</Comment>
<ReplaceComment>remove useless catch</ReplaceComment>
<ReplacePattern>$code$</ReplacePattern>
<SearchPattern><![CDATA[try
{
$code$
}
catch
{
throw;
}]]></SearchPattern>
<Params />
<Placeholders>
<StatementPlaceholder Name="code" Minimal="1" Maximal="-1" />
</Placeholders>
</Pattern>
</CustomPatterns>
无用的捕获物
除去无用的捕获物
$code$
该模式在我的测试代码中起作用。我不知道模式匹配引擎是如何处理空白的,因此您可能需要将制表符更改为空格或任何适合您的代码标准。感谢HandCrafter!为了核实一下,我给JetBrains发了电子邮件,他们告诉我同样的事情:“没有办法在整个解决方案范围内应用某种快速修复(如“删除冗余捕获”),但您可以使用新的结构化搜索和替换功能来搜索和替换此类结构。”他们的博客上有一个小的介绍: