Neue Funktionen in 3.0

Im Folgenden werden Ihnen einige interessante bzw. wichtige Änderungen an den Java-Entwicklungstools vorgestellt, die seit Version 2.1 für das Eclipse-Release 3.0 vorgenommen wurden:

Java-Editor

Komprimierung im Java-Editor Der Java-Editor unterstützt jetzt die Komprimierung von Coderegionen. Wenn Sie mit der Maus über ein komprimiertes Java-Element fahren, können Sie den verdeckten Code anzeigen.

Screenshot mit komprimierten Importen, inneren Typen und Methodenhauptteilen

Aktuell können Importanweisungen, Kommentare, Typen und Methodenhauptteile komprimiert werden. Die Komprimierung kann für neue Editoren bei Bedarf konfiguriert werden. Verwenden Sie dazu auf der Benutzervorgabenseite Java > Editor die Registerkarte Komprimierung.

Screenshot mit Benutzervorgaben für Komprimierung
Die JDT-Benutzerschnittstelle stellt einen Erweiterungspunkt zur Verfügung, mit dem die verfügbaren Komprimierungen aufgehoben werden können.

Erweiterte Hervorhebung Der Java-Editor kann jetzt Quellcode entsprechend seiner Semantik hervorheben (z. B. statische Felder, lokale Variablen, statische Methodenaufrufe). Wird die erweiterte Hervorhebung über die Benutzervorgabenregisterkarte Java > Editor > Syntax aktiviert, werden die neuen Optionen der erweiterten Hervorhebung in einer Liste angezeigt.

Beispiel für erweiterte Hervorhebung

Ebenfalls neu sind Optionen zum Hervorheben von Operatoren und eckigen Klammern, und Kursivdruck ist eine neue unterstützte Darstellungsform.

Sicht 'Schnelltyphierarchie' Wählen Sie einen Verweis auf einen Typ, eine Methode oder ein Paket im Java-Editor aus, und drücken Sie Strg+T, um die Sicht 'Schnelltyphierarchie' anzuzeigen. Bei Methoden sehen Sie alle Subtypen und Supertypen, die diese Methode zur Verfügung stellen.

Drücken Sie erneut Strg+T, um zwischen der Sicht für normale Typhierarchie und der Sicht für Supertyphierarchie hin- und herzuschalten.

Strukturierte Sicht 'Typhierarchie'

Schnellgliederung zeigt übernommene Member an Die Schnellgliederung im Java-Editor (Quelle > Gliederung öffnen, Strg+O) zeigt jetzt nach Wiederholung der Tastenfolge Strg+O die übernommenen Member an.

Schnellgliederung

Dies gilt ebenso für Schnellstruktur (Strg+F3).

Intelligenter Einfügemodus im Java-Editor Der Java-Editor verfügt jetzt über einen intelligenten Einfügemodus, der über Bearbeiten > Intelligenter Einfügemodus (Strg+Umschalt+Insert) umgeschaltet werden kann.

Im intelligenten Einfügemodus stellt der Editor Java-spezifische Extras zur Verfügung, die unter der Benutzervorgabenregisterkarte Java > Editor > Eingabe konfiguriert werden können. Die Optionen 'Intelligentes Semikolon' und 'Intelligente linke geschweifte Klammer' beispielsweise versetzen das Winkelzeichen ans Ende der Zeile, bevor das Semikolon bzw. die linke geschweifte Klammer eingefügt wird.

Importe beim Einfügen aktualisieren Beim Kopieren oder Ausschneiden von Java-Code werden auch Informationen darüber erfasst, welche Importdeklarationen von dem kopierten Code benötigt werden. Die erforderlichen Importe werden jetzt automatisch beim Einfügen des Codes hinzugefügt. Diese Funktion kann unter der Benutzervorgabe Java > Editor > Eingabe > Importe beim Einfügen aktualisieren konfiguriert werden.
Verbessertes Cursorverhalten durch Java-Namen Die Ein-Wort-Aktionen des Java-Editors beachten nun die typische "CamelCase"-Schreibweise von Java-Kennungen. Beispielsweise wird durch Nächstes Wort für die Kennung "getFoo" ein zusätzlicher Stopp zwischen "get" und "Foo" erzeugt. Das Cursorverhalten für Java-Namen wird durch eine Option in der Benutzervorgabenseite Java > Editor > Navigation gesteuert.
Neues Codeformatierungsprogramm

Das Java-Codeformatierungsprogramm bietet zahlreiche Verbesserungen: Auf der Benutzervorgabenseite Java > Codedarstellung > Codeformatierungsprogramm können Sie aus vorhandenen Profilen auswählen oder Ihre eigenen Profile definieren und diese gemeinsam mit anderen benutzen.

Benutzervorgabenseite 'Codeformatierungsprogramm'

Das neue Formatierungsprogramm bietet zahlreiche Konfigurationsmöglichkeiten. Es verfügt über mehr als 140 Optionen, die z. B. Positionen von geschweiften Klammern zum Umbrechen von Zeilen und die Formatierung von Javadoc-Kommentaren umfassen.

Dialog zur Profilbearbeitung des Codeformatierungsprogramms

