Schnellkorrektur

Der Java-Editor bietet die Möglichkeit, Fehler direkt während der Eingabe und auch nach der Kompilierung zu korrigieren. Falls Korrekturvorschläge für einen Fehler oder eine Warnung verfügbar sind, wird hierauf durch ein Glühbirnensymbol in der Anmerkungsleiste des Editors hingewiesen.

Wenn Sie mit der linken Maustaste auf das Symbol klicken oder die Taste Strg+1 (Bearbeiten > Schnellkorrektur) drücken, werden die Vorschläge für den Fehler an der Cursorposition angezeigt.
Jede Schnellkorrektur zeigt eine Vorschau an, wenn sie im Vorschlagsfenster ausgewählt wird.

Auswahldialog für Schnellkorrektur

Schnellkorrekturen werden auch direkt in Kurzinfos zu Problemen angezeigt (dort ist allerdings keine Vorschau verfügbar).

Kurzinfo zu Schnellkorrektur


Hinweis zur Verwendung: Schnellkorrekturen sind nicht nur nützlich bei der Korrektur von Fehlern, die zufällig aufgetreten sind. Eine weitere häufige Verwendungsmöglichkeit besteht im unabsichtlichen Schreiben "fehlerhaften" Codes, z. B. durch Verweis auf eine lokale Variable, die noch nicht deklariert ist. Dann kann die Schnellkorrektur Lokale Variable erstellen in kürzester Zeit eine Deklaration generieren und sogar den Variablentyp ableiten.

Einige ausgewählte Schnellkorrekturen können auch mit Direktaufrufen zugeordnet werden. Diese Direktaufrufe können Sie auf der Benutzervorgabenseite Benutzervorgabenseite für Tasten öffnen Allgemein > Tasten (in der Kategorie 'Quelle') konfigurieren.

Einige Schnellkorrekturen bieten die gleichzeitige Behebung aller gleichartiger Fehler in der aktuellen Datei. Der Informationstext im Vorschlagsfenster enthält diese Informationen für alle anwendbaren Vorschläge. Wenn Sie alle gleichartigen Fehler beheben möchten, drücken Sie die Tastenkombination Strg + Eingabetate.

Im Folgenden sind die verfügbaren Schnellkorrekturen aufgeführt:

Paketdeklaration
  • Fehlende Paketdeklaration hinzufügen oder Paketdeklaration korrigieren
  • Kompiliereinheit in ein Paket versetzen, das der Paketdeklaration entspricht
Importe
  • Nicht verwendete, nicht auflösbare oder nicht sichtbare Importe entfernen
  • Anzeige 'Importe verwalten' für Fehler in Importen aufrufen
Typen
  • Neue Klasse, Schnittstelle, Aufzählung, Anmerkung oder Typvariable für Verweise auf Typen, die nicht aufgelöst werden können, erstellen
  • Sichtbarkeit für Typen ändern, auf die zugegriffen werden kann, die jedoch nicht sichtbar sind
  • Verweise auf Typen, die nicht aufgelöst werden können, in einen ähnlichen Typ umbenennen
  • Importanweisungen für Typen hinzufügen, die nicht aufgelöst werden können, im Projekt jedoch vorhanden sind
  • Explizite Importanweisungen für mehrdeutige Typverweise (also zwei Importe nach Bedarf für denselben Typ) hinzufügen
  • Typ oder Kompiliereinheit umbenennen, falls der Typname nicht mit dem Namen der Kompiliereinheit übereinstimmt
  • Nicht verwendete private Typen entfernen
  • Fehlende Attribute für Typanmerkungen hinzufügen
Konstruktoren
  • Neuen Konstruktor für Verweise auf Konstruktoren erstellen, die nicht aufgelöst werden können ('this', 'super' oder neue Klassenerstellung)
  • Argumente für Konstruktorverweise mit fehlender Parameterübereinstimmung neu anordnen, hinzufügen oder entfernen
  • Methode mit Konstruktornamen in Konstruktor ändern (Rückgabetyp entfernen)
  • Sichtbarkeit für Konstruktoren ändern, auf die zugegriffen werden kann, die jedoch nicht sichtbar sind
  • Nicht verwendete private Konstruktoren entfernen
  • Konstruktor erstellen, wenn der übergeordnete Aufruf des impliziten Standardkonstruktors nicht definiert ist, nicht sichtbar ist oder eine Ausnahmebedingung auslöst
  • Typänderungswert in 'abstrakt' ändern oder zu implementierende Methode hinzufügen, falls ein Typ nicht implementierte Methoden enthält
