3.0 の新機能

以下に、Eclipse リリース 3.0 の Java 開発ツールで 2.1 以降に変更された新機能のうち、 特筆すべきものや重要なものの一部を紹介します。

Java エディター

Java エディターでのフォールディング Java エディターでは、コード領域のフォールディングがサポートされるようになりました。 折り畳まれた Java エレメント上でマウスを移動させると、非表示のコードを確認できます。

折り畳まれたインポート、内部型、およびメソッド本体を表示するスクリーン・ショット

現時点では、インポート・ステートメント、コメント、型、およびメソッド本体を折り畳むことが可能です。 新規エディターでフォールディングを有効にするかどうかは、「Java」>「エディター」 設定ページの「フォールディング」タブで構成できます。

折り畳み設定を表示するスクリーン・ショット
JDT ユーザー・インターフェースでは、使用可能な折り畳みのセットを拡張する拡張ポイントが提供されます。

拡張強調表示 Java エディターは、ソース・コードをそのセマンティクス (例えば、static フィールド、 ローカル変数、static メソッド呼び出しなど) に従って強調表示できるようになりました。 拡張強調表示が「Java」>「エディター」>「構文」設定タブを通じて使用可能になると、 リストに新規の拡張強調表示オプションが表示されます。

拡張強調表示の例

演算子と括弧を強調表示する新規オプションや、新たにサポートされるイタリック ・スタイルもあります。

「クイック型階層」ビュー Java エディターで型、メソッド、またはパッケージ参照を選択し、Ctrl+T キーを押して 「クイック型階層」ビューを表示します。 メソッドについては、そのメソッドを提供するすべてのサブタイプおよびスーパータイプが表示されます。

再度 CTRL+T キーを押すことで、通常の「型階層」ビューと「スーパータイプ階層」ビューとを切り替えることができます。

「型階層構造 (Type Hierarchy Structured)」ビュー

継承メンバーを表示するクイック・アウトライン Java エディターのクイック・アウトライン (「ソース」>「アウトラインを 開く (Open Outline)」、Ctrl+O) では、キー・シーケンス Ctrl+O を繰り返し押すことで、 継承されたメンバーを表示できるようになりました。

クイック・アウトライン

「クイック構造 (Quick Structure)」(Ctrl+F3) の場合も同様です。

Java エディターの「スマート挿入」入力モード Java エディターに「スマート挿入」モードが追加されました。このモードに切り替えるには、 「編集」>「スマート挿入モード」を選択 (または Ctrl+Shift+Insert を押し下げ) します。

「スマート挿入」モードでは、「Java」>「エディター」>「入力 」設定タブ で構成可能な Java 特有の追加機能がエディターから提供されます。 例えば、「スマート・セミコロン (Smart Semicolon)」や「スマート左中括弧 (Smart Opening Brace)」などのオプションがあります。 これらのオプションは、それぞれセミコロンや右中括弧を挿入する前に、行末にキャレットを移動します。

貼り付け時にインポートを更新 Java コードのコピー操作や切り取り操作により、コピーされたコードで必要となる インポート宣言に関する情報もキャプチャーされます。 この必要となるインポートが、コードの貼り付け時に自動的に追加されるようになりました。 このフィーチャーは、「Java」>「エディター」>「入力」>「貼り付け時にインポートを更新」設定で構成できます。
Java 名を介したカーソル操作の改良 Java エディターの単語 (word-at-a-time) アクションは、Java ID の標準的な "CamelCase" 表記に対応するようになりました。 例えば、ID "getFoo" で「次の単語」を選択すると、"get" と "Foo" の間でも停止します。 Java 名に関するカーソル操作の振る舞いは、「Java」>「エディター」>「ナビゲーション」設定ページの オプションで制御します。
新規コード・フォーマッター

Java コード・フォーマッターには、多くの改良点があります。 「Java」>「コード・スタイル」>「コード・フォーマッター」設定ページでは、 既存のプロファイルからの選択、独自の定義、および他者との共用のいずれかを行うことができます。

「コード・フォーマッター」設定ページ

新規のフォーマッターは、高度な構成に対応しており、 中括弧の位置での行の折り返しから、Javadoc コメントのフォーマット設定に至るまでのすべてを網羅する 、140 を超えるオプションが備わっています。

「コード・フォーマッター・プロファイル」編集ダイアログ

