Eclipse 3.3 メモ

最終更新日:2007/08/07

目次

>> Eclipse 3.2 メモへ

>> Eclipse 3.1 メモへ

>> Eclipse 3.0 メモへ

>> EclipseによるJavaアプリケーションのデバッグへ

>> EclipseによるWebアプリケーションのデバッグへ

Eclipse 3.3 リリース

約1年ぶりにEclipseのメジャーバージョンアップが行われました。今回のバージョンアップでは細かな使い勝手の向上が主な内容になっているようです。

今回もEclipse3.3の新機能について、特に注目したい機能について見ていこうと思います。尚、2007/07/17現在ではLanguage Packはリリースされていませんが、Pleiades(Eclipse プラグイン日本語化プラグイン)によってEclipse本体やプラグインを日本語化できます。興味のある方は試してみてください。

3.3 の新機能はEclipseのWelcomeページ(メニューのHelp→Welcome)のWhat's Newや、こちらで見ることができますので、詳細についてはそちらを参照下さい。

リリースパッケージの種類

Eclipseのダウンロードサイトへ行くと、いくつかパッケージが用意されています(下図)。


(http://www.eclipse.org/downloads/より)

Eclipse3.2以前のパッケージ構成では、デフォルトでプラグイン開発環境(PDE)のようなパッケージも含まれていたため、ファイルサイズは大きめでした。Eclipse 3.3では用途に合わせて5種類(2007/7/17現在)のパッケージが用意されており、最適なパッケージ構成を選べるようになっています。

Javaアプリケーション開発を行う場合は、「Eclipse IDE for Java Developers」, Webを含めたJ2EEアプリケーション開発を行う場合は「Eclipse IDE for Java EE Developers」を選べばよいでしょう(「Eclipse IDE for Java Developers」を選んだ場合でも、後からプラグインを導入することでJ2EE開発が可能です)。それぞれのリリースパッケージの比較はこちらを参照下さい(下図)。


(http://www.eclipse.org/downloads/moreinfo/compare.phpより)

Eclipse Europa Projects

Europa(エウロパ)はEclipse3.2のCallistoのようなサブプロジェクトの集まりで、Europaアップデートサイトから各種プラグインをインストールできます。Callistoでは10プロジェクトでしたが、Europaでは21プロジェクトがリリースの同期をとられて管理されています。21プロジェクトの詳細はこちらを参照下さい。

以下はEclipseのソフトウェア更新でEuropa Discovery Siteを選択したスナップショットです(メニューからHelp→Software Updates→Find and Install→Search for new features to install→Europa Discovery Site)。

尚、2007/07/17現在、EuropaにはVisual Editorが含まれていません(開発が停滞している模様です)。ビジュアル開発ではNetBeansのMatisseが非常に使いやすいため、EclipseユーザにとってはMatisse並に使いやすく進化して欲しいところです。

Eclipse 3.3の新機能(Eclipse Platform編)

Vistaサポート

Windows Vistaが正式サポートされました。

クイックアクセス

ビューやコマンドへのクイックアクセスを提供する機能で、ショートカットキーがCtrl + 3に割り当てられています。例えばConsoleビューを表示したい場合、従来ならばメニューからWindow→Show View→Consoleとしましたが、Ctrl + 3からConsoleビューをインクリメンタルにサーチできます。以下は、Ctrl + 3を打鍵して表れるポップアップ上で"con"と入力したスナップショットです。

ビューだけでなく様々な項目をこのポップアップから選ぶことができます。「ビューの表示やコマンドを実行したいけど、どこから表示/実行するのかわからない!」という時に便利な機能でしょうか。

最大化時の他ビューへのアクセス

あるビューを最大化した時に、他のビューがその周りに高速ビューとして表示されるようになりました(最大化するときに他のビューが高速ビューに収まるエフェクトが出ます)。最大化時に他のビューを少しだけ見たい場合に、高速ビューのアイコンをクリックすることで、最大化を戻すことなくアクセスできます。

キーバインドカスタマイズの改善

Eclipse 3.2まではショートカットキーを検索する機能が無かったため、どの操作にどんなショートカットキーが割り当てられているかを調べるのが大変でした。3.3 ではインクリメンタル検索の機能が追加され、コマンドとショートカットキーの対応を調べやすくなりました。

以下はフォーマット機能のショートカットキーを検索するために、"format"とテキストフィールドに入力した例です。コマンド一覧に"format"に関連するコマンドが表示されています。

スペルチェック

テキストエディタ内の英単語のスペルチェックを行う機能です。以下の例では"resarved"というスペルミスを指摘してくれています。

ただし、上の例でもあるように、指摘してほしくないところまで指摘されてしまっています。他にも@authorタグに付ける名前がスペルチェックの対象になってしまうといったことがあるため、不要ならばチェックをOFFにするとよいかもしれません。スペルチェックをOFFにするには、メニューからWindow→Preferences→General→Editors→Text Editors→Spellingとたどり、「Enable spell cheking」のチェックをOFFにします(Ctrl + 3から"spell"と入力して辿ると早いです。Ctrl + 3はこういうときに便利です。)

テキストのドラッグ&ドロップ

エディタ上で選択した範囲をドラッグ&ドロップで任意の場所に移動させる機能です。マウスだけでカット&ペーストのような操作ができるようになったという感じでしょうか。

Ctrl + マウスホイールでページスクロール

これもマウスを使ってスクロールを行う人にとって、地味にうれしい機能です。

選択したリソースの実行

Eclipse 3.2まではメニューからRun→Run、またはCtrl + F11とした場合、現在選択しているリソースや開いているファイルに関わらず、前回実行したアプリケーションが実行されました。Eclipse 3.3では現在選択しているリソースや開いているファイルが実行可能ならば、それを実行するようになっています。

もしこの挙動を変更する場合は、PreferencesのRun/Debug→LaunchingのLaunch Operationで「Always launch the ...」を選択して下さい(下図)。これでEclipse 3.2までの挙動と同じになります。

比較エディタの改善

CVS等で同期化を行うと行単位で差異が表示されていましたが、更に行の中でどこが異なっているかがわかるようになりました。

Eclipse 3.3の新機能(JDT編)

リネームリファクタリングの直接実行

リネームのリファクタリングを行うとき、Eclipse 3.2まではダイアログが表示されていましたが、これをエディタ上で直接編集できるようになりました。以下のように対象の変数名が囲われ、エディタ上でそのままリネームを行うことができます。

ただ注意したいのは操作ミスで、例えば上の"stone"という変数名を変更しようとする場合、まず元の名前を削除するためにBackSpaceやDeleteキーを5回叩こうとして誤って6回叩いてしまうと、「名前無し」でリファクタリングが確定してしまいます(結果コンパイルエラーが大量に出る)。一応Undoもできますが、一文字づつUndoが行われるので元に戻すのも大変です。

Eclipse 3.2までは名前無しにはリファクタリングできなかったので、気をつけてリファクタリングする必要がありそうです。

保存時にCode Clean Upを自動実行する

ソースファイル保存時にコードの「Clean Up」を自動実行する機能です(デフォルトではこの機能はOFFに設定されています)。PreferencesのJava→Editor→Save Actionsでソースファイル保存時にどんなアクションを実行するか指定します。

この機能を有効にするには「Perform the selected actions on save」にチェックを入れ、その下の3つのチェックを必要に応じてチェックします。Additional actionsでは細かなアクションの指定が可能です。

ファイル保存時にフォーマット等のコード整形を強制できるので、チーム開発で有効な機能ではないでしょうか。大人数になればなるほどコーディング規約に反するコードがバージョン管理ツールにコミットされるケースが増えてくるため、フォーマットルールを統一して使えばそういった漏れを防ぐことにつながり、全体の品質向上にもつながると思うのですがどうでしょうか。

未解決の型に対するコンテントアシスト

以下のように未解決の型(Import文が無いのでコンパイルエラーを示す赤の波線が表示されている)に対して、コンテンツアシストが使えるようになっています。

Nullチェックの強化

Nullチェックの機能自体はEclipse 3.2でもありましたが、その機能が強化されています。以下の例では余分なNullチェック(2回目のifでのチェックは不要)と、値がNullになる可能性のあるコード(最後のSystem.out...でhogeを参照しているが、Nullの可能性がある)が警告されています。

尚、この機能はEclipse 3.2と同様、デフォルトでOFFになっています。この機能を有効にするには、PreferencesのJava→Compiler→Errors/Warningsで以下の赤で囲った部分をWarningに変更して下さい。

ただ、あくまでもこの機能は補助的と考え、ソースコードチェックにはFindbugsのような専用のツールを導入する方が良いでしょう。

JARファイルのグルーピング

プロジェクトのクラスパスに設定したJarファイルがパッケージエクスプローラ上でグルーピングされるようになりました。Eclipse 3.2まではすべてのJARがフラットに表示されていて、JARファイルの数が増えるにつれてエクスプローラが見づらくなっていましたが、これでかなりすっきりしたビューになるはずです。

外部Javaファイルを手軽にEclipseで閲覧する

エディタビューに外部Javaファイルをドラッグ&ドロップすると、そのファイルを開くことができます。編集も可能です(コンパイルは行われないのでエラーの指摘は出ない)。

また、以下のようにJavaコードをクリップボードにコピー(全選択してCtrl + Cなど)して、

パッケージエクスプローラ上で貼り付ける(Ctrl + V)と、_pasted_code_というプロジェクトが自動生成され、貼り付けたコードがクラスとして追加されます。サンプルコードのようなものをEclipse上ですぐに見たいときに便利でしょう。

ファイルやフォルダ削除のUndo

Eclipse 3.3ではファイルやフォルダ削除のUndoができるようになりました。うっかり削除してしまったファイルを元に戻せるのはありがたいですね。

Eclipse 3.3の新機能(JDT-デバッガ編)

参照オブジェクトの表示(Java SE 6のみ)

Java SE 6限定ですが、変数ビューで表示されるオブジェクトを参照しているオブジェクトの一覧を見ることができます。以下の例ではthisを参照しているオブジェクトを一覧を見るために、右クリック→All References...を選択しています。

表示されたポップアップを見ると、4つのオブジェクトから参照されていることがわかります。メモリリークの傾向が見られるときに、GCされるはずのオブジェクトの参照元をチェックしたい時に便利な機能でしょうか。

同じ型のオブジェクトの表示(Java SE 6のみ)

これもJava SE 6が必要ですが、変数ビューに表示されるオブジェクトと同じ型のオブジェクト一覧を表示することができます。参照オブジェクトの表示と同じように、右クリック→All Instances..を選択します。

"stone"と同じ型のオブジェクトが一覧表示されました。同じ型のオブジェクトの内部状態をチェックしたいときにアクセスしやすいため、デバッグがやりやすくなるでしょう。

メソッド実行の強制リターン(Java SE 6のみ)

メソッドの実行途中で強制的にメソッドリターンを行う機能です。戻り値無しのメソッドの場合は、エディタ上などで右クリックからForce Returnを選べば、そのメソッドをリターンします。

値を返すメソッドの場合は、Displayビュー(日本語ローカライズされた後は「表示」ビュー)を表示させ、返したい値を入力し、範囲選択から右クリック→Force Returnで選択した値を返せます。


資料室へ戻る


Copyright (c) 2007 OKI Software Co., Ltd.