2017年12月15日金曜日

共通のカスタムルールを複数プロジェクトに設定する(StyleCopAnalyzers)

どうも。ひっくです。

現在私が携わっている案件では、StyleCopAnalyzersを使用しています。
(StyleCopAnalyzersとは、ソースコードに対する静的分析ツールです。)

今回はソリューション内の複数プロジェクトで共通のカスタムルールを利用する方法について
備忘録も兼ねてまとめようと思います。

StyleCopAnalyzersをインストール(VisualStudio 2015)


まずはインストール。 インストールはNuGetを利用します。

VisualStudioを起動し、「ツール」メニュー⇒「NuGetパッケージマネージャー」⇒「パッケージマネージャーコンソール」の順に選択します。

検索欄に「StyleCop」を入力し、検索実行。

「StyleCop.Analyzers」を選択すると、右のペインに現在ソリューションに含まれるプロジェクトが表示されます。
全てにチェックを入れ、「インストール」を押下します。

これでインストールできました。
なお、アンインストールしたい場合もここからできます。

カスタムルールファイルの作成


次にカスタムルールファイルを作成します。

「ファイル」メニュー⇒「新規作成」⇒「ファイル」の順に選択します。

コード分析規則セットを選択し、「開く」を押下。

StyleCop.Analyzersのドロップダウンリストを開き、適用したいルールを選択します。
選択できたら、ファイルを任意の場所に保存します。


作成したファイルを複数プロジェクトで利用する


ソリューションから、任意プロジェクト(画像ではTestApp)のプロパティを開きます。
(プロジェクト名の上で右クリックすることでプロパティが開きます。)

次に、コード分析を選択し、「この規則セットを実行」⇒「参照」を選択します。
 ※必要に応じて「ビルドに対するコード分析の有効化」にチェックを入れます。

先ほど作成した、カスタムルールファイルを選択し「開く」を押下後、保存します。


これでまず、TestAppで利用するルールセットファイルに「CommonRule.ruleset」が設定されました。


次に、「分析」メニュー⇒「ソリューションのコード分析を構成する」を選択します。

全ての構成を選択します。

プラットフォームが複数ある場合、全てのプラットフォームでカスタムルールを適応したければ
全てのプラットフォームを選択します。

最後に、全てのプロジェクトに対してTestAppで利用することにしたルールを選択します。

これで設定は終了です。

注意すること



1.ルールの再設定が必要な場合がある
  上記で設定したルール設定は、新しくプロジェクトを追加した場合、自動で適応されません。
  手動で設定しなおす必要があります。

  また、プラットフォームについても新しく追加した場合、
  追加したプラットフォームについてはカスタムルール設定が自動で適応されません。
  こちらも手動で設定しなおしましょう。

2.ルール設定を適応するならできる限り早い段階で
  案件がかなり進んだ頃に導入すると、大量の警告が発生します。
  同じルールについては自動で修正することが可能なので、かなり大変という訳ではないですが
  それなりに時間がかかります。
  適応するのであれば、製造フェーズのなるべく早い段階で設定した方が良いと思います。

それでは今回はこのへんで。
ではまた!

0 件のコメント:

コメントを投稿