複数ファイルのフォーマット フォーマット・コマンドが、Java プロジェクト、ソース・フォルダー、およびパッケージでも使用可能になりました。 このコマンドを呼び出すと、含まれるすべてのソース・ファイルが、現時点で構成されているフォーマッター設定 に従ってフォーマットされます。
スペル・チェック Java エディターにスペル・チェック・サポートが追加されました。これを有効にして、 「Java」>「エディター」>「スペル」設定ページで辞書を指定すると、 スペル・エラーが Java エディターに表示され、対応するクイック・フィックスが使用可能になります。

スペル修正プロポーザルの例

オプションで、コンテンツ・アシストで辞書を使用できます。 しかし、現時点では、Eclipse に辞書は組み込まれていません。必要な辞書のフォーマットは、 単純に改行文字で区切られた単語のリストです。クイック・フィックスを使用すると、使用中の辞書に 新しい単語を追加できます。 ご使用の辞書の寄贈を歓迎します。

「スペル」設定ページ

ブロック・コメント操作 Java エディターで選択したテキストは、「ソース」>「ブロック・コメントの追加」を選択すると、直ちにブロック・コメントに変更できます。 一方、「ソース」>「ブロック・コメントの除去」コマンドを使用すると、 カーソル位置を囲むブロック・コメントを除去できます。
コメント・コマンドの切り替え Java エディターにおける従来の「ソース」>「コメント」および「ソース」>「コメント解除」コマンド は、「ソース」>「コメントの切り替え」(Ctrl+/) コマンドに置き換えられました。 この新しいコマンドは、現在選択されているソース行にコメントが付けられている場合にはすべてコメント解除し、 コメントが付けられていない場合にはコメントを付けます。 (「ワークベンチ」>「キー」設定ページで、従来のコマンドにキーボード・ショートカットをバインドすると、 引き続きこれらのコマンドを使用できます。)
インクリメンタル・コンテンツ・アシスト Java」>「エディター」>「コード・アシスト」設定タブで 「共通接頭部を自動的に挿入」をチェックし、Java エディターで シェル・スタイルのインクリメンタル・コンプリート機能を使用します。 使用可能な完了に共通する接頭部がない場合、 提案を示すポップアップが表示されます。
ファイルでの出現箇所の動的なマーキング Java エディターの新しい「出現箇所のマーク」ツールバー・ ボタン (「出現箇所のマーク」ツールバー・ボタンの画像) またはコマンド (Alt+Shift+O) を使用して、 選択されたエレメントの出現箇所にマークを付けることができます。 「Java」>「エディター」>「出現箇所のマーク」設定ページで、 マーク付けの対象のエレメントを構成できます。

オカレンスにマークを付ける

選択されたエレメントの出現箇所は、「出現箇所」注釈によってマーク付けされます。その表示については、「注釈」設定ページ (「ワークベンチ」>「エディター」>「注釈」) で構成可能です。

選択されたエレメントが変更されると、マーク付けされた出現箇所は自動的に更新されます。 デフォルトでは、マーク付けされた出現箇所はスティッキーです。つまり、現在のキャレット位置に有効な Java エレメントがない場合であっても、強調表示されたままになります。

マーク付けされたオカレンスは、「出現箇所の注釈の除去」ソース・コマンド (Alt+Shift+U) で簡単に除去できます。
メソッド出口点の強調表示

カーソルをメソッドの戻り型の上に置くと、すべてのメソッド出口点が強調表示されます。 出口点の強調表示は、「Java」>「エディター」>「出現箇所のマーク」設定を介して有効にできます。

出口点が強調表示されたメソッド

スローされた例外のマーク位置 例外が選択された場合、アクション「検索」>「例外の出現箇所」をトリガーすることにより、Java エディターで例外がスローされる場所にマークを付けることができます。 「Java」>「エディター」>「出現箇所のマーク」設定ページ を介して出現箇所のマークがオンになっていると、例外がスローされる場所には自動的にマークが付けられます。

スロー可能なマーク

Java エディターでのオーバーライドされたメソッドの表示 新規の「オーバーライド・インジケーター」注釈 (「ワークベンチ」>「エディタ ー」>「注釈」設定ページを参照) は、別のメソッドを実装または オーバーライドするメソッドにフラグを付けます。 デフォルトでは、左側の垂直表示域に「オーバーライド」および「実装」アイコンが表示されます。 このアイコンをクリックすると、スーパー・メソッドにナビゲートされます。

