ヒントおよびトリック

ソースの編集

コンテンツ・アシスト コンテンツ・アシストは、提示される完了リストに、部分的に入力されたストリングを提供します。Java エディターで、Ctrl+Space を押すかまたは「編集」>「コンテンツ・アシスト」を起動させます。

「コンテンツ・アシスト」選択ダイアログ

Javadoc コメントでのコンテンツ・アシスト コンテンツ・アシストは、Javadoc コメントにも使用できます。

Javadoc コメント用のコンテンツ・アシスト

変数、メソッド・パラメーター、およびフィールド名を完成させるためのコンテンツ・アシスト

コンテンツ・アシストを使用して、フィールド、メソッド、パラメーター、およびローカル変数の作成を高速化できます。宣言の型名の後ろにカーソルを置いて、「編集」>「コンテンツ・アシスト」を起動させるか Ctrl+Space を押します。

フィールド名の提案

フィールド、ローカル変数、またはメソッド・パラメーターに接頭部か接尾部を使用する場合、「コード生成」設定ページでこれを指定してください (「ウィンドウ」>「設定」>「Java」>「コード生成」>「名前」)

パラメーター・ヒント メソッドの引き数にカーソルを置くと、パラメーター・ヒントのリストを表示できます。Java エディターで、Ctrl+Shift+Space を押すか「編集」>「パラメーター・ヒント」を起動させます。

パラメーター・ヒントの吹き出し

匿名クラスでのコンテンツ・アシスト コンテンツ・アシストは、匿名クラス作成時のヘルプも提供します。クラス・インスタンス作成の左大括弧の後ろにカーソルを置いて、「編集」>「コンテンツ・アシスト」を起動させるか Ctrl+Space を押します。

匿名クラス用のコンテンツ・アシスト

インプリメントする必要があるすべてのメソッドを組み込んだ匿名内部クラスの本体を作成します。
コード・アシストの挿入と置換の切り替え 既存の ID でコード・アシストが起動すると、コード・アシストはその ID を選択した完了と置き換えるか、挿入のみを実行できます。デフォルト動作 (上書きまたは挿入) は、「ウィンドウ」>「設定」>「Java」>「エディター」>「コード・アシスト」で定義されます。
完了の選択時に Ctrl キーを押すと、コンテンツ・アシスト選択ダイアログ内の動作を一時的に切り替えることができます。
Getter および Setter の作成 フィールドに Getter および Setter メソッドを作成するには、そのフィールドの宣言を選択し、「ソース」>「Getter および Setter の生成」を起動します。

「Getter および Setter の生成」ダイアログ

名前の接頭部または接尾部を使用する場合、「コード生成」設定ページでこれを指定してください (「ウィンドウ」>「設定」>「Java」>「コード生成」>「名前」)
フィールドからの Getter および Setter の同時削除 フィールドを削除するとき、Eclipse は、その Getter および Setter メソッドの削除を提案することがあります。フィールド名に接頭部か接尾部を使用する場合、「コード生成」設定ページでこれを指定してください (「ウィンドウ」>「設定」>「Java」>「コード生成」>「名前」)
代行メソッドの作成 フィールドに代行メソッドを作成するには、そのフィールドの宣言を選択し、「ソース」>「代行メソッドの生成」を起動します。これにより、代行メソッドに転送呼び出しがある型に選択したメソッドを追加します。 以下は、代行メソッドのサンプルです。
public void addModifyListener(ModifyListener listener) {
    fTextControl.addModifyListener(listener);
}
ドラッグ・アンド・ドロップを使用したメソッドの作成 既存メソッドと同じシグニチャーを持つメソッドを作成する場合、ドラッグ・アンド・ドロップまたはコピー / 貼り付けを使用できます。ドラッグ・アンド・ドロップ (Windows) の場合、Ctrl+Shift を押しながら「リンク」の作成をドロップします。
ドラッグ・アンド・ドロップを使用したリファクタリング ドラッグ・アンド・ドロップにより、Java コンパイル単位をパッケージ間で移動させることができます。脱落したすべてのインポートが追加され、参照は更新されます。
ドラッグ・アンド・ドロップを使用した Java コード・エレメントの移動およびコピー ドラッグ・アンド・ドロップにより、メソッドやフィールドなどの Java エレメントを移動およびコピーできます。リファクタリングは起動しません (コードをコピーまたは移動させるのみ)。
Java エレメントのコードは、容易にシステム・クリップボードに置くことができます。 メソッド、フィールド、および型セットを選択して Ctrl + C を押すと (または「編集」>「コピー」アクションを起動する)、選択したエレメントのソース・コードがシステム・クリップボードに置かれます。これをワークベンチ内の別のロケーションに貼り付けたり (Ctrl + V または 「編集」>「貼り付け」) 、別のアプリケーション (E メール・プログラムなど) 内で同じように操作したりできます。
テンプレートを使用したメソッドの作成 メソッド・スタブを含む新規テンプレートを定義できます (「設定」>「Java」>「エディター」>「テンプレート」)。テンプレートは、「コンテンツ・アシスト (Ctrl+Space)」プロポーザルとともに表示されます。
「private_method」、「public_method」、「protected_method」などの既存テンプレートもあります。
入力する値 (戻り型、名前、および引き数) 間をナビゲートするには、Tab キーを使用します。

