intelliJ IDEA はなかなかよいIDEだが、Java で使っているときにたまに空気をうまく読んでくれないときがある。
例えば、下記のような階層に定義されたアノテーションおよびクラスを使いたいとする。
org.junit.runners.Suite.SuiteClasses
o.j.r.Suite を使いたい時点で
import org.junit.runners.Suite; を適切にimport してくれる。
その後、 @SuiteClasses を使いたい場合、org.junit.runners.Suite を import 済みなので、そこからの指定で、@Suite.SuiteClasses にIDEが変換してくれる。
いや、ソース上、@SuiteClasses と指定したいので、 org.junit.runners.Suite.SuiteClasses もimport したいと書いても、上位クラスをimport済みならそれ使えばええやんと判断してくれたりする。
IDEA(アイデア)と読むは、import 文を現在の使用状況にあわせて編集してくれるので、アノテーションを書いたり消したりするとバタバタと変換してくれてるが、この場合、なかなか思ったようにはしてくれない。
そこをソースコードの見やすさを優先するためにあえてimport したいときには、Setting の
Code Style -> Java -> Imports[tab] → Insert imports for inner classes
にチェックをすると子クラスでも明示的にimportをしてくれるような動きになる。
もちろん、上記を望まない場合にはチェックを外しておいた方が、import 文をまとめてくれる。