オーバーライド・インジケーターの画像

ロールオーバー吹き出しに表示される複数の注釈 テキスト・エディターのルーラーに複数の注釈がある場合、 それらの上でマウスを移動させると、注釈は横並びに表示されます。 クイック・フィックス、ブレークポイントの設定、ブックマークの追加などの警告やアクションには、 個別にアクセスすることができます。 この機能はデフォルトでは使用不可になっていますが、 「Java」>「エディター」>「吹き出し」設定タブで使用可能にできます。

垂直表示域の複数の注釈の上でマウスを移動させると、それらの注釈はロールオーバー吹き出しによって横並びに表示されます。

新規クイック・アシスト・キュー Java エディターに入力すると、クイック・アシストが使用可能であれば、 左マージンにクイック・アシスト・キュー (緑色の電球) が表示されます。 「編集」>「クイック・フィックス」(Ctrl+1) を使用するか、電球をクリックしてプロポーザルを参照します。 このフィーチャーは、「Java」>「エディター」>「外観」設定タブから 「クイック・アクセスの電球 (Lightbulb for quick assists)」にチェック・マークを付けると使用可能になります。

「クイック・アシスト」電球

クイック・フィックスへのリンク・モード いくつかのクイック・フィックスの結果がリンク (テンプレート) モードで表示されるようになりました。 「クイック・フィックス」の起動後に、Tab キーおよび Shift+Tab を使用して、 生成された戻り型、メソッド名、引き数型、および引き数名の間をナビゲートします。 リンク・モードを使用するクイック・フィックスの例を、以下に示します。
  • 新規メソッドの作成
  • 新規フィールド、パラメーター、またはローカル変数の作成
  • 新規引き数の追加
  • 新規ローカルまたはフィールドへのステートメントの割り当て
リンク・モードでは、そのほかにも別の名前、型、または引き数が提案されます。

引き数推測の例

リンク・モードでの「引き数の追加」クイック・フィックスと結果

例外推測の例

リンク・モードでの「スロー宣言の追加」クイック・フィックスと結果

ID 推測の改良 フィールド、変数、またはパラメーターの追加時に、 クイック・フィックスによって新規 ID として適した名前の予測が試行されます。 新しいリンク・モード・フィーチャーを使用することにより、複数の提案が示されるようになりました。
「ローカル変数への割り当て」クイック・フィックスによる ID の推測
パラメーターのミスマッチに関するクイック・フィックスの改良 ミスマッチ・パラメーターに関する新しい Java クイック・フィックス (引き数またはメソッド・パラメーターのキャスト、交換、追加、または除去の提案など) がいくつか追加されています。

ミスマッチ・パラメーターのクイック・フィックス

新規クイック・アシスト Java エディターに新規クイック・アシストが追加されています。以下について、Ctrl+1 キーを押してみてください。
  • 変数。変数のさまざまな宣言が分割および結合されます。
  • 'if' ステートメント。ステートメントの本文がブロックに変換される、あるいは新しい 'else' ブロックが追加されます。
  • メソッド・パラメーター。このパラメーターが新規フィールドに割り当てられます。
  • メソッド宣言。このメソッドがスーパータイプで作成されます。
「スーパータイプで作成」クイック・アシスト

「パラメーターのフィールドへの割り当て」クイック・アシスト

コード・アシストによる Getter および Setter の作成 コード・アシストでは、メソッドのオーバーライドを作成するだけでなく 、Getter、Setter、デフォルト・コンストラクター、およびメソッド・スタブを作成することができます。 メンバー間で型本体のカーソルを設定して Ctrl+Space キーを押すと、メソッドのスタブを作成する プロポーザルが得られます。

コード・アシストにおける Getter

コンストラクターを簡単に作成する方法 新規 Java コマンド「ソース」>「フィールドを使用してコンストラクターを生成」を使用すると、 選択されたフィールドを初期化する新しいコンストラクターが作成されます。 初期化するフィールドは、追加のコンストラクター・パラメーターから選択します。 その順番は、ダイアログの上/下ボタンで制御します。

フィールドによるコンストラクターの生成

ソース」>「スーパークラスからのコンストラクターを追加」コマンドで、 ダイアログをポップアップして、現在のクラスに挿入するスーパークラスのコンストラクターを選択できるようになりました。 このクイック・アシスト機能は、引き続きプロンプトを表示せずに挿入を行うために使用できます。

