2
我處理的一個大的舊代碼庫,有很多的這些:如何使用Resharper進行「刪除多餘的catch」的項目範圍掃描?
try
{
...
}
catch
{
throw;
}
ReSharper的有益標誌着這些,並提供選項「刪除冗餘抓」,但我不喜歡去通過一個我想一下子把它們全部清除掉。有沒有辦法用Resharper來做到這一點,可能是通過將其與「代碼清理」集成在一起?
我處理的一個大的舊代碼庫,有很多的這些:如何使用Resharper進行「刪除多餘的catch」的項目範圍掃描?
try
{
...
}
catch
{
throw;
}
ReSharper的有益標誌着這些,並提供選項「刪除冗餘抓」,但我不喜歡去通過一個我想一下子把它們全部清除掉。有沒有辦法用Resharper來做到這一點,可能是通過將其與「代碼清理」集成在一起?
如果您使用的是Resharper 5.0,則可以將以下模式(將其另存爲xml文件)導入模式目錄(Resharper> Tools> Pattern Catalog> Import),然後運行「立即搜索」以查找所有實例審查並選擇對其進行更換。
<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>
該模式對我的測試代碼起作用。我不知道模式匹配引擎如何處理空白,因此您可能必須將標籤更改爲空格或適當的代碼標準。
謝謝Handcraftsman!爲了檢查,我給JetBrains發送了電子郵件,他們告訴我同樣的事情:「無法應用某種快速修復(例如'刪除多餘的捕獲')解決方案,但可以使用新的結構搜索和替換功能去尋找和替換這樣的結構。「 在他們的博客上有一點點演講: http://blogs.jetbrains.com/dotnet/2010/04/introducing-resharper-50-structural-search-and-replace/ – 2010-05-04 11:45:53