はじめに
StyleCop は Visual Studio で動作するソースコードの静的解析ツールで、
コードスタイルの違反をチェックすることができます
この記事では、StyleCop を使用して Unity プロジェクトのソースコードを
静的解析し、コードの違反をチェックする方法を紹介していきます
検証環境
- Unity 2017.1.1f1
- Visual Studio Community 2017
- Windows 10
Visual Studio にインストール
まずは Visual Studio に StyleCop をインストールしていきます
- 下記のページにアクセスして「ダウンロード」ボタンを押す
https://marketplace.visualstudio.com/items?itemName=ChrisDahlberg.StyleCop - ダウンロードした「StyleCop.vsix」を起動する
- 起動した「VSIX インストーラー」の手順に従ってインストールする
これで Visual Studio を起動して Visual Studio メニューの「ツール」に
StyleCop の項目が追加されていればインストール完了です
この状態で「Run StyleCop」を実行すると、
おそらくエラー一覧に大量の警告が表示されます
StyleCop は多くのデフォルトルールを元にソースコードを静的解析するため
不要なルールは無効にしていく必要があります
ルールのカスタマイズ
Visual Studio のソリューションエクスプローラでプロジェクトを右クリックして
「StyleCop Settings」を選択します
そして、表示されたウィンドウでルールの一覧が表示されるので
不要なルールのチェックは外していきます
おすすめのルール
https://gist.github.com/lucasrowe/19f3f421c0c528e1356c29ead59f3aba#file-rbg-stylecop-settings-xml
もしも、ルールのカスタマイズを行うのが大変な場合は
上記のページで公開されているルールがオススメです
StyleCop のルールを管理するファイルは
Visual Studio のソリューションが存在するフォルダに
「Settings.StyleCop」という名前で作成されるので
このファイルをテキストエディタで開いて、上記の XML のコードを貼り付けます
Unity プロジェクトの特定のファイルを無視する
Unity プロジェクトでは多くのアセットやパッケージを使用しますが
それらのファイルはコードスタイルに準拠していないので、
StyleCop の静的解析の対象外にする必要があります
上記のサイトで、Unity 内の特定のファイルを
StyleCop で無視することができるアセットが公開されているので
こちらを Unity プロジェクトに導入していきます
- 下記のページにアクセスする https://github.com/redbluegames/unity-stylecop-ignoreutility/releases/download/v1.0/StyleCopIgnoreUtility.unitypackage
- ダウンロードした「StyleCopIgnoreUtility.unitypackage」を
Unity プロジェクトにインポートする
これで、Unity のメニューに「Window>StyleCop Ignore Utility」が追加されるので
この項目を選択します
すると、StyleCop で無視するファイルを選択するウィンドウが表示されるので
「...」ボタンを押して、StyleCop の設定を管理する「Settings.StyleCop」を選択します
そして、無視したいファイルをチェックしたら
「Save andd Load to StyleCop」ボタンを押します
これで、不要なファイルを StyleCop の静的解析の対象外にすることができます
補足
- StyleCop はあくまでコードスタイルの違反をチェックするためのモノであり
問題を自動的に修正するものではありません - コードスタイルの違反を自動で修正したい場合は
「Resharper」「CodeMaid」「JustCode」などがオススメです