Java デバッガー

インスペクション/表示に関するポップアップ

すべての表示およびインスペクションの結果に対して、 「評価 (Evaluation)」ポップアップを使用できるようになりました。

「クイック・インスペクション (Inspect Quick)」ポップアップ

論理構造

Java デバッガーでは、 コレクションやマップなどの特定の Java の型を、よりコンパクトで分かりやすいフォームで表示できるようになりました。 これらの論理構造は、「変数」ビューのトグル・ボタンで制御されます。
論理構造

システム・スレッドのフィルター操作

システム・スレッドは、デフォルトで「デバッグ」ビューからフィルターによって除外されるようになりました。 「デバッグ」ビューのドロップダウン・メニューにある「システム・スレッドの表示」コマンドを使用して、 フィルターのオン/オフを切り替えることができます。

任意の行の選択項目にステップイン

Java デバッガーの「選択項目にステップイン」コマンドは、 現在実行中の行以外にも使用できるようになりました。

クラス準備ブレークポイント

ブレークポイントは、クラス準備イベントに設定できます。 Java VM が、指定されたクラスやインターフェースを最初にロードする際には、このプログラムは中断されます。

クラス準備ブレークポイント

例外ブレークポイントのハイパーリンク

例外ブレークポイントは、コンソールのスタック・トレースから直接 作成できるようになりました。スタック・トレースの開始時に、例外名の下に示されるハイパーリンクをクリックすると、 新規に作成された (あるいは既存の) 例外ブレークポイント上でプロパティー・ダイアログが開きます。

「コンソール」ビューの例外ブレークポイント・リンク

外部ソースのブレークポイント

外部ソース・コード (Java プロジェクトのビルド・クラスパス上にないソース・コードなど) に、ブレークポイントを配置できるようになりました。 デバッガーにより外部ソースが表示されていれば、「実行」メニューのブレークポイント作成アクション によって、外部ブレークポイントが自動的に作成されます。

リファクタリングによるブレークポイントおよび起動構成の更新

ブレークポイントおよび起動構成が、Java ソース・コードの リファクタリング (Java プロジェクト、ソース・ファイル、型宣言の名前変更など) の結果として更新されました。

名前変更には Java 起動構成も含まれる

ホット・コード置換に失敗した場合の再始動オプション

ホット・コード置換をサポートしていないホスト Java VM で変更が加えられた場合に選択可能な、 「継続」または「終了」以外のオプションとして、「VM の再始動 (Restart the VM)」が追加されました。

「ホット・コード置換に失敗 (Hot Code Replace Failed)」ダイアログ

デフォルト VM 引き数と JRE との関連付けが可能

Java」>「インストール済みの JRE」設定ページで、 デフォルト VM 引き数のセットと各 JRE との関連付けを行えるようになりました。 これらの引き数は、使用されている VM があれば、その VM に渡されます。

「デフォルト VM 引き数と JRE (Default VM Args JRE)」設定ダイアログ

リファクタリング

ソースおよびリファクタリング・アクションのクイック・メニュー

リファクタリング・コマンドおよびソース・コマンドには、 クイック・メニューからアクセスできます。 Java エディターまたは Java ビューで操作されるエレメントを選択し 、Alt+Shift+S キーを押してソース・クイック・メニューにアクセスするか 、Alt+Shift+T キーを押してリファクタリング・クイック・メニューにアクセスします。

リファクタリング・クイック・メニュー

リファクタリングによる Javadoc 内の参照の更新 「名前変更」、「移動」、および「メソッド・シグニチャーの変更」リファクタリング によって、Javadoc コメント内の参照も更新されるようになりました。 この参照には、@param および @throws 文節のほか 、@see および @link タグ内の参照も含まれます。

この結果、「名前変更」ダイアログが次のように簡略化されました。

「型の名前変更」ダイアログ

従来のオプション「Javadoc コメント内の参照を 更新 (Update references in Javadoc comments)」は、 折り畳まれて「参照の更新」に入っています。従来のオプション「標準コメント内の参照を更新 」と 「ストリング・リテラル内の参照を更新 」が 組み合わされて、「コメントおよびストリング内のテキスト一致の更新」になりました。

「型の一般化」リファクタリング Java エディターで、変数、パラメーター、フィールド、またはメソッド戻り型の宣言を選択して、 「リファクタリング」>「型の一般化」を選択します。