Mehrere Dateien formatieren Der Formatierungsbefehl ist auch für Java-Projekte, Quellenordner und Pakete aktiviert. Beim Aufrufen dieses Befehls werden alle enthaltenen Quellendateien entsprechend der aktuell konfigurierten Einstellungen des Formatierungsprogramms formatiert.
Rechtschreibprüfung Dem Java-Editor wurde die Unterstützung der Rechtschreibprüfung hinzugefügt. Nach der Aktivierung und Angabe eines Wörterverzeichnisses in der Benutzervorgabenseite Java > Editor > Schreibprüfung werden Rechtschreibfehler im Java-Editor angezeigt und die entsprechenden Schnellkorrekturen bereitgestellt.

Beispiel für einen Rechtschreibkorrekturvorschlag

Sie können das Wörterverzeichnis optional für die Unterstützung für Inhalt verfügbar machen. Aktuell ist jedoch kein Wörterverzeichnis in Eclipse enthalten. Das erforderliche Format ist einfach eine Liste mit Wörtern, die durch Zeilenvorschubzeichen voneinander getrennt sind, und mit Hilfe der Schnellkorrekturen können Sie dem Wörterverzeichnis während der Verarbeitung neue Wörter hinzufügen. Beiträge in Form von Wörterverzeichnissen sind willkommen.

Benutzervorgabenseite 'Schreibprüfung'

Blockkommentare Eine Textauswahl im Java-Editor kann schnell in einen Blockkommentar verwandelt werden. Verwenden Sie hierzu die Optionen Quelle > Blockkommentar hinzufügen. Umgekehrt entfernt der Befehl Quelle > Blockkommentar entfernen den Blockkommentar, der die Cursorposition einschließt.
Kommentarbefehl umschalten Die alten Java-Editorbefehle Quelle > Kommentar und Quelle > Kommentar aufheben wurden durch den Befehl Quelle > Kommentar umschalten (Strg+/) ersetzt, der den Kommentar für die aktuell ausgewählten Quellenzeilen aufhebt, sofern diese auf Kommentar gesetzt sind. Andernfalls setzt der Befehl diese Zeilen nun auf Kommentar. (Sie können den alten Befehlen Direktaufrufe über die Tastatur zuordnen. Die alten Befehle sind in der Benutzervorgabenseite unter Workbench > Tasten weiterhin verfügbar.)
Schrittweise Unterstützung für Inhalt Wählen Sie in der Benutzervorgabenregisterkarte Java > Editor > Unterstützung für Code die Option Allgemeine Präfixe automatisch einfügen aus, um die schrittweise Fertigstellung der Shelldarstellung im Java-Editor zu verwenden. Haben die verfügbaren Fertigstellungen kein allgemeines Präfix, wird ein Dialogfenster mit einem Vorschlag angezeigt.
Vorkommen in Datei dynamisch markieren Vorkommen des ausgewählten Elements können im Java-Editor mit der neuen Symbolleistenschaltfläche Vorkommen markieren (Symbolleistenschaltfläche 'Vorkommen markieren') oder mit dem Befehl Alt+Umschalt+O markiert werden. Sie können die zu markierenden Elemente in der Benutzervorgabenseite Java > Editor > Vorkommen markieren konfigurieren.

Vorkommen markieren

Die Vorkommen des ausgewählten Elements werden mit Hilfe der Anmerkungen für Vorkommen markiert, deren Darstellung in der Benutzervorgabenseite konfiguriert werden kann (Workbench > Editoren > Anmerkungen).

Wenn sich das ausgewählte Element ändert, werden die markierten Vorkommen automatisch aktualisiert. Die markierten Vorkommen sind standardmäßig permanent, d. h. die Hervorhebung bleibt auch dann bestehen, wenn sich in der aktuellen Winkelzeichenposition kein gültiges Java-Element befindet.

Markierte Vorkommen können mit Hilfe des Quellenbefehls 'Anmerkungen zu Vorkommen entfernen' (Alt+Umschalt+U) schnell entfernt werden.
Exitpunkte der Methode hervorheben

Wird der Cursor auf den Rückgabetyp einer Methode platziert, werden dadurch alle Exitpunkte der Methode hervorgehoben. Das Hervorheben der Exitpunkte kann über die Benutzervorgabe Java > Editor > Vorkommen markieren aktiviert werden.

Methode mit hervorgehobenen Exitpunkten

Positionen von ausgelösten Ausnahmebedingungen markieren Wenn eine Ausnahmebedingung ausgewählt ist, können die Stellen, an denen diese Ausnahmebedingung ausgelöst wird, im Java-Editor durch Auslösen der Aktion Suchen > Vorkommen von Ausnahmebedingungen markiert werden. Diese Stellen werden automatisch markiert, wenn die Markierung von Vorkommen über die Benutzervorgabenseite Java > Editor > Vorkommen markieren aktiviert ist.

Elemente der Throwable-Klasse markieren

