#はじめに
他の人のソースコードを読むことはすごく大変ですよね。
Unityのソースコードを楽に読む方法を色々調べたら、自動でクラス図を生成する機能がVisualStudioには備わっているらしいとのこと・・・
半信半疑でGoogleで調べてみました。
結果、「クラスダイアグラムで表示」という機能を使えば出来るので、その過程を備忘録的に残します。
#前提条件
・VisualStudio2017
・Unity(筆者のバージョンは5.6.3f)
の以上2つは既にインストールされているものとして進行します。
#VisualStudio内でUnity用のプラグインをインストール
まずは、VisualStudioのインストーラを(C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe)開きます。
その後、VS2017の変更を押します。
次に、UnityとVisualStudioを連携させるプラグインが必要なので、以下の画像に従って、必要なコンポーネントをインストールしてください。
※既にインストールしている人は進んでもらって構いません。
#VisualStudio内でクラスデザイナー機能をインストール
VisualStudioにてクラス図を作成する機能を持つクラスデザイナーというコンポーネントをインストールしていきます。
上のメニューバーから個別のコンポーネントを指定し、クラスデザイナーという項目にチェックを付けて、右下の変更ボタンを押します。(下図参照)
#UnityにてVisualStudioを開く
※既に設定している人は飛ばしてもらって構いません。
Unityのエディター画面上部のツールバーよりEdit>Preferencesを開き、
ExternalTools内のExternalScriptEditorをVisualStudio2017に設定します。
(初期の状態では候補に無いため、Browse...からC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDEdevenv.exeを参照する)
その後、エディター画面のツールバーよりAssets>OpenC#ProjectをクリックしてVisualStudioを立ち上げます。
テラシュールブログ様に詳細が載ってあるため、引用させていただきます。(感謝申し上げます。)
Visual Studio 2017 (RC)をUnityで使う(テラシュールブログ)
#クラス図を作成する
最後に、今回の目的であるクラス図作成を行います。
今回記事用に使用するUnityプロジェクトは、以前UnityOneWeekのテーマ「夏」で作成したFireWooksEngineerというゲームのプロジェクトです。
よければ遊んでみてください!(宣伝)ここから遊ぶ
さて、本題に戻ります。
今回は、プロジェクト全体のクラス図を作成します。
VisualStudioのソリューションエクスプローラを右クリックして、ビュー>クラスダイアグラムで表示を選択します。(下図参照)
なんと・・・。
自動的にクラス図が作られました!!
素晴らしい
しっかり依存関係まで確認できますね。
エディタになっているので、好きにパーツを動かすことが出来ます。
プルダウンにてフィールドとメソッドを確認もできます。
更に、エディタ上で右クリックして、”イメージとしてダイアグラムをエクスポート”をクリックすると、画像でクラス図を保存する機能まで備わっています!
どこまで素晴らしいの・・・
個別にクラスの相関関係を確認するためには、ソリューションエクスプローラ内の一つのクラスを選択して、同じ操作を行う事で確認できます。
#最後に
他人のソースコードを読む際に、最初はクラスの依存関係を全てホワイトボードに書き出す事をやっていましたが、らちがあきませんでした。
結果、面倒になったので、Google先生に聞いてみました。
軽く調べると簡単に出てきたので、何事も調べることが大事ですね・・・。
元々UnityのコードエディタはVSCodeを使っていましたが、Resharperと今回のこの機能が使えるという事で、乗り換えました。
VisualStudio便利( ^)o(^ )
最後に、引用させていただきましたテラシュールブログ様、重ねてお礼申し上げます。
ありがとうございました。