MonoDevelop-Unity 5.9 では、私たちは新しいワークフローの改善を追加しました。以前のように “Attach to Process” ダイアログボックスからアタッチするプロセスを選択してデバッグを開始するというワークフローの代わりに、MonoDevelop-Unity 5.9 ではスクリーンショットの赤いオレンジ枠にあるターゲット選択リストにアタッチ可能な Unity のターゲットが出るようになり、”Run” ボタンを押すだけで 1 クリックで選択したターゲットにアタッチしてデバッグを開始出来るようになりました。
さらに日本の開発者にとって嬉しいのは、長年あった Mac 版の MonoDevelop で日本語の入力が出来ない問題が解消されて、日本語入力が可能になったことです。
MonoDevelop-Unity 5.9 は今日から試すことが出来ます。フォーラムから MonoDevelop-Unity 5.9 プレビュービルドをダウンロードしてください。フォーラムへのフィードバックは大歓迎です!MonoDevelop-Unity 5.9 は MonoDevelop 4.0.1 をそのまま置換でき、Unity 4.6 および Unity 5 で利用出来ます。最低必要スペックについてはフォーラムのスレッドを確認してください。
MonoDevelop-Unity のアップグレードの他に、私たちは MonoDevelop-Unity と Visual Studio Tools for Unity の両方に関係する、スクリプトデバッグの問題修正に取り組んでいます。
Unity 5.3 で修正されたスクリプトデバッグの重要な問題はこちら。これらの修正は、Unity 5.2.2 にも適用されています:
また、私たちは MonoDevelop-Unity 5.9 特有のスクリプトデバッグの問題についても修正しました。
修正された重要な MonoDevelop-Unity 5.9 特有の問題はこちら:
MonoDevelop-Unity と Unity の連携は現在、ソリューションファイル(.sln)とプロジェクトファイル(.csproj)を通して実現されています。
このやり方は Unity でスクリプトファイルの追加・削除や移動、名前の変更に合わせて毎回ソリューションとプロジェクトファイルを更新しなければならず、理想的とは言いがたいところです。Unity がソリューションとプロジェクトファイルをディスクに書いたら、MonoDevelop は毎回これをリロードしなければなりません。Unity と MonoDevelop が直接通信し、Unity で Assets フォルダーの変更がおきるたびに MonoDevelop がアップデートされるほうがより良いアプローチです。
ソリューションファイルを使う方法のもう一つの問題は、Unity と MonoDevelop では同じ C# コンパイラーを使っていないというものです。これは MonoDevelop で出る警告やエラーが Unity で出るものと一致しないとか、Unity ではコンパイル出来るが MonoDevelop ではコンパイル出来ない(あるいはその逆)といったことが発生します。
これらの問題を解決してより深い統合を Unity と MonoDevelop 間で実現するために、現在私たちは MonoDevelop と Unity が REST を介して通信する新しい機能を実装しています。これはどういうことかというと、MonoDevelop と Unity がネットワークソケットを介して直接やりとりするようになり、ソリューションやプロジェクトファイルが不要になるということを意味します。
その代わり、MonoDevelop は Unity から REST メッセージとして送られた Assets フォルダーの階層を表示します。MonoDevelop 上の Assets フォルダーのビューは Unity で Assets フォルダーのファイル構造が変わる度にアップデートされます。さらに、MonoDevelop 上から Assets フォルダーのビューに対してファイルの追加・削除・移動や名前の変更などを直接行うことも可能で、これらの操作を行うと内部では Unity に直接アクションが伝えられます。Unity がそのアクションを MonoDevelop から受け取ってファイルに対する操作を行うと、こんどは Unity から MonoDevelop に対して Assets フォルダーのファイル構造が更新されたという通知が送られ、MonoDevelop 上の Assets フォルダービューが自動的に更新されます。
下記のスクリーンショットは MonoDevelop 上の Unity の Assets フォルダービューの見た目です。おそらく、リリース時にはもうちょっと変更すると思います。
MonoDevelop はスクリプトのコンパイルに関しても REST サービスを使用します。Unity がスクリプトをコンパイルすると、その結果を MonoDevelop に返します。たとえば上記のスクリーンショットでは、Unity でビルドした結果が MonoDevelop に送られて表示されています。
REST サービスはファイル操作やスクリプトのコンパイルに限りません。REST サービスは公開できるあらゆる Unity の機能に対して潜在的には利用可能です。
こちらに MonoDevelop と Unity の REST 統合で予定している機能の一部を紹介します:
Unity と MonoDevelop の REST 統合は現在、Unity 5.5 での導入に向けて開発中です。進捗とアップデートについては今後またブログで共有いたしますので、ぜひご注目くださいね!
Is this article helpful for you?
Thank you for your feedback!