Überschriebene Methoden im Java-Editor anzeigen Die neue Anmerkung 'Überschreibungsanzeiger' (siehe Benutzervorgabenseite Workbench > Editoren > Anmerkungen) markiert eine Methode, die eine andere Methode implementiert oder überschreibt. In der vertikalen Skala auf der linken Seite erscheinen standardmäßig Symbole für die Überschreibung bzw. Implementierung. Klicken Sie auf das Symbol, um zur Supermethode zu navigieren.

Bild mit Überschreibungsanzeiger

Mehrere in der Rollover-Kurzinfo angezeigte Anmerkungen Wenn in der Skala des Texteditors mehrere Anmerkungen zur Verfügung stehen, werden diese beim Darüberfahren mit der Maus nebeneinander angezeigt. Auf Warnungen und Aktionen, z. B. Schnellkorrekturen, das Setzen von Unterbrechungspunkten und das Hinzufügen von Lesezeichen, kann separat zugegriffen werden. Diese Funktionalität ist standardmäßig inaktiviert, kann jedoch unter der Benutzervorgabenregisterkarte Java > Editor > Kurzinfos aktiviert werden.

Beim Ziehen der Maus über mehrere Anmerkungen in der vertikalen Skala werden diese durch eine Rollover-Kurzinfo nebeneinander angezeigt.

Neuer Aufruf für Schnellunterstützung Wenn bei der Eingabe in einem Java-Editor eine Schnellunterstützung verfügbar ist, erscheint der Aufruf für diese Schnellunterstützung (das Symbol einer grünen Glühbirne) am linken Rand. Verwenden Sie zum Anzeigen der Vorschläge die Option Bearbeiten > Schnellkorrektur (Strg+1) oder klicken Sie auf die Glühbirne. Diese Funktion kann unter der Benutzervorgabenregisterkarte Java > Editor > Darstellung durch Auswahl der Option Glühbirnensymbol für Schnellunterstützung aktiviert werden.

Glühbirnensymbol für Schnellunterstützung

Verlinkter Modus für Schnellkorrekturen Verschiedene Schnellkorrekturergebnisse erscheinen nun im verlinkten Modus (Schablonenmodus). Verwenden Sie nach dem Aufruf einer Schnellkorrektur die Tabulatortaste und Umschalt+Tabulatortaste, um zwischen dem generierten Rückgabetyp, dem Methodennamen, den Argumenttypen und den Argumentnamen zu navigieren. Beispiele für Schnellkorrekturen im verlinkten Modus:
  • Neue Methode erstellen
  • Neues Feld, neuen Parameter oder neue lokale Variable erstellen
  • Neues Argument hinzufügen
  • Anweisung zu neuer lokalen Variablen oder neuem Feld zuordnen
Der verlinkte Modus bietet zusätzliche Vorschläge: verschiedene Namen, Typen und Argumente.

Beispiel für Ermittlung eines Arguments:

Schnellkorrektur 'Argument hinzufügen' und Ergebnis im verlinkten Modus

Beispiel für Ermittlung einer Ausnahmebedingung:

Schnellkorrektur 'throws-Deklaration hinzufügen' und Ergebnis im verlinkten Modus

Verbesserte Ermittlung von Kennungen Beim Hinzufügen von Feldern, Variablen oder Parametern versuchen die Schnellkorrekturen, passende Namen für neue Kennungen zu ermitteln. Bei Verwendung der neuen Funktion für verlinkten Modus wird nun mehr als ein Vorschlag zur Verfügung gestellt.
Ermittlung von Kennungen durch Schnellkorrektur 'Zu lokaler Variable zuordnen'
Verbesserte Schnellkorrekturen für Parameterabweichungen Es wurden mehrere neue Java-Schnellkorrekturen für abweichende Parameter hinzugefügt, einschließlich Vorschläge für die Umsetzung, den Austausch, das Hinzufügen oder das Entfernen von Argumenten oder Methodenparametern.

Schnellkorrektur für abweichende Parameter

Neue Schnellunterstützung Dem Java-Editor wurden neue Schnellunterstützungsoptionen hinzugefügt. Drücken Sie Strg+1 zum Ausführen folgender Aktionen:
  • Für Variablen zum Teilen bzw. Verbinden der Variablendeklaration
  • Für IF-Anweisungen zum Konvertieren des Hauptteils in einen Block oder zum Hinzufügen eines neuen ELSE-Blocks
  • Für Methodenparameter zum Zuordnen zu einem neuen Feld
  • Für Methodendeklarationen zum Erstellen der Methode in einem Supertyp
Schnellunterstützung 'In Supertyp erstellen'

Schnellunterstützung für Feldparameter

Getter und Setter mit Unterstützung für Code erstellen Neben dem Erstellen überschreibender Methoden bietet die Unterstützung für Code die Erstellung von Gettern und Settern, Standardkonstruktoren und Methodenstubs. Setzen Sie den Cursor zwischen die Member in den Hauptteil des Typs, und drücken Sie Strg+Leer, um die Vorschläge zum Erstellen eines Methodenstubs abzurufen.

Getter mit Unterstützung für Code

Einen Konstruktor schnell erstellen Der neue Java-Befehl Quelle > Konstruktor unter Verwendung von Feldern erstellen erstellt einen neuen Konstruktor, der die ausgewählten Felder initialisiert. Wählen Sie die zu initialisierenden Felder aus den zusätzlichen Konstruktorparametern aus, deren Reihenfolge mit den Schaltflächen 'Nach oben' und 'Nach unten' im Dialog gesteuert werden kann.