「型の一般化」- ウィザード

このウィザードには、変数のスーパータイプ階層が示されます。使用可能ないずれかの型を 1 つ選択すると、 宣言が更新されます。

「型の一般化」- 変更後
「ファクトリーの導入」リファクタリング コンストラクター宣言を選択する、あるいは Java エディターで呼び出して、 「リファクタリング」>「ファクトリーの導入」と選択します。

「ファクトリーの導入」- 変更前

「ファクトリーの導入」ウィザード

private になったコンストラクターを呼び出す静的ファクトリー・メソッドが作成され、 指定されたコンストラクターへのすべての呼び出しは、新規ファクトリー・メソッドへの呼び出しに置き換えられます。

「ファクトリーの導入」- 変更後
「パラメーターの導入」リファクタリング Java エディターで、式を選んで「リファクタリング」>「パラメーターの導入」を選択します。

「パラメーターの導入」- 変更前

収容メソッドに新規パラメーターが提供され、選択した式がすべての呼び出しサイトの引き数リストにコピーされます。

「パラメーターの導入」- 変更後

「メソッド・シグニチャーの変更」リファクタリングの改良 Java エディターで、メソッドを選んで「リファクタリング」>「メソッド・シグニチャーの変更」を選択します。

「シグニチャーの変更」ウィザード

リファクタリングは、以下のように改良されました。
  • メソッドのオーバーライドのパラメーターも名前変更する
  • javadoc 内の参照を更新する
  • パラメーター型の列で、コンテンツ・アシスト (Ctrl+Space) を使用できる
  • メソッド名を変更できる
  • スローされる例外を変更できる

それ以外にも、パラメーター・テーブルでの編集機能が整備され、 標準のナビゲーション・キー (Tab、Shift+Tab、↑、↓) を使用できるようになりました。 セル内部をクリックするか、F2 キーまたは Enter キーを押すと、編集を開始できます。

インナー・タイプからのメソッドの抽出

匿名、ローカル、または非静的メンバー型に収容されている Java コードについては、 「メソッドの抽出」リファクタリングを使用して、外部型で新規メソッドを作成できるようになりました。

「メソッドの抽出」ウィザード

メソッドの抽出による重複コード・フラグメントの検索

メソッドの抽出により、重複コード・フラグメントを検索できるようになりました。 この機能は、重複コード・フラグメントを新規メソッドに抽出する際にも役立ちます。 コード断片から式 foo(a) + bar(b) を抽出する場合の例を、以下に示します。

「メソッドの抽出」ウィザード

結果コードは、次のようになります。

「メソッドの抽出」ウィザード

Java ツール - 一般

メソッド呼び出し階層 Java エディター、またはメソッドを表示する任意の Java ビューで、 「ナビゲート」>「呼び出し階層を開く」(Ctrl+Alt+H) を選択すると、 メソッド呼び出し階層を表示するビューを開くことができます。

「呼び出し階層」ビュー

「Javadoc」ビュー Java エディターや Java ビューで選択されたエレメントの Javadoc を表示する、 新しい「Javadoc」ビュー (「ウィンドウ」>「ビューの表示」>「その 他」>「Java」>「Javadoc」) があります。 「Javadoc」ビューは、SWT ブラウザー・ウィジェットを使用して 、HTML をサポートするプラットフォームで HTML を表示します。

「Javadoc」ビュー

「宣言」ビュー Java エディターや Java ビューで選択されたエレメントのソースを表示する、 新規の「宣言」ビュー (「ウィンドウ」>「ビューの表示」>「その 他」>「Java」>「宣言」) があります。

「宣言」ビュー

型フィルター

コード・アシストおよびクイック・フィックスのプロポーザルに示される型のセットを、 新しい「Java」>「型フィルター」設定ページを使ってフィルター操作できるようになりました。 リスト上のこれらのフィルター・パターンのいずれか 1 つに一致する型は、 「型を開く」ダイアログには表示されず、クイック・フィックスやコード・アシストのプロポーザルでは使用できません。 これらのフィルターは、「パッケージ・エクスプローラー」ビューや「型階層」ビューに表示される型には影響を与えません。

「型階層」設定ページ
フィルター・サポートの改良 「フィルター...」エントリーを含む Java 特有のビュー・メニューに、 最近変更されたフィルターに関する、チェック可能な直前のエントリーが組み込まれるようになりました。

改良されたフィルター

