HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

StyleCopインストール手順メモ

今風のStyleCopインストール

今風かと言われると今更風なのかもしれませんがね(その2).

この記事は NUnitのインストール手順メモ - HIDARI日記(右) の続きようなものです.

nugetしませんか(再)

  1. [ツール] - [ライブラリ パッケージ マネージャー] - [パッケージ マネージャー コンソール] を開きます
  2. [既定のプロジェクト] をテスト(があるプロジェクト)に設定します
  3. Install-Package StyleCop.MSBuild を入力して [Enter]
  4. パッケージのインストールが完了するまでほんの少し待機
  5. [ビルド] - [ソリューションのクリーン] を実行します
  6. 改めてプロジェクトをビルドします
  7. [エラー一覧] にStyleCopで検出されたルール違反が表示されます

f:id:hidari-yori:20131017205804j:plain

検証のルール変えたいですね

デフォルトの検証ルールは厳しすぎるのでStyleCopに付属のGUI設定ツールで変更します. デフォルト設定ファイルは packages\StyleCop.MSBuild.4.7.46.0\tools\Settings.StyleCop なので、今回はこれを直接編集することにします*1

コマンドプロンプトからソリューションのディレクトリの下にある packages\StyleCop.MSBuild.4.7.46.0\tools に移動します.

StyleCopSettingsEditor.exe Settings.StyleCop

を実行,GUI設定ツールが起動します*2

厳しすぎたり必要なさそうなルールのチェックを外して [OK] を押します.

f:id:hidari-yori:20131017210419j:plain

詳しいルールの説明(ちょっと古いかも)は 漫坊亭@ウィキ - トップページ/CSHARP/StyleCop - @ウィキモバイルStyleCop Rules (英語)あたりが参考になると思います.

設定ファイルは対象プロジェクトの直下から親ディレクトリを辿り、デフォルトへ向かって検索され、最初に見つかった Settings.StyleCop が使用されます.

複数のソリューションで使用する場合にはリポジトリ内のルートとかに置いておくのが楽といえば楽かもしれないですね。 そういった設定ファイルを編集するには、先ほど使用したGUI設定ツールを起動するコマンドを使い

StyleCopSettingsEditor.exe PATH\TO\Settings.StyleCop

と指定します.

またデフォルト以外の Settings.StyleCop を使用している場合、他の場所にある Settings.StyleCop をマージして使用することもできます.

  1. GUI設定ツールを開きます
  2. [Settings Files]タブを選択します
  3. [Merge with the following setting file:]から任意の Settings.StyleCop を選択します
  4. [OK]を押します

それでも私はVisual Studioに統合したい

  1. StyleCop - Home から最新のmsiをダウンロード
  2. インストールします(数分かかると思います)
  3. Visual Studioの[ソリューション エクスプローラー]でプロジェクトでコンテキストメニューを表示し [Run StyleCop] を実行します
  4. [エラー一覧]に警告が表示されます

f:id:hidari-yori:20131020011705j:plain

画像内のコンテキストメニューにしれっと表示されている通り,ここから [StyleCop Settings] を選択することで設定ツールを起動することもできるようになります.

なおこの方法でインストールする場合、StyleCopの実行は手動で行う必要があります.

nugetでインストールした場合のようにビルドにフックして実行するにはcsprojファイルを直接編集するなどの小細工が必要になります.

ちょいと面倒ですがこうすることでGUI設定ツールをVisual Studio上のコンテキストメニューから起動できるようになります.

まあ両方インストールすればいい・・・のか?

そういえば

nugetからインストールしたStyleCopの検証を手軽にオン/オフにする(もしくは検出された違反を表示/非表示にする)方法ご存知の方,いらっしゃいましたら教えていただきたいです.

なんでせっかく問題があることを教えてくれてるのにそんな事するんだって?

僕もそう思います.あとからまとめて修正したいんですかね.

*1:バージョンはこれを書いた時点でのものです.タイミングによって変わると思います.

*2:このツールはexeつついても起動しないのでご注意を