Konstruktor mit Feldern

Der Befehl Quelle > Konstruktoren aus Superklasse hinzufügen ruft jetzt einen Dialog auf, in dem Sie auswählen können, welche Konstruktoren der Superklasse in die aktuelle Klasse eingefügt werden sollen. Die Schnellunterstützungsfunktion kann weiterhin zum Einfügen ohne Bedienerführung verwendet werden.

Java-Debugger

Dialogfenster für 'Untersuchen'/'Anzeigen'

Für alle Ergebnisse von 'Anzeigen' und 'Untersuchen' werden jetzt Bewertungsdialogfenster verwendet.

Dialogfenster 'Untersuchen'

Logische Struktur

Der Java-Debugger unterstützt nun die Anzeige von bestimmten Java-Typen, einschließlich Sammlungen und Zuordnungen, in kompakterer und aussagekräftigerer Form. Diese logischen Strukturen werden durch einen Umschaltknopf in der Sicht 'Variablen' gesteuert.
Logische Struktur

Systemthreadfilter

Systemthreads werden jetzt standardmäßig aus der Sicht Debug gefiltert. Der Filter wird durch den Befehl Systemthreads anzeigen im Dropdown-Menü der Sicht ein- und ausgeschaltet.

Step-Into-Auswahl für beliebige Zeile

Der Befehl Step-Into-Auswahl des Java-Debuggers ist nicht mehr auf die aktuell ausgeführte Zeile beschränkt.

Unterbrechungspunkte für Klassenvorbereitung

Unterbrechungspunkte können für ein Klassenvorbereitungsereignis gesetzt werden. Das Programm wird ausgesetzt, wenn die angegebene Klasse oder Schnittstelle zum ersten Mal von der Java-VM geladen wird.

Unterbrechungspunkt für Klassenvorbereitung

Hyperlinks zu Unterbrechungspunkten für Ausnahmebedingungen

Unterbrechungspunkte für Ausnahmebedingungen können jetzt direkt von einem Stack-Trace in der Konsole erstellt werden. Durch Klicken auf den Hyperlink, der am Anfang des Stack-Trace unterhalb des Ausnahmebedingungsnamens erscheint, wird ein Eigenschaftendialog für den neu erstellten (oder bereits vorhandenen) Unterbrechungspunkt für die Ausnahmebedingung geöffnet.

Link zu Unterbrechungspunkt für Ausnahmebedingung in Sicht 'Konsole'

Unterbrechungspunkte in externer Quelle

Sie können nun einen Unterbrechungspunkt in externem Quellcode setzen (d. h. in Quellcode, der sich nicht im Erstellungsklassenpfad eines Java-Projekts befindet). Die Aktionen zur Unterbrechungspunkterstellung im Menü Ausführen erstellen automatisch externe Unterbrechungspunkte, wenn der Debugger eine externe Quelle anzeigt.

Unterbrechungspunkte und Startkonfigurationen durch Refactoringaktionen aktualisieren

Unterbrechungspunkte und Startkonfigurationen werden nun als Folge von Java-Quellcode-Refactoringaktionen aktualisiert. Zu diesen Refactoringaktionen gehört z. B. das Umbenennen eines Java-Projekts, einer Quellendatei oder einer Typendeklaration.

Umbenennen schließt Java-Startkonfigurationen ein

Neustartoption für Fehlschlagen der sofortigen Codeersetzung

Beim Ausführen von Änderungen in einer Host-Java-VM, die keine sofortige Codeersetzung unterstützt, gibt es jetzt zusätzlich zum Fortsetzen und Beenden die Option 'Erneut starten' für die VM.

Dialog für Fehlschlagen der sofortigen Codeersetzung

Standardmäßige VM-Argumente können einer JRE zugeordnet werden

Auf der Benutzervorgabenseite Java > Installierte JREs können Sie nun jeder JRE einen Satz standardmäßiger VM-Argumente zuordnen. Diese Argumente werden jedes Mal an die VM übergeben, wenn diese verwendet wird.

JRE-Benutzervorgabendialog für standardmäßige VM-Argumente

Refactoring

Schnellmenüs für Quellen- und Refactoringaktionen

Die Refactoring- und Quellenbefehle können über ein Schnellmenü aufgerufen werden. Wählen Sie im Java-Editor oder in einer Java-Sicht das zu bearbeitende Element aus, und drücken Sie Alt+Umschalt+S für den Zugriff auf das Schnellmenü für die Quelle, oder drücken Sie auf Alt+Umschalt+T für den Zugriff auf das Schnellmenü für Refactoring.

Schnellmenü 'Refactoring'

Verweise in Javadocs durch Refactoringaktionen aktualisieren Refactoringaktionen für das Umbenennen, Versetzen oder Ändern von Methodensignaturen aktualisieren jetzt auch Verweise in Javadoc-Kommentaren. Darin eingeschlossen sind Kommentare in @see- und @link-Tags sowie @param- und @throws-Klauseln.

