2010-04-28 2 views
2

나는이 많은이 큰 기존 코드베이스를 처리하고있다 :Resharper를 사용하여 "중복 캐치 제거"에 대한 프로젝트 차원의 스윕을 수행하는 방법은 무엇입니까?

try 
{ 
    ... 
} 
catch 
{ 
    throw; 
} 

ReSharper에서이 유용하게 다음을 표시하고 "중복 캐치 제거"할 수있는 옵션을 제공합니다,하지만 난 하나를 통해 갈 필요 좋아하지 않는다 - 하나씩, 나는 그들을 모두 한꺼번에 닦아 내고 싶다. Resharper를 사용하여 "코드 정리"와 통합하는 방법이 있습니까?

답변

5

Resharper 5.0을 사용하는 경우 패턴 파일 (Resharper> 도구> 패턴 카탈로그> 가져 오기)에 다음 패턴을 가져올 수 있습니다 (XML 파일로 저장). 지금 검색을 실행하여 모든 인스턴스를 찾을 수 있습니다. 검토하고 교체를 수행하도록 선택하십시오.

<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> 

패턴이 내 테스트 코드에서 작동했습니다. 패턴 매칭 엔진이 공백을 처리하는 방법을 모르므로 탭을 공백으로 변경하거나 코드 표준이 적절한 것으로 변경해야 할 수도 있습니다.

+0

고맙습니다. Handcraftsman! 확인을 위해 JetBrains에 전자 메일을 보내어 동일한 해결책을 제시했습니다. "솔루션 전체에 특정 중복 수정 (예 : '중복 제거'제거)을 적용 할 방법이 없지만 새로운 구조 검색 및 바꾸기 기능을 사용할 수 있습니다 그러한 구조를 검색하고 대체 할 수 있습니다. " 블로그에 약간의 워크 스루가 있습니다. http://blogs.jetbrains.com/dotnet/2010/04/introducing-resharper-50-structural-search-and-replace/ –

관련 문제