ReSharper コマンドラインツールを活用したUnityプロジェクトの自動お掃除CI

はじめに
株式会社QualiArtsでUnityエンジニアをしている住田です。 Unityのプロジェクトに従事し、並行して「CA.unity」や「技術書典」といった会社を跨いだ横軸活動の牽引などもしております。
昨今のUnityの開発現場ではIDEとしてJetBrains製のRiderが採用されるケースが増えています。弊社のUnityプロジェクトの開発でも積極的にRiderを導入しております。 そのIDEで提供されている機能と同等のことができるJetBrains製のReSharperというツールはご存知でしょうか。 本記事ではこのReSharperが提供しているコマンドラインツールの活用事例として、弊社のUnityプロジェクトで運用されているコードの整形を自動で行う仕組みについて紹介します。
Code Cleanup
Riderにはさまざまなコードのリファクタリング機能が搭載されています。 そのひとつがコードの整形機能であるCode Cleanupです。文法に沿った整形はもちろんのこと、参照のないusingの削除、不要な改行の削除、修飾子や型の自動修正、スコープや関数定義順序の整理などさまざまな観点からコードを整理する機能が項目別に用意されています。
言語別の設定や、プロジェクト固有で実行したい特定の項目だけの実行なども可能です。 実行する設定はCleanup Profileで項目ごとに制御可能です。プロジェクトに適用したい項目だけを有効化して利用できます。
このように自動かつ項目別でコードの整形を行えるため、一定の規模のプロジェクトについて開発を行う上で非常に便利な機能です。