In der Folge wurde der Dialog 'Umbenennen' vereinfacht:

Dialog 'Typ umbenennen'

Die alte Option Verweise in Javadoc-Kommentaren aktualisieren wurde komprimiert in Verweise aktualisieren. Die alten Optionen Verweise in regulären Kommentaren aktualisieren und Verweise in Zeichenfolgeliteralen aktualisieren wurden zusammengefasst zu Textübereinstimmungen in Kommentaren und Zeichenfolgen aktualisieren.

Refactoring 'Typ generalisieren' Wählen Sie in einem Java-Editor die Deklaration des Rückgabetyps für eine Variable, einen Parameter, ein Feld oder eine Methode aus, und gehen Sie zu Refactoring > Typ generalisieren.

Assistent 'Typ generalisieren'

Der Assistent zeigt die Supertyphierarchie für die Variable an. Durch die Auswahl einer der verfügbaren Typen wird die Deklaration aktualisiert.

'Typ generalisieren' - Davor
Refactoring 'Factory einführen' Wählen Sie eine Konstruktordeklaration aus oder rufen Sie im Java-Editor Refactoring > Factory einführen auf.

'Factory einführen' - Davor

Assistent 'Factory einführen'

Es wird eine statische Factorymethode erstellt, die den privaten Konstruktor aufruft, und alle Aufrufe des angegebenen Konstruktors werden durch Aufrufe der neuen Factorymethode ersetzt.

'Factory einführen'- Danach
Refactoring 'Parameter einführen' Wählen Sie in einem Java-Editor einen Ausdruck aus, und gehen Sie zu Refactoring > Parameter einführen.

'Parameter einführen' - Davor

Die enthaltene Methode erhält einen neuen Parameter, und der ausgewählte Ausdruck wird in die Argumentliste aller Aufrufsites kopiert.

'Parameter einführen' - Danach

Refactoring für verbesserte Änderung der Methodensignatur Wählen Sie im Java-Editor eine Methode aus, und gehen Sie zu Refactoring > Methodensignatur ändern.

Assistent 'Signatur ändern'

Folgende Aktionen werden nun auch vom Refactoring ausgeführt:
  • Umbenennen von Parametern in überschreibenden Methoden,
  • Aktualisieren von Verweisen in Javadocs,
  • Unterstützung für Inhalt (Strg+Leer) in der Spalte 'Parametertyp',
  • Ändern des Methodennamens,
  • Ändern ausgelöster Ausnahmebedingungen.

Außerdem wurde das Bearbeiten der Parametertabelle dahin gehend optimiert, dass nun die Standardnavigationstasten verwendet werden können (Tab, Umschalt+Tab, Pfeil auf & Pfeil ab). Der Bearbeitungsvorgang kann durch Klicken in eine Zelle oder durch Drücken der F2- bzw. der Eingabetaste gestartet werden.

Methode aus inneren Typen extrahieren

Für Java-Code, der in einem anonymen, lokalen oder nicht statischen Membertyp enthalten ist, erlaubt die Refactoringaktion 'Methode extrahieren' jetzt das Erstellen der neuen Methode in einem äußeren Typ.

Assistent 'Methode extrahieren'

'Methode extrahieren' sucht doppelte Codefragmente

Mit 'Methode extrahieren' können nun doppelte Codefragmente gesucht und diese auch in die neue Methode extrahiert werden. Beispiel: Extrahieren des Ausdrucks foo(a) + bar(b) aus dem Ausschnitt.

Assistent 'Methode extrahieren'

Resultierender Code:

Assistent 'Methode extrahieren'

Java-Tools - Allgemein

Methodenaufrufhierarchie Sie können eine Sicht mit einer Methodenaufrufhierarchie öffnen, indem Sie im Java-Editor oder in einer beliebigen Java-Sicht, die Methoden anzeigt, die Option Navigieren > Aufrufhierarchie öffnen (Strg+Alt+H) auswählen.

Sicht 'Aufrufhierarchie'

Sicht 'Javadoc' Es gibt eine neue Sicht 'Javadoc' (Fenster > Sicht anzeigen > Andere > Java > Javadoc), in der das Javadoc des im Java-Editor oder in einer Java-Sicht ausgewählten Elements angezeigt wird. Die Sicht 'Javadoc' verwendet das SWT-Browser-Widget zum Anzeigen von HTML auf Plattformen, die SWT unterstützen.

Sicht 'Javadoc'

Sicht 'Deklaration' Es gibt eine neue Sicht 'Deklaration' (Fenster > Sicht anzeigen > Andere > Java > Deklaration), in der die Quelle des im Java-Editor oder in einer Java-Sicht ausgewählten Elements angezeigt wird.

Sicht 'Deklaration'

Typfilter

Der in den Vorschlägen der Unterstützung für Code und der Schnellkorrektur angezeigte Satz Typen kann nun in der neuen Benutzervorgabenseite Java > Typfilter gefiltert werden. Typen, die mit einem der Filtermuster in der Liste übereinstimmen, erscheinen dann nicht im Dialog 'Typ öffnen' und sind für die Vorschläge der Schnellkorrektur und der Unterstützung für Code nicht verfügbar. Diese Filter haben keinen Einfluss darauf, ob die Typen in der Sicht 'Paket-Explorer' oder 'Typhierarchie' erscheinen.

