2021/09/03
C#の開発支援ツール「Resharper」のコマンドラインツールを使う
Resharperとは、JetBrains社が販売しているC#開発支援ツールです。
Visual Studio向けのアドオンと、コマンドラインで実行できるコマンドラインツールがあります。
Visual Studio向けのアドオンは基本有料で、コーディングのヒントや、ネーミング規則に違反した箇所の指摘などをアクティブに実施してくれます。
コマンドラインツールは無料で、コードを静的に解析するものです。コードレビュー等に有用です。
本記事では、無料のコマンドラインツールについてまとめています。
準備
Resharper公式から、コマンドラインツールをダウンロードしておきます。
コマンドラインツールの3つの機能
Resharperのコマンドラインツールには3つの機能があります。
- CleanupCode:コードの整形
- dupFinder :コードの重複の検出
- InspectCode:コードの検査
CleanupCode
インデントの修正、修飾子の修正、不要Usingディレクティブの削除など、コードの可読性を改善してくれます。
<実行コマンド>
cleanupcode.exe YourSolution.sln
既存のファイルに修正結果が上書きされますので、実行時は注意してください。
公式doc日本語訳
CleanupCodeコマンドラインツール
dupFinder
コードの重複を調べてレポートファイルをxml形式で出力してくれます。
<実行コマンド>
dupFinder.exe <source> --output=<FileName>
<レポートに重複コードまで含める場合の実行コマンド>
dupFinder.exe <source> --output=<FileName> --show-text
レポートファイルは下記のような感じです。
- statistics:重複コードの相対サイズがわかります。
- duplicates:重複箇所を示します。
公式doc日本語訳
dupFinderコマンドラインツール
InspectCode
コードを解析して、結果をxml形式で出力してくれます。
<実行コマンド>
InspectCode.exe YourSolution.sln --output=<FileName>
レポートファイルは下記のような感じです。
(小さくて見えづらいかもしれません)
- TypeId:指摘のカテゴリ
- Message:指摘詳細
- File/Offset/Line:指摘の場所
例えば、「TypeId:InconsistentNaming」は、ネーミングルール違反を教えてくれています。
公式doc日本語訳
InspectCodeコマンドラインツール
C# のコードインスペクション
以上です。