アーカイブから取り出される外部 Javadoc アーカイブに Javadoc ドキュメンテーションが保管されている場合、そのアーカイブをアンパックする必要はなくなりました。 「Javadoc ロケーション」プロパティー・ダイアログでは、アーカイブ内のドキュメンテーションもサポートされています。 JAR を選択してそのプロパティー・ページを表示し (「プロジェクト」>「プロパティ ー」>「Java のビルド・パス」>「ライブラリ ー」>「Javadoc ロケーション」を選択することに相当)、ドキュメンテーションを JAR に添付します。

「Javadoc ロケーション」構成ダイアログ

ナビゲート」>「外部 Javadoc を開く」(Shift+F2) を使用して、 ブラウザーで Javadoc を開きます。

「検索」ビューでのオプションのグループ化 新しい「検索」ビューのビュー・メニューで、 「フラット・レイアウト」モードまたは「階層レイアウト」モードに切り替えることができます。 階層モードでは、Java 検索の結果をプロジェクト、パッケージ、ファイル、または型別に グループ化できるようになりました。

新規「検索」ビュー

Java 検索でのフィルターの突き合わせ Java 検索の結果をフィルター操作することが可能です。 Javadoc コメント、インポート・ステートメント、読み取りアクセス、および書き込みアクセスを フィルターに掛けることができます。現在の検索に適用可能なフィルターのみが表示されます。

検索フィルター

ローカル型および匿名型の検索 ローカル型と匿名型が、検索操作で完全にサポートされるようになりました。 特に、選択したローカル型への参照が検索可能になっています。 また、検索結果が (常に最も外側のエンクロージング・メソッド内に配置される代わりに) ローカル型や 匿名型の内部で適切にルート設定されるようになりました。
ローカル型 ローカル型および匿名型が、ビュー上で非表示にするフィルターと一緒に、デフォルトでさまざまな Java 特有のビューに 表示されるようになりました。

型階層でのローカル

使用すべきでないエレメント 使用すべきでないとマークが付けられた型、フィールド、およびメソッドは、 スラッシュ付きで表示されるようになりました。

使用すべきでないエレメントの概略

Javadoc コメント内の参照 Java インフラストラクチャーに、Javadoc コメント内の参照が組み込まれるようになりました。 これは、エディター内の「検索」、「インポートの編成」、リンクされた名前変更、 およびエディターのオカレンス・マーカーなど、幾つかの場所で表示されることがあります。

Javadoc タグにマークされたオカレンス

ダイアログ・フィールドのコンテンツ・アシスト コンテンツ・アシスト (Ctrl+Space) を、 さまざまな Java ダイアログの入力フィールドでも使用できるようになりました。 フィールドがフォーカスされているときに、そのフィールドの横にある小さな電球のアイコンを探してください。

新規クラス・ダイアログ

「型階層」ビューでのワーキング・セットのサポート

「型階層」ビューでは、ワーキング・セットによるフィルター処理がサポートされるようになりました。 ビュー・メニューでワーキング・セットを選択すると、「階層ビューのみ」には、指定されたワーキング・セットに含まれている Java の型のみが、 ツリーを完成させるために必要な親タイプごとに拡張されて表示されます (親タイプは、白く塗りつぶされたイメージで示されています)。

有効なワーキング・セットを持つ「型階層」ビュー
パッケージ型階層のインターフェース パッケージで開かれた型階層 (F4) には、このパッケージのインターフェースも 表示されるようになりました。ソース・フォルダー、プロジェクト、および JAR の階層についても同様です。

インターフェース付きのパッケージ型階層

NLS ウィザードの改良 NLS ウィザード (「ソース」>「ストリングの外部化」) が更新され、 既に外部化されたファイルについて以下の処理を行えるようになりました。
  • 既存のキーおよび値を名前変更
  • 複数のキー接頭部を同時に名前変更
  • 既に外部化されたストリングを、「無視する」ように変更するか、 オリジナルのタグ付けされていない (初期化された) 状態に変更する (あるいは、その逆に変更する)
  • プロパティー・ファイルへの新規キーの挿入の改良

既に外部化されたストリングにおける NLS ウィザード

ユーザー定義ライブラリー 外部化された JAR を、名前付きライブラリーへとグループ化できるようになりました。 「Java」>「ビルド・パス」>「ユーザー・ライブラリー」設定ページ でユーザー定義ライブラリーを作成し、これらをプロジェクトのプロパティーでビルド・パスに追加します。