Benutzervorgabenseite 'Typfilter'
Verbesserte Unterstützung von Filtern Java-spezifische Sichtmenüs, die einen Eintrag "Filter..." enthalten, verfügen daneben nun auch über auswählbare Einträge für kürzlich geänderte Filter.

Verbesserte Filter

Externes Javadoc aus Archiven Bei in Archiven gespeicherter Javadoc-Dokumentation brauchen Sie das Archiv nicht mehr zu entpacken. Der Eigenschaftsdialog für Javadoc-Position unterstützt nun die Dokumentation in Archiven. Wählen Sie eine JAR aus, und rufen Sie ihre Eigenschaftenseite auf (oder alternativ die Optionen Projekt > Eigenschaften > Java-Erstellungspfad > Bibliotheken > Javadoc-Position), um die Dokumentation einer JAR zuzuordnen.

Dialog für Konfiguration der Javadoc-Position

Verwenden Sie zum Öffnen von Javadoc in einem Browser die Optionen Navigieren > Externe Javadoc öffnen (Umschalt+F2).

Optionen in Sicht 'Suchen' gruppieren Sie können die neue Sicht 'Suchen' über das Sichtmenü im unstrukturierten oder hierarchischen Layoutmodus anzeigen lassen. Die Java-Suchergebnisse können im hierarchischen Modus jetzt nach Projekt, Paket, Datei oder Typ gruppiert werden.

Neue Sicht 'Suchen'

Filter in Java-Suche Java-Suchergebnisse können gefiltert werden. Sie können Javadoc-Kommentare, Importanweisungen, Lese- und Schreibzugriffe filtern. Nur die für die aktuelle Suche anwendbaren Filter werden angezeigt.

Suchfilter

Nach lokalen und anonymen Typen suchen Lokale und anonyme Typen werden nun vollständig in Suchoperationen unterstützt. Im Besonderen können Sie nun nach Verweisen auf einen ausgewählten lokalen Typ suchen. Außerdem befindet sich der Root der Suchergebnisse nun ordnungsgemäß innerhalb des lokalen oder anonymen Typs (und nicht mehr innerhalb der äußersten einschließenden Methode).
Lokale Typen Lokale und anonyme Typen werden nun standardmäßig in den verschiedenen Java-spezifischen Sichten angezeigt. Dabei werden Filter für die Sichten mit angezeigt, um diese zu verdecken.

Lokale Typen in Typhierarchie

Nicht weiter unterstützte Elemente Typen, Felder und Methoden, die als nicht weiter unterstützt markiert sind, werden jetzt mit einem Schrägstrich wiedergegeben.

Nicht weiter unterstützte Elemente in der Gliederung

Verweise in Javadoc-Kommentaren Die Java-Infrastruktur umfasst nun Verweise in Javadoc-Kommentaren. Dies ist an verschiedenen Stellen zu sehen, z. B. bei 'Suchen', 'Importe verwalten', verlinkten Umbenennungen im Editor und Markierungen von Vorkommen im Editor.

In Javadoc-Tags markierte Vorkommen

Unterstützung für Inhalt in Dialogfeldern Unterstützung für Inhalt (Strg+Leer) ist jetzt auch in den Eingabefeldern verschiedener Java-Dialoge verfügbar. Suchen Sie nach einem kleinen Glühbirnensymbol neben dem entsprechenden Feld, wenn dieses aktiv ist.

Dialog 'Neue Klasse'

Unterstützung von Arbeitssets in Sicht 'Typhierarchie'

Die Sicht 'Typhierarchie' unterstützt Filterung nun durch ein Arbeitsset. Sobald im Sichtmenü ein Arbeitsset ausgewählt ist, zeigt die Sicht 'Hierarchie' nur Java-Typen in dem angegebenen Arbeitsset an, erweitert durch übergeordnete Typen, die zur Vervollständigung des Strukturbaums erforderlich sind (letztere werden mit weiß ausgefüllten Bildern angezeigt).

Sicht 'Typhierarchie' mit aktiviertem Arbeitsset
Schnittstellen in Pakettyphierarchie Die für Pakete geöffnete Typhierarchie (F4) zeigt nun auch die Schnittstellen des jeweiligen Pakets an. Das Gleiche gilt für Hierarchien für Quellenordner, Projekte und JARs.

Pakettyphierarchie mit Schnittstellen

Verbesserter NLS-Assistent Der NLS-Assistent (Quelle > Zeichenfolgen auslagern) wurde für das Arbeiten mit bereits ausgelagerten Dateien aktualisiert:
  • Bereits vorhandene Schlüssel und Werte umbenennen
  • Mehrere Schlüsselpräfixe gleichzeitig umbenennen
  • Bereits ausgelagerte Zeichenfolgen in 'ignoriert' bzw. in den ursprünglichen, nicht mit einem Befehl versehenen (internalisierten) Status versetzen oder umgekehrt.
  • Verbessertes Einfügen von neuen Schlüsseln in Eigenschaftsdateien

