Visual Studio 2019 Commnunity で、デバッグしないで(呼び出し履歴ペイン以外で)、定義メソッドのコールツリーを見る

みたいなものを見つけたけど、前からあった機能なのかな?もしくは、2019 から追加されたのかな?あまり使っていなかったけど、驚きました!

コールツリーを見る

そもそもですが、初めて見るソースコードの時って、メンバーツリーを見ますか?自分はあまり使っていなかったのですが、いきなりソースコードをジロジロ見るよりも、そのクラスのメンバーをぱっと見で把握してからの、ソースコードをじっくり見る。っていう流れのほうが、結果的には理解が早いんでしょうかね?わからないですけど、ソースファイルのノードを展開すると、クラスのメンバーツリーが表示されます。

f:id:sutefu7:20200827135631p:plain

そして、メンバーツリーの中で、メソッドノードを右クリックしてコンテキストメニューを表示させると、呼び出し関係の追跡ができるみたいです!びっくり。

f:id:sutefu7:20200827140107p:plain

例えばここで、「呼び出し」を選択します。

すると、そのメソッドを起点としたコールツリーを見ることができるのです!びっくり。

f:id:sutefu7:20200827140154p:plain

めっちゃ便利になってる!

あまり見慣れていないソースコードを理解しなければいけない時に、ソースコードだけでクラス間の相関関係を把握していかなければいけないのですが、これがまた大変なのです。迷子になってしまいがちです。こういう時に、メンバーツリーだけでも、そのクラスの設計がぱっと見で分かるし(少ない文字列で分かるし、かな?)、実行処理の追跡を見られるのは便利ですね~。

ただし、VB では「呼び出し」はツリー表示されなくて残念でした。なんでよ!?でも「呼び出し元」でさかのぼって見ることができました!まだマシか・・・。さらに、モジュールの場合は「呼び出し元」項目が出ないのでコールツリーが見られません・・・。

f:id:sutefu7:20200827141517p:plain

フィードバックしなきゃこの先も入らないかな・・・・?