「ユーザー・ライブラリー」設定ページ

クラスパス変数項目と同様に (ローカル・ファイル・システムへの JAR とは異なり)、 ユーザー・ライブラリーのクラスパス・エントリーは、名前によってユーザー・ライブラリーを参照します。

パッケージ・エクスプローラーのライブラリー

Java コンパイラー

Eclipse Java コンパイラーは JCK1.4a に対応 Eclipse Java コンパイラーは、1.4 モードの場合は JCK1.4a に対応し 、1.3 モードの場合は JCK1.3a に対応します。
ソース・フォルダーの組み込みパターン Java のビルド・パス上のソース・フォルダーは、一部の Java ソース・ファイルを選別して組み込むために、 何らかの組み込みパターンに関連付けることが可能になりました。 これは、特定のソース・ファイルを選別して除外する目的で既に使用可能になっている、 排他パターンを補完するものです。 これらを両方組み合わせて、実際に使用することができます。ただし、 両方のパターンを指定した際に、排他パターンが常に組み込みパターンよりも優先される場合に限ります。 例えば、{include="src/", exclude="src/sub"} は、 'src/sub/' サブツリーを持たない 'src/' ツリーを意味します。 組み込みパターンおよび排他パターンは、プロジェクトのビルド・パス・プロパティーを 介して指定できます。

「除外」ダイアログ

Java コード内の静的メンバーへの間接アクセスの検索 Java コンパイラーでは、静的メンバーへの間接アクセスを検索およびフラグ付けすることが可能になりました。 この検査をオンにするオプションは、「Java」>「コンパイラー」>「スタイル」設定ページにあります (デフォルトでは、これらのアクセスは報告されません)。

静的メンバーへの間接アクセスに関する新規診断

static メンバーへの間接アクセスとは、生成済みクラス・ファイルとの互換性に関する問題です。 1.2 より前の JDK バージョンと互換性のあるクラス・ファイルの場合、 コンパイラーは、宣言クラスへの間接的な静的参照 (例では Y) を解決します。 1.2 以降の JDK バージョンと互換性のあるクラス・ファイルの場合、 コンパイラーは、受取側の型への静的参照 (例では X) を解決します。

予期しないブール割り当ての検索 Java コンパイラーでは、予期しないブール割り当てを検索できるようになりました。 この検査をオンにするオプションは、「Java」>「コンパイラー」>「スタイル」設定ページにあります (デフォルトでは、これらの割り当ては報告されません)。

新規コンパイラー・スタイル設定

インスタンス・フィールドへの無条件アクセスにフラグ付けする Java コンパイラー・オプション Java コンパイラーでは、インスタンス・フィールドへの無条件な参照を検索およびフラグ付けできるようになりました。 この検査は、「Java」>「コンパイラー」>「スタイル」設定ページで有効にできます (デフォルトではオフになっています)。

このオプションは、ローカル変数への参照と視覚的に区別するために、 インスタンス・フィールドへの参照をすべて修飾するコーディング・スタイルをサポートします。

正常に完了できない finally ブロックにフラグ付けする Java コンパイラー・オプション Java コンパイラーでは、(Java 言語仕様で定義されている) 正常に完了できない finally ブロックを検索およびフラグ付けすることが可能になりました。 正常に完了できない finally ブロックは、混乱を生じる可能性があり、よくない手法であると見なされます。 この検査は、「Java」>「コンパイラー」>「スタイル」設定ページで有効にできます (デフォルトでは警告されます)。

正常に完了しない finally ブロックに関する新規診断

空のコントロール・フロー・ステートメント Java コンパイラーでは、コントロール・フロー・ステートメントの本文として使用される空のステートメントに フラグ付けすることが可能になりました。 「Java」>「コンパイラー」>「スタイル」>「空のステートメント」以下の設定を参照してください。
ドキュメント化されない空のブロックにフラグ付けする Java コンパイラー・オプション Java コンパイラーでは、コメント付きでドキュメント化されていない空のブロックを検索およびフラグ付けすることが可能になりました。 完全に空のメソッドや型本体も、その対象になります。 この検査は、「Java」>「コンパイラー」>「スタイル」設定ページで有効にできます (デフォルトではオフになっています)。
別のフィールドや変数を非表示にする変数の検索 Java コンパイラーでは、別のフィールドや変数を非表示にする、ローカル変数宣言およびフィールドを検索できるようになりました。 この検査をオンにするオプションは、「Java」>「コンパイラー」>「拡張」設定ページに あります (デフォルトでは、これらの宣言やフィールドは報告されません)。

