JDTの新機能
続いて、Java開発環境を提供するJDTについて見ていこう。
Javaプロジェクト
Javaプロジェクトをウィザードで作成すると、これまでは初期状態ではプロジェクトのルートフォルダ直下にソースパスが設定された状態となっていた。Eclipse 3.3ではデフォルトでソースコードはsrcフォルダ、出力先がbinフォルダに設定されるようになっている。
また、Javaソースファイルの内容をパッケージ・エクスプローラーにペーストすると以下のように新たにプロジェクトが作成され、その中にクラスが作成されるようになった。Webサイトなどからちょっとしたコードの断片をコピー&ペーストして動作確認したい場合などは便利だろう。
図 14: パッケージ・エクスプローラーへのドロップで作成されたプロジェクト |
エラーチェック
Javaソースコード中でNullPointerExceptionが発生する箇所(明らかに発生する箇所、および発生する可能性のある箇所)を警告として表示してくれるようになった。また、不要なnullチェックを行っているコードも警告として表示することができる。
図 15: null参照を警告として表示してくれる |
Javadocのチェックも強化されており、以下のように@seeタグや@linkタグでの参照先が存在しない場合も警告として表示されるようになった。
図 16: Javadocの参照先が存在しない場合 |
新たに追加されたこれらのチェックはデフォルトでは無効になっているため、使用する場合にはワークベンチまたはプロジェクトの設定で有効にする必要がある。
また、コンパイラのバージョンをJava SE 6.0に指定した場合、インタフェースの実装メソッドに対して@Overrideアノテーションを付与することができるようになった(5.0の場合はエラーとなる)。クラス生成ウィザードでインタフェースを実装したクラスを作成した場合や、クイックフィックスでインタフェースのメソッドを生成した場合などもコンパイラのバージョンが6.0であれば以下のように@Overrideアノテーション付きのメソッドが生成される。
> |
図 17: インタフェースメソッドに対する@Overrideアノテーション |
Javaエディタ
Javaエディタではコード補完機能がより使いやすくなっている。たとえばこれまではアノテーションの補完時には@+1文字入力してからでないと補完ができなかったが、Eclipse 3.3では@だけでも補完することができるようになっている。
図 18: アノテーションのコード補完 |
また、以下のように未定義の変数がある場合、ローカル変数の宣言部でコード補完を行うと候補としてその変数名が表示される。
図 19: 未定義の変数を補完 |
未解決の型に対してもコード補完が可能だ。以下の例ではjava.util.Mapに対するインポート文が記述されていないためエラーとなっているが、Map型の変数に対してメンバの補完が有効なことがわかる。
図 20: 未解決の型に対する補完 |
Javaエディタの設定で任意のユーティリティクラスやメソッドを登録しておくと、それらがstaticインポートされている場合と同じようにコード補完を行うことができる。
図 21: FavoritesにCommons LangのStringUtilsを登録 |
図 22: StringUtilsのstaticメソッドを補完できる |
ソースコードの保存時にはフォーマット処理やインポート文の再編成などの処理を行うことができるようになった。保存時にどのような処理を行うかはワークベンチもしくはプロジェクトの設定でカスタマイズすることができる。
図 23: Javaエディタの保存時に行う処理の設定 |
ソースコードのフォーマット処理などもより細かな設定が可能となっており、たとえばコメント部分はコメントの種類(1行コメント、複数行コメント、Javadocコメント、ヘッダコメント)によってフォーマットを行うかどうかを設定できるようになっている。