新規メソッド・テンプレート・プロポーザルを使用したコンテンツ・アシスト

即時修正を使用した新規メソッドの作成 メソッド呼び出しで開始してから、即時修正 (Ctrl+1) を使用してメソッドを作成します。

「メソッドの作成」即時修正

コンテンツ・アシストを使用したメソッドのオーバーライド メソッドを追加するロケーションの型本体でコンテンツ・アシスト (Ctrl+Space) を起動します。コンテンツ・アシストは、オーバーライド可能なすべてのメソッドを提示します。選択したメソッドのメソッド本体が作成されます。

「オーバーライド・メソッド」コンテンツ・アシスト

即時修正を使用したインプリメントされないメソッドの追加 新規インターフェースをインプリメントするには、まず型に「インプリメント」宣言を追加します。 保管またはビルドしなくても、Java エディターは、メソッドが脱落している型に下線を引いて通知し、即時修正の電球を表示します。電球をクリックするか Ctrl+1 (「編集」>「即時修正」) を押して、インプリメントされないメソッドの追加またはクラス抽象の作成を選択します。

「インプリメントされていないメソッドを追加します。」プロポーザルを提供する即時修正

オーバーライドするメソッドの追加 基本クラスのメソッドをオーバーライドするメソッドを作成するには、次のようにします。
メソッドを追加する型を選択し、「ソース」>「オーバーライド / インプリメント・メソッド」を起動します。これにより、オーバーライドするメソッドを選択できるダイアログが開きます。

「オーバーライド / インプリメント・メソッド」ダイアログ

ローカル名前変更 他のファイルでは依存関係の完全分析が不要な名前変更をすばやく実行するには、「ローカル名前変更」即時修正を使用します。Java エディターで、変数、メソッド、または型にカーソルを置き、Ctrl+1 (「編集」>「即時修正」) を押します。
エディターはリンク編集モード (テンプレートと類似) に切り替えられ、同時に ID を変更すると、その変数、メソッド、または型の他のすべての参照が変更されます。

「ローカル名前変更」即時修正を使用した複数 ID の変更

即時修正を使用した例外の操作 例外をスローすると、容易になります。 操作されない例外は入力時に検出され、エディター内では赤の線で示されます。
  • 電球をクリックするか Ctrl+1 を押して、try/catch ブロックで呼び出しを囲みます。 try ブロックにさらにステートメントを入れたい場合は、そのステートメントを選択して、「ソース」>「Try/Catch で囲む」を使用します。また、「編集」>「選択の拡張先」を使用して「エンクロージング」「次へ」、または「戻る」を選択すれば、個々のステートメントを容易に選択できます。
  • 呼び出しがすでに try ブロックで囲まれている場合、即時修正は既存ブロックに catch ブロックを追加することを提案します。
  • 例外の操作が不要な場合は、即時修正に新しくスローされた例外をエンクロージング・メソッド宣言に追加させます。

「アンキャッチ例外」即時修正プロポーザル

catch ブロックは、いつでもスローされる例外に変換できます。catch ブロックで Ctrl+1 (「編集」>「即時修正」) を使用してください。

「catch 文節を throw で置き換える」クイック・アシスト

割り当ての入力を減らす 割り当てを入力する代わりに、割り当てられる式で開始します。

「ローカル変数へのステートメントの割り当て」クイック・アシスト (quick assist)

Ctrl+1 (「編集」>「即時編集」) を使用して「ステートメントを新規ローカル変数に割り当てます。」を選択すると、即時修正はユーザー用の変数名を判断します。
Iterator iterator= vector.iterator();
行の囲み if / while / for ステートメントまたはブロックのステートメントを囲むには、囲む行を選択して Ctrl+1 (「編集」>「即時修正」) を押します。これにより、変数 ${line_selection} を含むすべてのテンプレートがリストされます。

「テンプレートで囲む」クイック・アシスト

テンプレートは、「ウィンドウ」>「設定」>「Java」>「エディター」>「テンプレート」で構成できます。対応するテンプレートを編集するか、独自のテンプレートを定義して結果コードをカスタマイズしてください。
独自のテンプレートの作成

独自のテンプレートを作成できます。「Java」>「エディター」>「テンプレート」設定ページにジャンプして「新規」ボタンを押し、テンプレートを作成してください。例えば、配列の戻りを繰り返すテンプレートは、次のようになります。