Methoden
  • Neue Methode für Verweise auf Methoden erstellen, die nicht aufgelöst werden können
  • Verweise auf Methoden, die nicht aufgelöst werden können, in eine ähnliche Methode umbenennen
  • Argumente für Methodenverweise mit fehlender Parameterübereinstimmung neu anordnen oder entfernen
  • Zugriff von Methoden (Sichtbarkeit, Statisch) ändern, auf die verwiesen wird
  • Nicht verwendete private Methoden entfernen
  • Rückgabetyp für Methoden korrigieren, in denen der Rückgabetyp fehlt oder nicht mit der Rückkehranweisung übereinstimmt
  • Rückkehranweisung hinzufügen, falls diese fehlt
  • Nicht abstrakte Methoden ohne Hauptteiländerung in "abstrakt" ändern oder Hauptteil hinzufügen
  • Abstrakten Änderungswert der Methode von abstrakten Methoden in einem nicht abstrakten Typ entfernen oder Typ als abstrakt definieren
  • Abstrakten oder nativen Änderungswert bei abstrakter/nativer Methode mit Hauptteil entfernen oder Hauptteil entfernen
  • Methodenzugriff in 'statisch' ändern, falls die Methode in einem Konstrukturaufruf (super, this) aufgerufen wird
  • Methodenzugriff in Standardzugriff ändern, um einen emulierten Methodenzugriff zu verhindern
  • Änderungswert 'synchronized' hinzufügen
  • hashCode() überschreiben
  • Assistenten 'hashCode() und equals() generieren' öffnen
Felder und Variablen
  • Zugriff von Feldern (Sichtbarkeit, Statisch) ändern, auf die verwiesen wird
  • Neue Felder, Parameter, lokale Variablen oder Konstanten für Verweise auf Variablen erstellen, die nicht aufgelöst werden können
  • Verweise, die nicht aufgelöst werden können, in eine Variable mit ähnlichem Namen umbenennen
  • Nicht verwendete private Felder entfernen
  • Nicht statischen Zugriff auf statische Felder korrigieren
  • Änderungswert 'final' zu lokalen Variablen hinzufügen, auf die in einem übergeordneten Typ zugegriffen wird
  • Feldzugriff in Standardzugriff ändern, um einen emulierten Methodenzugriff zu verhindern
  • Typ der lokalen Variable ändern, um eine Typabweichung zu korrigieren
  • Variable initialisieren, die nicht initialisiert wurde
  • Getter und Setter für unsichtbare oder nicht verwendete Felder erstellen
Behandlung von Ausnahmebedingungen
  • Nicht benötigten catch-Block entfernen
  • Nicht benötigte Ausnahmebedingungen aus einer multi-catch-Klausel (1.7 oder höher) entfernen
  • Nicht abgefangene Ausnahmebedingung durch Einbettung in try/catch oder durch Hinzufügen von catch-Block in umgebenden try-Block verarbeiten
  • Nicht abgefangene Ausnahmebedingungen durch Einschließen mit try/multi-catch-Anweisungen oder durch Hinzufügen von Ausnahmebedingungen zu vorhandener catch-Klausel (1.7 oder höher) verarbeiten
  • Nicht abgefangene Ausnahmebedingung durch Hinzufügen einer throw-Deklaration zur übergeordneten Methode oder durch Generalisierung einer vorhandenen throw-Deklaration verarbeiten
Fehler für Buildpfad
  • Eine fehlende JAR-Datei oder Bibliothek für einen nicht auflösbaren Typ hinzufügen.
  • Öffnen des Buildpfaddialogs für Zugriffeinschränkungsfehler oder fehlende Binärklassen.
  • Projektkonformität und JRE in 1.5 ändern
  • Arbeitsbereichskonformität und JRE in 1.5 ändern
Andere
  • Umsetzungsausdruck hinzufügen oder ändern, um Typabweichungen zu korrigieren
  • Einen Typ eine Schnittstelle implementieren lassen, um Typabweichungen zu korrigieren
  • Unformatierten Verweisen Typargumente hinzufügen
  • switch-Anweisungen über Aufzählungen vervollständigen
  • Inaktiven Code entfernen
  • '//$FALL-THROUGH$' einfügen
  • Nullprüfung einfügen
  • Assistent für Ländereinstellungen bei nicht landessprachlichen Zeichenfolgen öffnen oder Zeichenfolgen als nicht landessprachlich kennzeichnen
  • Fehlende Anmerkungen @Override, @Deprecated hinzufügen
  • Fehlende Javadoc-Kommentare hinzufügen
  • Fehlende Javadoc-Tags hinzufügen
  • Warnung mit @SuppressWarnings unterdrücken
  • Zugeordnetes Objekt auslösen
  • Zugeordnetes Objekt zurückgeben
  • Anmerkung @SafeVarargs für Warnungen zur Heap-Pollution hinzufügen (1.7 oder höher)
  • Ungültige @SafeVarargs-Anmerkungen entfernen (1.7 oder höher)
  • Redundante type-Argumente entfernen (1.7 oder höher)
  • Abgeleitete type-Argumente hinzufügen (1.5 und 1.6)

Schnellunterstützungen sind Vorschläge, die auch dann verfügbar sind, wenn kein Fehler oder keine Warnung vorliegen. Weitere Informationen finden Sie auf der Seite Schnellunterstützung.

Zugehörige Konzepte

Java Editor
Schnellkorrektur und Schnellunterstützung

Zugehörige Referenzinformationen

Schnellunterstützung
JDT-Aktionen