かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

IntelliJ IDEA で Java の標準クラスや外部ライブラリのソースファイルを見る

IntelliJ IDEA では自分が作成しているソースファイルだけでなく Java の標準クラスや使用している外部ライブラリのソースファイルも簡単に参照することができます。ソースファイルが提供されていない場合でも逆コンパイルして表示してくれるようです。手順を以下に記載します。

最初に Shiftキーを2回押して検索ダイアログを表示します。

f:id:ksby:20150225164632p:plain

次に参照したいクラスを入力します。ここでは IOException と入力してみます。

f:id:ksby:20150225164820p:plain

最後に上下矢印キーで表示させたいクラスを選択した後 Enterキーを押すと、そのクラスのソースが表示されます。

f:id:ksby:20150225165058p:plain

IOException の場合、検索ダイアログ上のクラス名の右側に "C:\Java\jdk1.8.0_25\src.zip..." と表示されていたので JDK に含まれているソースファイルから表示していますが、この src.zip を C:\ 等の IntelliJ IDEA が参照できない場所に移動して上記の操作をしてみると、

f:id:ksby:20150225190907p:plain

今度は参照先が "C:\Java\jdk1.8.0_25\jre\lib\rt.jar!..." となり、

f:id:ksby:20150225191249p:plain

ソースファイルを表示すると共に、逆コンパイルした旨のメッセージが表示されます。

また実装しているソースファイルから外部ライブラリのソースファイルを参照したい時は、参照したいクラスやメソッドにカーソルを移動した後、コンテキストメニューを表示して「Go To」-「Implementation(s)」を選択するか、Ctrl+Alt+B を押せば表示されます。

例えば BCryptPasswordEncoder クラスの encode メソッドの実装を見たい場合、ソースファイルの該当メソッドコンテキストメニューを表示してメニューを選択すると、

f:id:ksby:20150225192927p:plain

ソースファイルが開き、メソッドの位置に移動します。

f:id:ksby:20150225193101p:plain

いろいろ調査しているとソースファイルを見てみたいことが多くなるので、この機能は便利ですね。