for (int ${index} = ${array}.length - 1; ${index} >= 0; ${index}--){
   ${cursor}
}
自動的に引き数名を挿入できるコード・アシスト

メソッドの完了時に、コード・アシストが自動的に引き数名を挿入するようにできます。この動作は、「Java」>「エディター」>「コード・アシスト」設定ページでカスタマイズできます (「メソッド完了時に引き数名を入力」チェック・ボックスを参照)。例えば、2 番目のエントリーを選択すると、次のようになります。

「コード・アシスト」ウィンドウ

コード・アシストは、自動的に引き数名を挿入します。

引き数名を挿入されたコード・アシスト

Tab キーを使用すれば、挿入した名前の間をナビゲートできます。

コード・アシストは、宣言された型に基づいて埋め込む引き数名を判断することもできます。これは、「Java」>「エディター」>「コード・アシスト」設定ページの「入力される引き数名を予測」チェック・ボックスで構成できます。

周囲のステートメントを除去 周囲のステートメントまたはブロックを除去するには、左大括弧にカーソルを置いて Ctrl+1 (「編集」>「即時修正」) を押します。

「周囲のステートメントを除去」クイック・アシスト (quick assist)

構造化選択 構造化選択フィーチャーを使用すると、Java コードを構文的にすばやく選択できます。
テキストを強調表示して、Ctrl+Shift+↑ を押すかメニュー・バーから「編集」>「選択の拡張先」>「エンクロージング・エレメント」を選択します。選択項目は、それを含む最小 Java 構文エレメントに拡張されます。再度アクションを起動すれば、選択項目をさらに拡張できます。
対応する大括弧の検索 対応する大括弧を検索するには、左大括弧または右大括弧を選択して、Ctrl+Shift+P (「ナビゲート」>「ジャンプ」>「対応する大括弧」) を押します。また、左大括弧の前か右大括弧の後でダブルクリックすることもできます。これにより、2 つの大括弧の間のテキストを選択します。

「ダブルクリック」を使用した大括弧間のテキストの選択