NLS-Assistent für bereits ausgelagerte Zeichenfolgen

Benutzerdefinierte Bibliotheken Externe JARs können nun in einer benannten Bibliothek zusammengefasst werden. Erstellen Sie auf der Benutzervorgabenseite Java > Erstellungspfad > Benutzerbibliothek benutzerdefinierte Bibliotheken, und fügen Sie diese zum Erstellungspfad für die Projekteigenschaften hinzu.

Benutzervorgabenseite für Benutzerbibliothek

Ähnlich Einträgen für Klassenpfadvariablen verweist der Klassenpfadeintrag einer Benutzerbibliothek anhand des Namens auf die Benutzerbibliothek (er verweist nicht auf die JARs des lokalen Dateisystems).

Bibliothek im Paket-Explorer

Java-Compiler

Java-Compiler von Eclipse ist mit JCK1.4a kompatibel Der Java-Compiler von Eclipse im 1.4-Modus ist mit JCK1.4a kompatibel; im 1.3-Modus ist er mit JCK1.3a kompatibel.
Einschlussmuster für Quellenordner Jeder Quellenordner im Java-Erstellungspfad kann nun einigen Einschlussmustern zugeordnet werden, um selektiv einige Java-Quellendateien einschließen zu können. Dies ergänzt die Ausschlussmuster, die bereits zum selektiven Ausschließen bestimmter Quellendateien verfügbar sind. Beachten Sie, dass beide Optionen unter Verwendung folgender Regel miteinander kombiniert werden können: Wenn beides angegeben wird, hat ein Ausschlussmuster gegenüber einem Einschlussmuster stets eine Vorrangstellung. Beispielsweise bedeutet {include="src/", exclude="src/sub"} die Angabe der Baumstruktur 'src/' ohne die untergeordnete Baumstruktur 'src/sub/'. Die Einschluss- und Ausschlussmuster können über die Eigenschaften des Erstellungspfads des Projekts angegeben werden.

Ausschlussdialog

Indirekten Zugriff auf statische Member in Java-Code suchen Der Java-Compiler kann nun indirekte Zugriffe auf statische Member suchen und markieren. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Darstellung aktiviert werden (standardmäßig erfolgt keine Rückmeldung).

Neue Diagnose für indirekten Zugriff auf statische Member

Der indirekte Zugriff auf statische Member ist eine Kompatibilitätsanforderung für die generierte Klassendatei. Bei Klassendateien, die mit älteren JDK-Versionen als 1.2 kompatibel sind, löst der Compiler indirekte statische Verweise auf die deklarierende Klasse (Y im Beispiel) auf. Bei Klassendateien, die mit JDK-Versionen ab 1.2 kompatibel sind, löst der Compiler statische Verweise auf den Typ des Empfängers (X im Beispiel) auf.

Unbeabsichtigte Boolesche Zuordnungen suchen Der Java-Compiler kann nun nach unbeabsichtigten Booleschen Zuordnungen suchen. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Darstellung aktiviert werden (standardmäßig erfolgt keine Rückmeldung).

Neue Benutzervorgaben für Darstellung im Compiler

Java-Compileroption zum Markieren von unqualifizierten Zugriffen auf Exemplarfelder Der Java-Compiler kann nun unqualifizierte Verweise auf ein Exemplarfeld suchen und markieren. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Darstellung aktiviert werden (diese Option ist standardmäßig inaktiviert).

Diese Option unterstützt eine Codedarstellung, bei der alle Verweise auf Exemplarfelder qualifiziert sind, um sie sichtbar von Verweisen auf lokale Variablen unterscheiden zu können.

Java-Compileroption zum Markieren von finally-Blöcken, die nicht normal beendet werden können Der Java-Compiler kann nun finally-Blöcke suchen und markieren, die nicht normal (wie in der Spezifikation der Sprache Java definiert) beendet werden können. Nicht normal beendete finally-Blöcke können sehr irreführend sein und werden als schlechte Praxis betrachtet. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Darstellung aktiviert werden (standardmäßige Warnung).

Neue Diagnose für nicht normal beendete finally-Blöcke

Leere Steuerungsflussanweisung Der Java-Compiler kann nun eine leere Anweisung markieren, die als Hauptteil einer Steuerungsflussanweisung verwendet wird. Siehe die Benutzervorgabe unter Java > Compiler > Darstellung > Leere Anweisung.
Java-Compileroption zum Markieren von nicht dokumentierten leeren Blöcken Der Java-Compiler kann nun leere Blöcke, die nicht mit einem Kommentar dokumentiert werden können, suchen und markieren. Vollkommen leere Methoden- und Typenhauptteile sind ebenfalls auffällig. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Darstellung aktiviert werden (diese Option ist standardmäßig inaktiviert).
Variablen suchen, die ein anderes Feld bzw. eine andere Variable verdecken Der Java-Compiler kann nun nach lokalen Variablendeklarationen und Feldern suchen, die ein anderes Feld bzw. eine andere Variable verdecken. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Erweitert aktiviert werden (standardmäßig erfolgt keine Rückmeldung).

Neue Benutzervorgaben für Darstellung im Compiler

