Unity開発でコード整形ルールを設定・共有する(MonoDevelop / Xamarin Studio)
Unityでゲームを開発する際に使うエディターと言えば、 UnityにビルドインされているMonoDevelopか、Xamarin Studioが主流になる。
MonoDevelopとXamarin Studioは、コード補完機能で自動でコード(の一部)を生成するが、個人の好みやプロジェクトのコーディング規約に沿っていないこともあるかと思う。
今回は、MonoDevelop(Xamarin Studio)でコード補完時の整形ルールの設定と設定の共有する方法をまとめてみた。
例えば
上がMonoDevelopの標準の設定でコード補完で生成されたコード。 下が独自の設定のコード補完で生成されたコード。
MonoDevelopのコード整形のルールを調整することで、コード補完によって生成されたコードの改行やスペースのルールなどを調整できるようになる。
1. .slnファイルを作る
まずは、.slnファイルを作ります。 Projectビューで右クリック > Sync MonoDevelop Project
こんな感じで生成されるはず。
2. コードの整形ルールを設定する
- MonoDevelopのメニューからプロジェクト > ソリューションオプションを選択
ソースコード > コードフォーマッティングで使用する言語のソースコードの項目を選択
ここで表示されているコードが、現在のコード整形ルールとなる。
Editボタンを押すとコード整形の設定画面が開く。コードの整形ルールを設定する
Categoryを選択して、各種設定を選択していく。
コード整形ルールを共有する
設定したコード整形ルールは共有することができるっぽい。
テキストエディターで{プロジェクト名}.slnを開く
開くとこんな感じ。
この.slnファイルのテキストを、他のUnityプロジェクトや他の開発者の.slnにまるっとコピペすることで、MonoDevelopのコード整形の設定を移せるらしい。
MonoDevelopを起動していない状態で.slnをコピペ => Sync MonoDevelop Projectで設定が反映される。
「ローカル固有の名前とかあるし、設定まるっと上書きして、ホントに大丈夫なのか…」
ってことで、差分見てみたら、Sync MonoDevelop Projectした時に、よしなにやってくれるっぽい。
詳しい調査とか検証はしていないので、あくまで裏ワザ的な感じ。
Unity開発でコーディング規約を設けた場合は、.slnの中身をチームに共有すると幸せになれる(かも?)。
ちなみに、MonoDevelop > Preferencesのコードフォーマッティングがなぜか反映されないのが気になります ><