スマート Javadoc 「/**」と入力して、Enter キーを押します。これにより、標準 @param、@return、および @exception タグを含む Javadoc コメント・スタブが自動的に追加されます。

「スマート Javadoc」の結果

追加コメントのテンプレートは、「ウィンドウ」>「設定」>「Java」>「コード生成」>「コードとコメント」>「コメント」で構成できます。
Java エディターの高速化 入力速度は、以下の方法で速くすることができます。
  • 入力中に表示される問題標識をオフにします。「ウィンドウ」>「設定」>「Java」>「エディター」>「注釈」のすべてのチェック・ボックスをクリアします。
  • 表示用ルーラーを隠します。 「ウィンドウ」>「設定」>「Java」>「エディター」>「外観」>「表示用ルーラーの表示」のチェック・ボックスをクリアします。
  • エディターでアウトライン同期をオフにします。ウィンドウ」>「設定」>「Java」>「エディター」>「外観」>「カーソルの動きにアウトライン選択を同期する」チェック・ボックスをクリアします。
ローカル・ヒストリーを使用して、メソッドを前回保存した状態に戻す ファイルを編集すると、その前の内容はローカル・ヒストリーに保持されます。Java ツールは、Java エレメントがローカル・ヒストリーを使用できるようにして、完全ファイルではなく単一メソッドを前回保存した状態に戻せるようにします。

エレメントを選択して「置換」>「ローカル・ヒストリー」を使用し、エレメントを前回保存した状態に戻します。

「ローカル・ヒストリーからの置換」ダイアログ

ローカル・ヒストリーを使用した除去メソッドの復元 ファイルを編集すると、その前の内容はローカル・ヒストリーに保持されます。Java ツールは、Java エレメントがローカル・ヒストリーを使用できるようにして、削除したメソッドを選択的に復元できるようにします。

コンテナーを選択して「ローカル・ヒストリーからの復元」を使用し、除去したメンバーを復元します。

「ローカル・ヒストリーからの復元」ダイアログ

カスタマイズ可能なコード生成 「Java」>「コード生成」設定ページにより、通常のテンプレートと同様に、生成したコードおよびコメントをカスタマイズできます。このコード・テンプレートは、コードが生成されると使用されます。(これらの新規テンプレートは、前にコード生成に使用されていた「filecomment」および「typecomment」テンプレートと置き換わります。

「コード・テンプレート」設定ページ

コメントを自動的に追加する (Automatically add comments)...」チェック・ボックスにより、新規メソッドまたは型は、それを作成するフィーチャーが自動的にコメントを追加するかどうか、あるいは「Javadoc コメントの追加」で明示的に追加されるだけかどうかを決定できます。
メンバーのソート 「Java」>「外観」>「メンバーのソート順序」 設定ページで定義されたカテゴリー順に、Java コンパイル単位のメンバーをソートできます。
「ソース」>「メンバーのソート」で、アクションを検索します。
ストリングのラップ

ストリング・リテラルは、編集時にラップを指定できます。例えば、次のようなコードがある場合、

String message= "This is some long message.";

「some」の後に脱字記号を挿入し、Enter キーを押します。コードは、自動的に次のように変化します:

String message= "This is some" + 
           " long message.";

この動作は、「Java」>「エディター」>「入力」設定ページでカスタマイズできます。

検索

変数の位置指定とその読み取り/書き込みアクセス ID (変数、メソッド、または型の参照か宣言) を選択して「検索」>「ファイルでのオカレンス」を起動すると、変数が配置されて、読み取り/書き込み状況を容易に確認できます。これにより、同一ファイル内でこの ID のすべての参照にマークが付けられます。結果は、「検索」ビューに、変数の読み取りまたは書き込みアクセスを示すアイコンで表示されます。
一般検索フィーチャー (「検索」>「参照」) を使用すれば、複数のファイルを通して検索できます。

フィールドへの読み取りおよび書き込みアクセス

特定の戻り型を使用したメソッドの検索

特定の戻り型を使用してメソッドを検索するには、次のように「*<return type>」を使用します。

  1. 「検索」ダイアログを開いて、「Java 検索」タブをクリックします。
  2. 検索ストリング」に、「*」と戻り型をスペースで区切って入力します。
  3. ケース・センシティブ」チェック・ボックスを選択します。
  4. メソッド」と「宣言」を選択してから、「検索」をクリックします。

指定の戻り型を使用したメソッドの検索

未使用コードの検索 Java コンパイラーは、到達不能コード、未使用変数、パラメーター、インポート、および未使用のプライベート型、メソッド、フィールドを検出します。
これは、「Java」>「コンパイラー」設定ページで設定されます。

「コンパイラー」設定ページ

これらの設定値は入力通りに検出され、即時修正は不要なコードの除去を提案されます。

コード・ナビゲーションと読み取り

Java エディターで選択項目を開く Java エディターで、その参照からエレメントを開く方法は 2 つあります。
  • コードの参照を選択して F3 (「ナビゲート」>「宣言を開く」) を押す
  • Ctrl を押しながら参照上でマウス・ポインターを移動させる
ハイパーリンク・スタイル・ナビゲーション ハイパーリンク・スタイル・ナビゲーションは、「設定」>「Java」>「エディター」>「ナビゲーション」で構成できます。
インプレース・アウトライン (In-place outlines) Java エディターで Ctrl+F3 を押すと、現行カーソル位置にエレメントのインプレース・アウトライン (in-place outline) がポップアップします。または、Ctrl+O (「ナビゲート」>「アウトラインの表示」) を押すと、現行ソース・ファイルのインプレース・アウトライン (in-place outline) がポップアップします。

インプレース・アウトライン (Inplace outline)

次の / 前のメソッドへジャンプ 次のまたは前のメソッドやフィールドにすばやくナビゲートするには、
Ctrl+Shift+↑ (「ナビゲート」>「ジャンプ」>「前のメンバー」) または Ctrl+Shift+↓ (「ナビゲート」>「ジャンプ」>「次のメンバー」) を使用します。
Java コードの覚え書 「TODO」を使用して Java ソース・コードにコメントをタグ付けすると、Java コンパイラーは自動的に対応するタスクを覚え書として作成します。そのタスクを開くと、コード内の「TODO」にナビゲートされます。「Java」>「タスク・タグ」設定ページを使用して、タスク・リスト内で追跡したいその他の特殊タグ(例えば「FIXME」) を構成します。

エディターのタスク・タグおよび「タスク」ビュー

「開く」および「ジャンプ」ダイアログでの変数の選択 開く」および「ジャンプ」ダイアログは、終了文字「<」をサポートしています。「型を開く」ダイアログに「Test」で終わるすべての型を表示するには、パターン「*Test<」を入力します。
パターンに「<」が含まれていない場合は、そのパターンに「*」が付加されます。「型を開く」ダイアログに「*Test」と入力すると、型名のどこかに「Test」が含まれているすべての型が表示されます。
吹き出しをスティッキーにする F2 (「編集」>「ツール・ヒント説明の表示」) を押せば、スクロール可能ウィンドウで吹き出しのテキストを開くことができます。このウィンドウからコンテンツを選択して、コピーできます。

吹き出しの内容を含んだウィンドウ

Java エディターの吹き出し 修飾キー (Shift、Ctrl、Alt) を使用して、Java エディターに別の吹き出しを表示できるということをご存じですか。
Java エディターの ID 上をマウスで移動しているとき、デフォルトでは、このエレメントの対応するソースから抽出される Javadoc の吹き出しが表示されます。Ctrl キーを押すと、ソース・コードが表示されます。

吹き出しにエレメントのコードを表示した吹き出し

この動作を変更して、「設定」>「Java」>「エディター」>「吹き出し」で他の修飾キーに吹き出しを定義することができます。
外部 Javadoc ドキュメンテーションを開いて構成する Shift+F2 (「ナビゲート」>「外部 Javadoc を開く」) で型、メソッド、またはフィールドの Javadoc ドキュメンテーションを開く場合、最初にエレメントの親ライブラリー (JAR、クラス・フォルダー) またはプロジェクト (ソース・フォルダー) にドキュメンテーション・ロケーションを指定する必要があります。
ライブラリーの場合、「ビルド・パス」ページ (「プロジェクト」>「プロパティー」>「Java のビルド・パス」) を開き、「ライブラリー」にジャンプして、「Javadoc ロケーション」ノードを編集できるライブラリーのノードを拡張します。 このドキュメンテーションは、ユーザー・ファイル・システムまたは Web サーバーのローカルに置くことができます。

「Java のビルド・パス」ダイアログでの Javadoc ロケーションの構成

ソース・フォルダーの型、メソッド、またはフィールドの場合、(「プロジェクト」>「プロパティー」>「Javadoc ロケーション」) にジャンプします。

Java ビュー

「型」階層ビューがサポートする型定義によるグループ化 型階層メソッド・ビューでは、その定義した型ごとに選択した型のメソッドをソートできます。 例えば、AbstractList の場合、「Object」、「Collection」、および「List」に定義されたメソッドを含むように表示できます。

型階層での型定義によるメンバーのソート

型階層でのトリック
  • エレメントまたは選択した名前の上で F4 (「ナビゲート」>「型階層を開く」) を押すと、新しい型の型階層をフォーカスします。
  • 型の「階層」ビューだけでなく、パッケージ、ソース・フォルダー、JAR アーカイブ、および Java プロジェクトの「階層」ビューも開くことができます。
  • 「階層」ビューへエレメントをドラッグ・アンド・ドロップして、そのエレメントをフォーカスします。
  • ビューのツールバー・メニューから、「階層」ビューの方向を (デフォルトの縦から横へ) 変更できます。
階層内でメソッドがインプリメントされる場所の検索 階層内のどの型がメソッドをオーバーライドするかを知るには、「階層内のメンバーを表示」フィーチャーを使用します。
  • 表示するメソッドを選択して、F4 (「ナビゲート」>「型階層を開く」) を押します。これにより、メソッドの宣言した型の「型階層」ビューが開きます。
  • 「階層」ビューから選択したメソッドで、「ビューをロックし階層内のメンバーを表示」ツールバー・ボタンを押します。
  • 「階層」ビューには、「locked」メソッドをインプリメントまたは定義する型のみ表示されています。例えば、「isEmpty()」は、「AbstractList」ではなく「List」で定義され「ArrayList」および「Vector」でインプリメントされたように表示されます。

階層内のビューのロックとメンバーの表示

パッケージの階層レイアウトとフラット・レイアウト 「Java パッケージ」ビュー (および「パッケージ・エクスプローラー」ビュー) のオプションで、パッケージの表示方法を変更できます。階層は、ツリー内にパッケージを表示し、そのパッケージの下にサブパッケージを表示します。フラットは、すべてのパッケージおよびサブパッケージが兄弟関係となるフラット・リストとして、標準配置にパッケージを表示します。
フラット・パッケージ・レイアウト 階層パッケージ・レイアウト
論理パッケージ 「Java パッケージ」ビュー (Java ブラウズ・パースペクティブ) では、プロジェクト内のすべてのソース・フォルダーの中で同名のパッケージが合体します。これにより、論理パッケージを含む「パッケージ」ビューが表示されます。

論理パッケージを含む Java ブラウズ・パースペクティブ

パッケージ名の圧縮 パッケージ名が長すぎる場合、ビューアーが圧縮名を表示するように構成できます。 圧縮パターンの構成は、「設定」>「Java」>「外観」で実行されます。

「Java 外観」設定ページの圧縮パターン構成

このサンプルを使用すると、次のようにパッケージが指定されます。

圧縮したパッケージ名

その他

JUnit ビュー内の JUnit テスト・メソッドを選択して、「実行」>「次を実行」>「JUnit テスト」を選択します。これにより、選択したテストを実行する起動構成を作成します。
エラーまたは障害が生じるまでの JUnit ビューの非表示 エラーまたは障害があるときのみ JUnitビューを開くようにすることができます。これにより、ビューを高速ビューとして設定でき、障害のあるテストがないときには表示しないようにできます。テストに問題がない場合、テストの実行中にはこのアイコン 正常に実行 が表示され (小さい緑の正方形の数が増えていき、進行状況を示します)、終了後にはこのアイコン 正常に終了 が表示されます。ただし、エラーまたは障害がある場合は、アイコンは 障害またはエラー発生 (またはテストが終了した場合は 障害またはエラーで終了) に変化し、JUnit ビューが表示されます。この動作は、「Java」>「JUnit」設定ページを介して構成できます。
Java ソースの構造比較 Java ソースの構造比較は、メソッドやフィールドのような Java エレメントのテキスト順序は無視して、変更、追加、または除去されたエレメントを表示します。
Java ファイルの構造比較を開始するには、2 つのオプションがあります。
  • 2 つの Java コンパイル単位を選択し、ビューのコンテキスト・メニューから「比較」>「相互」を選択します。 それらのファイルに相違がある場合、比較エディターに表示されます。 上部ペインには、異なる Java エレメントが表示されます。いずれかをダブルクリックすると、下部ペインにエレメントのソースが表示されます。
  • ファイル比較が含まれているコンテキスト (例えば、CVS 同期) で Java ファイルをダブルクリックすると、テキスト比較ビューアーにファイルの内容が表示されるだけでなく、構造比較が実行されて、その結果を表示した新規ペインが開きます。

Java ソースの構造比較

構造比較を実行したときのコメントおよびフォーマット変更は無視できます。比較エディターのツールバー・ボタンまたは CVS 同期ビューのドロップダウン・メニューを介して、「空白の無視」オプションをオンにしてください。
プロパティー・ファイルの構造比較 Java プロパティー・ファイル (拡張子: .properties) の構造比較は、プロパティーのテキスト順序は無視して、変更、追加、または除去されたプロパティーを表示します。
プロパティー・ファイルの構造比較を開始するには、2 つのオプションがあります。
  • パッケージ・エクスプローラーまたはナビゲーターで 2 つのファイルを選択し、ビューのコンテキスト・メニューから「比較」>「相互」を選択します。 それらのファイルに相違がある場合、比較エディターに表示されます。 上部ペインには、影響のあったプロパティーが表示されます。いずれかをダブルクリックすると、下部ペインにプロパティーのソースが表示されます。
  • ファイル比較が含まれているコンテキスト (例えば、CVS 同期) でプロパティー・ファイルをダブルクリックすると、テキスト比較ビューアーにファイルの内容が表示されるだけでなく、構造比較が実行されて、その結果を表示した新規ペインが開きます。

プロパティー・ファイルの構造比較

フィールド、パラメーター、およびローカル変数の接頭部または接尾部の定義 フィールドの接頭部または接尾部の構成に加えて、静的フィールド、パラメーター、およびローカル変数の接頭部または接尾部も指定できます。「Java」>「コード生成」設定ページのこれらの設定値は、変数名に計算が必要になるとコンテンツ・アシスト、即時修正、およびリファクタリングで使用されます。

「コード生成」設定ページの命名規則

単一ファイルのみでなく作動するインポート宣言の編成 コンパイル単位、パッケージ、ソース・フォルダー、または Java プロジェクトのセットで、「インポート宣言の編成」を起動できます。
プロジェクト固有のコンパイラー設定の使用 各プロジェクトで、グローバル・コンパイラー設定値を使用するかプロジェクト固有の設定値を定義するかを決定できます。プロジェクトを選択し、プロジェクト・プロパティーの「Java コンパイラー」ページを開きます (「プロジェクト」>「プロパティー」>「Java コンパイラー」)

プロジェクト固有の Java コンパイラー設定

Java タスク・タグ (TODO タスク) にプロジェクト固有の設定値を構成することもできます。
プロジェクト固有の JRE の使用 作成時、デフォルトでは、プロジェクトは「設定」>「Java」>「インストール済みの JRE」で選択される追加 JRE を取得します。プロジェクト固有の JRE を設定するには、プロジェクトの「Java のビルド・パス」プロパティー・ページ (「プロジェクト」>「プロパティー」>「Java のビルド・パス」) を開いて、「ライブラリー」ページを開き、「JRE システム・ライブラリー」を選択して「編集」を押します。「ライブラリーの編集」ダイアログで、デフォルトの JRE またはプロジェクト固有の JRE を取得するように選択できます。

JRE システム・ライブラリーの編集

デバッグ

メインで停止

Java アプリケーション起動構成の「メインで停止」を使用すると、デバッグ・モードでの実行時、メイン・メソッドの最初の実行可能行でプログラムを停止させることができます。

選択した「メインで停止」オプションの「メイン」タブ

条件付きブレークポイント ブレークポイント・プロパティー...」の条件付きブレークポイントを使用して、ブレークポイントが実際に実行を停止するときを制御します。条件が真のときのみまたは条件値が変更されたとき、ブレークポイントに実行を中断させるかどうか指定できます。

「ブレークポイント・プロパティー」ダイアログ

ブレークポイントの使用不可 同じ場所のブレークポイントを頻繁に追加したり除去したりしていることに気付いた場合、ブレークポイントが不要なときには使用不可にして (「ブレークポイント」コンテキスト・メニューの「ブレークポイントを使用不可にする」または「ブレークポイント」ビュー を使用して)、再度必要になったときに使用可能にしてください。

ルーラー・コンテキスト・メニューでの「ブレークポイントの使用不可」アクション

可変値の変更

デバッガーでスレッドが中断したとき、「変数」ビューで Java プリミティブおよびストリングの値を変更できます。 変数のコンテキスト・メニューから、「可変値の変更」を選択します。

「可変値の変更」ダイアログ

吹き出しヘルプの変数値 スレッドが中断しているときに、Java エディターで変数の上にカーソルを置くと、その変数の値が吹き出しヘルプとして表示されます。

エディター上の変数値の吹き出し

フレームにドロップ コードをステップスルーしているとき、非常に遠くにステップしてしまったり、ステップインするはずの行をステップオーバーしてしまうことがあります。デバッグ・セッションを再始動しなくても、「フレームにドロップ」アクションを使用すれば、すばやくメソッドの先頭に戻ることができます。再始動したい Java メソッドに対応するスタック・フレームを選択し、そのコンテキスト・メニューから「フレームにドロップ」を選択します。現行の命令ポインターは、メソッド内の最初の実行可能ステートメントにリセットされます。これは、トップ・スタック・フレーム以外でも同様に動作するということに注意してください。「フレームにドロップ」は、1.4 以降の VM または J9 VM でのデバッグでのみ使用可能です。
ホット・コード置換 デバッガーは、1.4 以降の VM または J9 VM でのデバッグ時にホット・コード置換をサポートします。これにより、現在デバッグしているコードを変更することができます。新規または削除されたメソッド、クラス変数、内部クラスなどへの変更は、ホット・ロードできないということに注意してください。
選択にステップイン

Java デバッガーにより、チェーニングされたまたはネストされたメソッド呼び出しシリーズ内の単一メソッドにステップインできます。単純に、ステップインしたいメソッドを強調表示し、Java エディター・コンテキスト・メニューから「選択にステップイン 」を選択します。

選択にステップイン

コンソールの
制御
コンソールに表示された出力は、「コンソール」ビュー・ツールバーのドロップダウン・メニューを介して、特定のプロセスにロックできます。新規出力が追加されたときにコンソールが自動的にスクロールを停止させる、新規の「スクロール・ロック」ボタンもあります。

プロセス・ドロップダウンでの「コンソール」ビュー

監視項目の作成 監視項目は「」ビュー内の 1 つの式で、その値はデバッグ時に更新されます。監視項目は、式または変数を選択し、そのコンテキスト・メニューまたは最上位の「実行」メニューから「監視」を選択して、Java エディターから作成します。
監視ポイント

監視ポイントは、指定した変数がアクセスまたは変更されたときに実行を中断するブレークポイントです。監視ポイントを設定するには、「アウトライン」ビューの変数を選択して、そのコンテキスト・メニューから「監視ポイントを追加/除去」を選択します。監視ポイントを構成する場合は、「ブレークポイント」ビューの監視ポイントを選択して、そのコンテキスト・メニューから「プロパティー...」を選択します。この型のブレークポイントの最重要プロパティーは、ブレークポイントが実行を中断できるときを制御する「アクセス」および「変更」チェック・ボックスです。

「ブレークポイント・プロパティー」ダイアログ

「スレッドとモニター」ビュー

デバッガーの新規「スレッドとモニター」ビューは、ロック保留状態のスレッドとロック待機中のスレッドを表示します。

デッドロック・サイクルを示す「モニター」ビュー

ステップ・フィルター ステップ・フィルターは、コードにステップインしたとき、指定クラスおよびパッケージでデバッガーが中断するのを回避します。 これは、「ウィンドウ」>「設定」>「Java」>「デバッグ」>「ステップ・フィルター」で設定されます。ステップ・フィルターは、「フィルター操作のあるステップ」アクション (デバッグ・ツールバーおよびメニューの) が起動すると有効になります。「デバッグ」ビューで、スタック・フレームのコンテキスト・メニューから「フィルターに掛けられた型」または「フィルターに掛けられたパッケージ (Filter Package)」を選択すれば、選択したスタック・フレームのパッケージまたは宣言した型をすばやくフィルターのリストに追加できます。
スクラップブックの使用

API を試したい場合または新規アルゴリズムをテストしたい場合、新規クラスを作成するよりも Java スクラップブック・ページを使用する方が容易であることがよくあります。スクラップブック・ページは、コンテキストなしでいつでも実行できるランダムなコードの断片のコンテナーです。Java パースペクティブでスクラップブック・ページを作成するには、ワークベンチ・メニューから「ファイル」>「新規」>「スクラップブック・ページ」を選択するか、またはワークベンチのツールバーの「新規スクラップブック・ページ 」ボタン 「新規スクラップブック」ツールバー・ボタン をクリックします。実行したいコードを入力してから、それを選択してください。コードを実行するには、次の 3 つの方法があります。

  • 選択したコードを実行し、戻された結果を「式」ビューに入れる
  • 選択したコードを実行し、ストリング結果をスクラップブック・ページの右側に入れる

    結果を表示する「スクラップブック」ページ

  • 選択したコードを実行する (戻された結果はすべて無視する)

これらのアクションは、ワークベンチのツールバーとスクラップブック・ページのコンテキスト・メニューにもあります。

起動
構成
の編集
Ctrl キーを押しながら「実行」または「デバッグ」ドロップダウン・メニューから選択すると、編集に関連した起動構成が開きます。起動構成は、「デバッグ」ビューの項目と関連したコンテキスト・メニューから開くこともできます。
お気に入りの起動構成

起動構成は、最近起動した順に「実行/デバッグ」ドロップダウン・メニューに表示されます。ただし、構成を「お気に入り」にすることで、特定の起動構成を常にドロップダウンのトップに表示させることができます。「デバッグ」>「起動ヒストリー」設定ページで、起動する型 (実行、デバッグ、外部ツール) によるお気に入りを設定できます。

「起動ヒストリー」設定ページ

ここで、「デバッグ」ドロップダウン・メニューは、指定した構成をお気に入りとして表示します。残りの構成はヒストリー順です。

ワークベンチのツールバーの「デバッグ」ドロップダウン・メニュー

詳細フォーマッター

変数」および「」ビューでは、詳細ペインに現在選択している変数の拡張表示が示されます。デフォルトでは、この拡張表示は選択したオブジェクトの toString() 呼び出しの結果ですが、変数のコンテキスト・メニューから「新規詳細フォーマッター」を選択すると、代わりに使用するカスタム詳細フォーマッターを作成できます。この詳細フォーマッターは、同じ型のすべてのオブジェクトに対して使用されます。すべての詳細フォーマッターは、「Java」>「デバッグ」>「詳細フォーマッター」設定ページで表示および編集できます。

「詳細フォーマッター」ダイアログ

コンパイル・エラーのあるコードの実行

クリーンにはコンパイルされなかったコードを実行およびデバッグできます。コンパイル・エラーのあるコードとないコードを実行した場合の唯一の違いは、コンパイル・エラーのあるコードの行が実行されたときに、次のどちらかが生じるということです。

  • 「Java」>「デバッグ」設定ページで「コンパイル・エラーで実行を中断」が設定され、デバッグ中の場合、そのデバッグ・セッションはブレークポイントをヒットしたかのように中断されます。VM がホット・コード置換をサポートしている場合は、コンパイル・エラーを修正してデバッグを再開できる可能性があります。
  • 上記の場合以外は、「未解決のコンパイル」エラーで実行は終了します。

実行パスがコンパイル・エラーのあるコードの行を回避さえすれば、通常と同じように実行およびデバッグできるということを強調しておきます。

「変数」ビューでのワード・ラップ デバッガーの「変数」ビューと「」ビューの詳細領域でワード・ラップをサポートしていて、ビューのドロップダウン・メニューから使用可能です。

「変数」ビューのドロップダウン・メニューでのワード・ラップ・アクション

デバッガーのコード・アシスト

コード・アシストは、Java エディターの書き込みコードを通して多くのコンテキストで使用可能です。

  • ブレークポイントの条件を入力するとき
  • 「変数」および「式」ビューの詳細ペインで
  • 詳細フォーマッターのコードの断片を入力するとき
  • 「スクラップブック」ページにコードを入力するとき
  • 「表示」ビューで

「表示」ビューのコード・アシスト・ポップアップ

コマンド行の詳細 実行またはデバッグ・モードでプログラムを起動する際に使用される正確なコマンド行は、プロセスまたはデバッグ・ターゲットのコンテキスト・メニューから「プロパティー」を選択すれば、起動が終了していても常に表示可能です。

コマンド行の詳細

スタック・トレース
・ハイパーリンク

Java スタック・トレースは、ハイパーリンクでコンソールに表示されます。スタック・トレースの行の上にマウスを置くと、ポインターが手に変わり、スタック・トレースに下線が引かれます。マウス・ボタンを押すと関連した Java ソース・ファイルが開いて、対応する行にカーソルが位置付けられます。

ハイパーリンクを使用した「コンソール」ビューのスタック・トレース

Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.