Nicht erforderliche Typüberprüfungen in Java-Code suchen Der Java-Compiler kann nun nicht erforderliche Umsetzungsausdrücke oder 'instanceof'-Operationen suchen und markieren. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Nicht verwendeter Code aktiviert werden (standardmäßig erfolgt keine Rückmeldung).

Neue Diagnose für nicht erforderliche Typenüberprüfungen

Java-Compileroption zum Markieren nicht erforderlicher, überprüfter Ausnahmebedingungen Der Java-Compiler kann nun nicht erforderliche, geprüfte Ausnahmebedingungen suchen und markieren, die deklariert sind, aber nicht ausgelöst wurden. Diese Überprüfung kann auf der Benutzervorgabenseite Java > Compiler > Nicht verwendeter Code aktiviert werden (diese Option ist standardmäßig inaktiviert).

Beachten Sie, dass eine Methode immer das Auslösen weniger geprüfter Ausnahmebedingungen als in der Superklasse (oder Schnittstelle) angegeben deklarieren kann.

Neue Diagnose für nicht verwendete, deklarierte ausgelöste Ausnahmebedingungen

Schnellkorrekturen für neue Compileroptionen Für die neuen Java-Compileroptionen stehen entsprechende Schnellkorrekturen zur Verfügung:

Nicht erforderliche Deklaration einer ausgelösten Ausnahmebedingung:
Schnellkorrektur 'Ausgelöste Ausnahmebedingung entfernen'
 Unqualifizierter Zugriff auf Exemplarfeld:
Schnellkorrektur 'Feld qualifizieren'
Nicht erforderlicher Umsetzungsausdruck:
Schnellkorrektur 'Nicht erforderliche Umsetzung'

Drücken Sie bei einer Warnung oder einem Fehler Strg+1 oder klicken Sie zum Abrufen von verfügbaren Schnellkorrekturen auf das Glühbirnensymbol.
Bearbeitung von Javadoc-Kommentaren Der Java-Compiler von Eclipse verarbeitet nun Javadoc-Kommentare. Bei Suchvorgängen wird über Verweise in Javadoc-Kommentaren berichtet, und das Refactoring aktualisiert diese Verweise. Diese Funktion wird über die Benutzervorgabenregisterkarte Java > Compiler > Javadoc gesteuert (oder für ein individuelles Projekt mit Hilfe von Projekt > Eigenschaften > Java-Compiler > Javadoc festgelegt).

Benutzervorgabenseite für Javadoc

Wenn diese Option aktiviert ist, können nicht ordnungsgemäß formatierte Javadoc-Kommentare im Java-Editor gekennzeichnet werden:
Ermittelte Fehler in Javadoc
Schnellkorrekturen für Fehler in Javadoc-Kommentaren Nach der Aktivierung der neuen Fehlermarkierungen in Javadoc-Kommentaren (vorhergehendes Element) können Sie die Schnellkorrektur im Java-Editor zum Korrigieren fehlender Javadoc-Tags verwenden. Klicken Sie dazu einfach auf das Glühbirnensymbol oder gehen Sie zu Bearbeiten > Schnellkorrektur (Strg+1).

Javadoc-Schnellkorrektur einfügen

JSR-Bytecode integrieren Der Java-Compiler kann jetzt optional das Generieren von Klassendateien unter Verwendung der JSR-Bytecodeanweisung vermeiden (diese wird typischerweise für die Kompilierung von try-finally-Blöcken verwendet) und stattdessen die Anweisungen für die entsprechende Subroutine integrieren. Die generierten Klassendateien sind etwas größer, können jedoch im Allgemeinen schneller geladen werden. Dieser Modus ist die erwartete Unterstützung für JSR 202. Siehe die Benutzervorgabe unter Java > Compiler > Kompatibilität und Klassendateien.

JUnit-Integration

Individuellen JUnit-Test mit erforderlicher spezieller Konfiguration ausführen JUnit unterstützt nun die Dekoration eines individuellen Tests für einen Testlauf. Dies erfolgt durch die Implementierung einer öffentlichen statischen Methode 'setUpTest(Test)' in Ihrer Klasse 'TestCase' wie hier gezeigt:
Individuellen JUnit-Test ausführen

Die Methode 'setUpTest' wird automatisch verwendet, wenn in Kürze ein Test individuell ausgeführt werden soll (einschließlich erneutes Ausführen eines fehlgeschlagenen Tests). Das von 'setUpTest' zurückgegebene Ergebnis wird anstelle des angegebenen Tests ausgeführt. Dies hat allgemein den Zweck, den angegebenen Test mit einer speziellen Konfiguration oder Umrüstung wiederzuverwenden.

Verbesserter Zeichenfolgevergleich in Sicht 'JUnit' Schlägt ein JUnit-Test fehl, weil eine Zeichenfolge anders ist als erwartet, klicken Sie in der Symbolleiste auf die Vergrößerungsschaltfläche, um die Unterschiede zwischen den Zeichenfolgen in einer Vergleichsanzeige darzustellen.

Junit-Anzeige mit fehlgeschlagenem Test

Anzeige für Zeichenfolgevergleich

Rechtliche Hinweise