LoginSignup
12
9

More than 5 years have passed since last update.

Rider(追記:Visual Studio for Mac も) では C# で書かれた Unity 標準のクラスを直接見れる話

Last updated at Posted at 2018-03-31

導入

みなさんは、Unity のコードを何のエディタを使って書いていますか?

  • Monodevelop
  • Visual Studio (for Mac 含む)
  • Visual Studio Code
  • Rider

選択肢はいろいろあると思いますが、私は Rider を使っています。

最近、Unity の C# 部分が公開されるようになりましたね。
http://tsubakit1.hateblo.jp/entry/2018/03/24/140146

ただ、このとき思ったのが、「あれ?いままで見れなかったっけ?」と疑問に思いました。(同僚にも言われて気付いた)

様々なエディタで UnityEngine.UI.Button を開いてみる

大体のエディタは、(Mac だと)⌘を押しながらクラス名をクリックすると、そのクラスの定義に飛ぶことができます。実際にその機能を使って、Button クラスに飛んでみましょう。

Visual Studio for Mac

virtual な関数の中身が見れない。
4/1 追記 : 一手間掛ければ見れます。ほんのちょっとだけ設定が必要。
スクリーンショット 2018-04-01 0.44.45.png

設定は簡単です。一度 ⌘ + Click で Button 定義に飛んで、左上の可視性を「パブリックメンバー」から「すべてのメンバー」に変更、右上の言語を「概要」から「C#」

スクリーンショット 2018-04-01 0.45.09.png

中身がみれた!

Visual Studio Code

virtual な関数の中身が見れない
vsc.png

Rider

クリックすると、デコンパイルが走る。その後、virtual な関数の内部実装もちゃんと読める。

rider.png

monodevelop は・・・ごめんなさいインストールするのがメンドクサカッタ。けど、たしか Monodevelop も見れなかったはず。
4/1追記 : MonoDelevep でも Visual Studio for Mac と同様の手順を踏めば見れるはず。(やっぱインストールするのがめんどくさかった)

まとめ

uGUI をいろいろ触っていると、「なんでこの挙動になってるの?どうやってか、内部の関数を override したり、変数書き換えたりできない?」と思うことが多々増えてきます。
そのときに、⌘+クリック一発で内部実装を見に行けるのは、調べ物の時間的に短くなるでしょう。
(ただし、デコンパイルできるのは C# で書かれた範囲だけなのであしからず)

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9