新規コンパイラー・スタイル設定

Java コードでの不要な型検査の検索 Java コンパイラーでは、不要なキャストや 'instanceof' 操作を検索およびフラグ付けすることが可能になりました。 この検査をオンにするオプションは、「Java」>「コンパイラー」>「未使用コード」設定ページにあります (デフォルトでは、これらキャストや操作は報告されません)。

不要な型検索に関する新規診断

不要な検査済み例外にフラグ付けする Java コンパイラー・オプション Java コンパイラーでは、宣言されているがスローされていない不要な検索済み例外を検索およびフラグ付けすることが可能になりました。 この検査は、「Java」>「コンパイラー」>「未使用コード」設定ページで有効にできます (デフォルトではオフになっています)。

指定されたメソッドでスローを宣言される検査済み例外の数は、スーパークラス (またはインターフェース) で宣言される検査済み例外の数よりも常に少なく なりますので注意してください。

未使用の宣言済みでスローされた例外に関する新規の診断

新規コンパイラー・オプションのクイック・フィックス 新規 Java コンパイラー・オプションは、対応するクイック・フィックスに含まれています。

スローする例外の不要な宣言:
「スローされた例外の除去 (Remove thrown exception)」クイック・フィックス
 インスタンス・フィールドへの無条件アクセス:
「フィールドの修飾 (Qualify field)」クイック・フィックス
不要なキャスト:
「不要なキャスト (Unnecessary Cast)」クイック・フィックス

警告またはエラーの発生時に Ctrl+1 キーを押すか、電球をクリックして、提案されるクイック・フィックスを入手します。
Javadoc コメント処理 Eclipse Java コンパイラーでは、Javadoc コメントの処理が可能になりました。 検索では、 doc コメント内の参照を報告し、リファクタリングによってこれらの参照も同様に更新されます。 このフィーチャーは、「Java」>「コンパイラー」>「Javadoc」設定タブで 制御します (あるいは、「プロジェクト」>「プロパティー」>「Java コンパイラ ー」>「Javadoc」を使用して、個別のプロジェクトごとに設定します)。

「Javadoc 設定」ページ

これがオンになると、Java エディターで、誤った形式の Javadoc コメントにマークが付けられます。
Javadoc で検出された問題
Javadoc コメントでの問題に対するクイック・フィックス Javadoc コメント (直前の項目) で新規問題マーカーを使用可能にした後で 、Java エディターでクイック・フィックスを使用して、未指定の Javadoc タグを修正できます。 その際には、ただ電球をクリックするか、「編集」>「クイック・フィックス」(Ctrl+1) を使用します。

「Javadoc の挿入 (Insert Javadoc)」クイック・フィックス

JSR バイトコードのインライン化 Java コンパイラーでは、対応するサブルーチンのための命令をインライン化する代わりに 、JSR バイトコード命令 (一般に、try-finally ブロックのコンパイルに使用される) を使用して、 クラス・ファイルの生成をオプションで回避できるようになりました。 生成されるクラス・ファイルは若干大きくなりますが、一般にロード時間は速くなります。 このモードは、JSR 202 を予期した上でのサポートです。 「Java」>「コンパイラー」>「準拠およびクラス・ファイル」以下の設定を参照してください。

JUnit 統合

個々の JUnit テストの実行には特殊なセットアップが必要 JUnit では、テスト実行用として、個別のテストの装飾がサポートされるようになりました。 これを行うには、次に示すように、テスト・ケース・クラスに public static setUpTest(Test) メソッドをインプリメントします。
個別の JUnit テストの実行

setUpTest メソッドは、テストを個別に実行し始める (失敗したテストの再実行を含む) 際に自動的に使用されます。 setUpTest によって戻される結果は、一般的には指定されたテストを特殊なセットアップや 分解でラップする使用法で、そのテストの代わりに実行されます。

「JUnit」ビューでのストリング比較の改良 ストリングが予期しないものであることが原因で JUnit テストが失敗した場合、 ツールバーの拡大ボタンをクリックして、比較ビューアーでストリング間の相違を 表示してください。

テスト失敗時の「Junit」ビューアー

ストリング比較ビューアー

特記事項