「即時修正」

Java エディターは、入力中およびコンパイル後に検出された問題の修正を提供します。 問題または警告に対して修正プロポーザルが使用できることを示すために、エディターの注釈バーに電球が表示されます。
電球を左クリックするか Ctrl+1 (編集/即時修正) を呼び出すと、問題に対するプロポーザルがカーソル位置に示されます。
「即時修正」選択ダイアログ

以下の即時修正が使用可能です。

パッケージ宣言
  • 欠落したパッケージ宣言を追加するか、パッケージ宣言を修正
  • コンパイル単位を、パッケージ宣言に対応するパッケージに移動
インポート
  • 未使用、未解決、または非表示のインポートを除去
  • インポートの問題で「インポートの編成」を呼び出す
  • 解決できない型への参照について新しいクラスまたはインターフェースを作成
  • アクセスされるが可視ではない型の可視性を変更
  • 解決できない型への参照について類似する型に名前変更
  • 解決できないがプロジェクト内に存在する型のインポート・ステートメントを追加
  • 未確定の型参照 (1 つの型に 2 つの import-on-demands) について明示的なインポート・ステートメントを追加
  • 型名がコンパイル単位名と一致しない場合に型名またはコンパイル単位名のどちらかを変更
  • 未使用のプライベート型を除去
コンストラクター
  • 解決できないコンストラクターへの参照について新しいコンストラクターを作成 (this、super、または新規クラス作成)
  • パラメーターに一致しないコンストラクター参照の引き数を再配列または除去
  • コンストラクター名を持つメソッドをコンストラクターに変更 (戻りの型を除去)
  • アクセスされるが可視ではないコンストラクターの可視性を変更
  • 未使用のプライベート・コンストラクターを除去
  • 暗黙デフォルト・コンストラクターの super 呼び出しが未定義または不可視のとき、あるいは例外をスローしたときにコンストラクターを作成
  • インプリメントされていないメソッドが型に含まれている場合に、型修飾子を 'abstract' に変更するか、メソッドをインプリメントに追加
メソッド
  • 解決できないメソッドへの参照について新しいメソッドを作成
  • 解決できないメソッドへの参照について類似するメソッドに名前変更
  • パラメーターに一致しないメソッド参照の引き数を再配列または除去
  • 参照されるメソッドのアクセス (可視性、static) を修正
  • 未使用のプライベート・メソッドを除去
  • 戻りの型が欠落しているメソッドまたは戻りの型が return ステートメントと一致しないメソッドの戻りの型を修正
  • return ステートメントを追加 (欠落している場合)
  • 本文のない非抽象メソッドについて、'abstract' に変更するか、本文を追加
  • 非抽象型の抽象メソッドについて、メソッドの抽象修飾子を除去するか、型を abstract に設定
  • 本文のある抽象/ネイティブ・メソッドについて、抽象修飾子またはネイティブ修飾子を除去するか、本文を除去
  • メソッドがコンストラクター呼び出しの内側で呼び出された場合にメソッド・アクセスを変更 (super、this)
  • エミュレート・メソッド・アクセスを回避するためにメソッド・アクセスをデフォルト・アクセスに変更
フィールドと変数
  • 参照されるフィールドのアクセス (可視性、static) を修正
  • 解決できない変数への参照について新しいフィールド、パラメーター、またはローカル変数を作成
  • 解決できない参照について類似する名前を持つ変数に名前変更
  • 未使用のプライベート・フィールドを除去
  • 静的フィールドの非静的アクセスを修正
  • 外部型でアクセスされるローカル変数に 'final' 修飾子を追加
  • エミュレート・メソッド・アクセスを回避するためにフィールド・アクセスをデフォルト・アクセスに変更
  • 型の不一致を修正するためにローカル変数の型を変更
  • 初期化されていない変数を初期化
例外処理
  • 不要な catch ブロックを除去
  • Try/Catch で囲むか、catch ブロックをそれを囲む try ブロックに追加することによって、catch されていない例外を処理
  • 親メソッドにスロー宣言を追加するか、既存のスロー宣言を汎用化することによって、catch されていない例外を処理
その他
  • 型のミスマッチを修正するためにキャストを追加または変更
  • 非 NLS ストリングについて、NLS ウィザードを開くか、非 NLS としてマーク

クイック・アシストは、問題または警告がない場合にも使用できるプロポーザルです。 電球が表示されないため、ユーザーは使用可能な支援について知っておく必要があります。

クイック・アシスト
  • catch 文節を親メソッドのスロー宣言に置換
  • 式ステートメントを新規ローカルまたは新規フィールドへの代入に変換
  • 周囲の 'if'、'for'、'while'、'do' ステートメントを除去
  • 1 つの catch または finally ブロックを持つ周囲の try ブロックを除去
  • 周囲の匿名クラス、ブロック、または括弧を除去
  • リンクされた 'template' モードの型、メソッド、または変数をローカル名前変更
  • 選択された行をテンプレート (''if'、'while'..) で囲む

関連概念
Java エディター

関連参照
JDT アクション

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