Neue Funktionen in 3.2 (JDT)

Im Folgenden werden einige interessante bzw. wichtige Änderungen an den Java-Entwicklungstools vorgestellt, die für das Eclipse-Release 3.2 vorgenommen wurden. Sie sind in folgende Gruppen eingeteilt:

Informationen zu Änderungen der Plattform finden Sie auch im Dokument Eclipse-Plattform - Neue Funktionen in 3.2.

Java-Refactoring

Refactoring 'Dereferenzierung einführen'

Dereferenzierung einführen ist ein neuer Refactoringvorgang, bei dem Sie alle Aufrufer einer Methode zu einer neuen Methode umleiten können. Die neue Methode ruft die ursprüngliche Methode auf. Sie können die Standardimplementierung der neuen Methode nach Bedarf durch eine beliebige andere ersetzen.

Diese Dereferenzierung ist hilfreich, um neues Verhalten für eine Methode einzuführen, wenn folgende Situation vorliegt:

  • Die Methode kann nicht geändert werden, weil sie aus einer Bibliothek stammt
  • Die Methode darf nicht geändert werden, weil sie eine API-Methode ist

Mit Hilfe der Dereferenzierung können Sie Fehlerkorrekturen an der ursprünglichen Methode vornehmen oder vor bzw. nach allen Aufrufen einer Methode schnell und einfach Code hinzufügen.

Um das Refactoring Dereferenzierung einführen auszuführen, wählen Sie eine Methode aus, rufen Sie Refactoring > Dereferenzierung einführen... auf, und geben Sie einen Namen und die deklarierende Klasse für die neue Methode an.

Dialog 'Dereferenzierung einführen'

Die Methode wird der ausgewählten deklarierenden Klasse hinzugefügt.

Vorschau für 'Dereferenzierung einführen' mit aktualisiertem Verweis

Alle Verweise werden aktualisiert, sodass sie die neue Methode aufrufen.

Ergebnis von 'Dereferenzierung einführen'

Refactoring 'Superklasse extrahieren'

Ein neues Refactoring mit der Bezeichnung Superklasse extrahieren extrahiert eine gemeinsame Superklasse aus einer Gruppe gleichgeordneter Typen. Die ausgewählten gleichgeordneten Typen werden zu direkten Unterklassen der extrahierten Superklassen, nachdem das Refactoring angewendet wurde. Darüber hinaus ermöglicht Superklasse extrahieren die Verwendung der extrahierten Superklasse an jeder möglichen Stelle im Code.

Im folgenden Beispiel sind JavaEditorTests und PropertiesEditorTests die gleichgeordneten Typen. Die erste Abbildung zeigt die Typhierarchie vor dem Refactoring.

Hierarchie vor dem Extrahieren von 'EditorTests'

Die nächste Abbildung zeigt die Typhierarchie nach dem Extrahieren von EditorTests mit dem Refactoring Superklasse extrahieren.

Hierarchie nach dem Extrahieren von 'EditorTests'

Rufen Sie dieses Refactoring über Refactoring > Superklasse extrahieren... auf.

Assistent für Bereinigung

Die Funktion Bereinigen kann für eine beliebige Zahl von Java-Quellendateien, -Paketen oder für ein ganzes Java-Projekt aufgerufen werden. Dadurch wird Folgendes unterstützt:

  • Mehrere Fehler auf einmal beheben
  • Eine bevorzugte Codedarstellung für Code implementieren

Die folgenden Beispiele veranschaulichen die Möglichkeiten:

  • Verwendung von geschweiften Klammern (Blöcken) für jeden Hauptteil von 'if', 'while' oder 'for' erzwingen
  • Alle Feldzugriffe mit 'this' qualifizieren
  • Nach Möglichkeit 'final' verwenden

Um mit Java 1.4 kompatiblen Code auf 5.0 zu migrieren, können Sie mit Bereinigen Folgendes ausführen:

  • Alle FOR-Schleifen in erweiterte FOR-Schleifen konvertieren, soweit möglich
  • Alle überschreibenden Methoden mit @Override-Anmerkungen markieren

Assistent für Bereinigung

Wählen Sie ein Projekt, ein Paket oder eine Datei aus, und verwenden Sie Quelle > Bereinigen..., um diesen Assistenten zu starten.

Refactoringprotokoll

Die meisten von JDT bereitgestellten Refactorings werden jetzt in einem Refactoringprotokoll erfasst. In der Refactoringinfrastruktur werden detaillierte Informationen zu den Refactorings gespeichert, die in Ihrem Arbeitsbereich ausgeführt wurden.

Das Refactoringprotokoll kann mit der Funktion Refactoring > Protokoll... durchsucht und bearbeitet werden.

Dialog für Refactoringprotokoll

Refactoringscripts erstellen und anwenden

Refactorings, die auf ihren lokalen Arbeitsbereich angewendet wurden, können jetzt in ein Refactoringscript exportiert und auf jedem beliebigen Arbeitsbereich erneut ausgeführt werden.

Refactoringscripts können in verschiedenen Szenarien verwendet werden, z. B. zum automatischen Korrigieren von unterbrechenden API-Änderungen zwischen Softwareschichten oder zum Bereitstellen von Programmkorrekturen mit umfangreicher Semantik.

Erstellen Sie ein Refactoringscript aus dem Refactoringprotokoll mit der Funktion Refactoring > Script erstellen...

Aktion 'Script erstellen'

Mit der Funktion Refactoring > Script anwenden... können Sie das generierte Refactoringscript auf einen beliebigen Arbeitsbereich anwenden.

Ein neuer Erweiterungspunkt ermöglicht den Autoren von Plug-ins das Einführen der Unterstützung für Refactoringscripts für neue und bereits vorhandene Refactorings. Weitere Informationen finden Sie im Abschnitt zum Erweiterungspunkt org.eclipse.ltk.core.refactoring.refactoringContributions.

JAR-Datei mit Refactorings exportieren

Beim Exportieren einer JAR-Datei aus dem Arbeitsbereich bietet der Assistent für JAR-Export die Möglichkeit zum Einfügen von Refactoring-Informationen in die JAR-Datei.

Verwenden Sie dazu die Option Datei > Exportieren..., und wählen Sie JAR-Datei aus. Wählen Sie auf der ersten Seite des Assistenten für JAR-Export die Option Refactorings für markierte Projekte exportieren. Klicken Sie auf den Link, um die zu berücksichtigenden Refactorings auszuwählen.

Refactoringauswahl beim JAR-Export

Jetzt sind Clients in der Lage, eine alte Version der JAR-Datei mit Hilfe der Funktion Refactoring > JAR-Datei migrieren... in eine neue Version zu migrieren. Alternativ können Sie auch die Funktion Erstellungspfad > JAR-Datei migrieren... verwenden, wenn momentan eine JAR-Datei ausgewählt ist.

Aktion 'JAR-Datei migrieren'

Dieses Refactoring aktualisiert automatisch sämtlichen Code, der von der alten Version abhängig ist, so dass er die neue Version der JAR-Datei verwendet.

Auf API abgestimmte Refactorings

Die folgenden vorhandenen Refactorings wurden erweitert, so dass sie die API-Kompatibilität unterstützen, indem das ursprüngliche Member als Stellvertreter für das Member nach dem Refactoring beibehalten wird:

  • Methode umbenennen
  • Feld umbenennen (nur für Konstanten)
  • Methode versetzen
  • Parameter einführen
  • Signatur ändern

Markierungsfeld 'Ursprüngliches Member als Stellvertreter für Member nach Refactoring beibehalten'

Die Generierung eines Stellvertreter-Members zur Wahrung der API-Kompatibilität kann durch Aktivieren der Option Ursprüngliche Methode als Stellvertreter für umbenannte Methode beibehalten im Dialog für Refactoring aktiviert werden.

'Typ umbenennen' aktualisiert ähnlich benannte Elemente

Das Refactoring Typ umbenennen kann jetzt auch Variablen und Methoden mit ähnlichen Namen wie der umbenannte Typ umbenennen. Diese Funktion unterstützt das Synchronisieren der Methoden- und Variablennamen mit den Typnamen.

Ähnliche Deklarationen aktualisieren

Wählen Sie zum Aufrufen dieses Refactorings einen Typ aus, und verwenden Sie die Funktion Refactoring > Umbenennen....

Refactoring 'Paket umbenennen' benennt untergeordnete Pakete um

Das Refactoring Paket umbenennen benennt auf Wunsch jetzt auch untergeordnete Pakete um.

Dialog 'Paket umbenennen' mit neuem Markierungsfeld

In diesem Beispiel wird junit.samples.money in junit.examples.money umbenannt.

Wählen Sie zum Aufrufen dieses Refactorings ein Paket aus, und verwenden Sie die Funktion Refactoring > Umbenennen....

Refactoringvoranzeige filtern

Die Seite für Refactoringvoranzeige unterstützt jetzt das Filtern der Änderungen. Dies ist besonders hilfreich, wenn beim Umbenennen von Java-Elementen das Aktualisieren von Textübereinstimmungen in Kommentaren und Zeichenfolgen angefordert wird.

Voranzeigeseite mit gefilterten Refactorings

Die Abbildung zeigt den Dialog für Umbenennen nach dem Filtern von Textübereinstimmungen beim Umbenennen der Klasse TestCase in TestCasee.

Änderungen der Sichtbarkeit von Java-Elementen können jetzt ebenfalls gefiltert werden.

Java-Editor

Anpassungsfähige Unterstützung für Inhalt

Durch wiederholtes Aufrufen der Unterstützung für Inhalt (Strg+Leertaste auf den meisten Plattformen) werden jetzt nacheinander verschiedene Kategorien von Vorschlägen aufgerufen.

Auf der Benutzervorgabenseite Benutzervorgabenseite der erweiterten Unterstützung für Inhalt öffnen Java > Editor > Unterstützung für Inhalt > Erweitert können Sie eigene Direktaufrufe über die Tastatur für Ihre bevorzugten Vorschlagskategorien zuordnen und konfigurieren, welche Kategorien im Standarddialogfenster der Unterstützung für Inhalt angezeigt werden.

Dialogfenster der Unterstützung für Inhalt mit Java-Vorschlägen (wiederholtes Aufrufen öffnet Schablonenvorschläge)

Der neue Erweiterungspunkt org.eclipse.jdt.ui.javaCompletionProposalComputer ermöglicht den Autoren von Plug-ins die Bereitstellung von Fertigstellungsvorschlägen und Kategorien für den Prozess der Unterstützung für Inhalt des Java-Editors.

Unterstützung für gemischte Groß-/Kleinschreibung bei der Codefertigstellung

Bei der Codefertigstellung werden jetzt auch Muster mit gemischter Groß-/Kleinschreibung unterstützt. Beispielsweise wird für NPE als Fertigstellung NullPointerException vorgeschlagen. Diese Unterstützung kann mit Hilfe der Benutzervorgabe Übereinstimmungen für gemischte Groß-/Kleinschreibung anzeigen auf der Benutzervorgabenseite Benutzervorgabenseite der Unterstützung für Inhalt öffnen Java > Editor > Unterstützung für Inhalt inaktiviert werden.

Java-Editor-Fertigstellung für NPE

Schnellmenü zum Einbetten von Code

Das neue Schnellmenü Einbetten in ermöglicht das Einbetten der ausgewählten Zeilen in Code. Das Menü kann durch angepasste Schablonen erweitert werden. Die Schablonen erkennen jetzt auch Variablen, die extrahiert oder finalisiert werden müssen.

Konvertierung zu Einbettung in ausführbaren Code

Durch Auswählen von Quelle > Einbetten in oder durch Drücken der Tasten Alt+Umschalttaste+Z können Sie das Menü direkt aufrufen.

Angepasste Schablonen können Sie auf der Benutzervorgabenseite Java > Editor > Schablonen hinzufügen. Die Schablone benötigt dafür lediglich eine Variable ${line_selection}.

Neue Schnellkorrekturen

Mehrere neue Schnellkorrekturen wurden hinzugefügt, z. B.:

  • Zugriffe auf unformatierte Typen korrigieren

    Korrekturvorschlag für unformatierten Zugriff

    Die Schnellkorrektur leitet Informationen aus Vorkommen in derselben Datei ab. Eine komplexere Analyse können Sie mit dem Refactoring Generische Typargumente ableiten erzielen.

  • Fehlendes Anmerkungsattribut hinzufügen

    Schnellkorrektur für fehlendes Anmerkungsattribut

  • Neues Anmerkungsmember hinzufügen

    Schnellkorrektur für neues Anmerkungsmember

Kategorieunterstützung

In Javadoc-Kommentaren können Kategorien für Typen, Methoden und Felder mit dem Tag @category definiert werden.

Code mit Kategorien

Kategorien werden in den Sichten 'Gliederung' und 'Member' angezeigt sowie in der Schnellgliederung. Im Anzeigemenü kann ausgewählt werden, welche Kategorien sichtbar sind.

Gliederung mit Kategorien und Kategoriefiltern

Alle Member können komprimiert werden

Wenn die Komprimierung aktiviert ist, können Felder, Initialisierungsoperatoren und zugehörige Kommentare jetzt auf die gleiche Weise wie Methoden komprimiert werden.

Komprimierte Feldinitialisierungsoperatoren

Neue Textkomprimierungsbefehle ermöglichen das Ausblenden aller Kommentare, das Ausblenden aller Member und das Zurücksetzen der Komprimierungsstruktur. Diese Befehle befinden sich im Kontextmenü Komprimierung des Java-Editors auf der vertikalen Skala.

Unterstützung von Skala und Gliederung für Java-Dateien außerhalb des Arbeitsbereichs

Im Java-Editor werden jetzt vertikale Skalen angezeigt und die Seite 'Gliederung' sowie die Schnellgliederung ermöglichen das Anzeigen der Gliederung für externe Java-Dateien und Java-Dateien aus Repositorys.

Unterstützung für Skala

Java-Compiler

Konformität mit Java SE 6.0

Die Konformität mit Java SE 6.0 wird jetzt vollständig unterstützt. Insbesondere werden jetzt Attribute des Typs StackMapTable (siehe JSR 202) in .class-Dateien mit einem 1.6-Ziel generiert.

Konformität mit 6.0 festlegen

Nullverweisanalyse

Der Java-Compiler ist jetzt in der Lage, eine grundlegende Nullverweisanalyse für lokale Variablen auszuführen.

Diese optionale Diagnose kann auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen über die Benutzervorgabe Potenzielle Programmierungsprobleme > Nullverweis aktiviert werden.

Java-Editor mit Nullverweiswarnung

Diese Analyse ist eher konservativ, d. h. auf definitive Zuordnungsregeln abgestimmt. Sie berücksichtigt nur Fälle, in denen ein konkreter Verdacht besteht (z. B. wenn später eine Nullprüfung ausgeführt wird), anstatt alle möglichen Fälle zu melden.

Im Modus für 5.0-Konformität können Nullverweiswarnungen mit @SuppressWarnings("null") inaktiviert werden.

Verbesserte Syntaxwiederherstellung

Der interne Java-Parser ist jetzt widerstandsfähiger gegen Syntaxfehler. In Eclipse 3.1 führte ein Syntaxfehler dazu, dass keine nachfolgenden Fehler angezeigt wurden. Der Parser kann jetzt auch nach fehlerhaften Anweisungen weitere Analysen ausführen.

Im folgenden Beispiel wird der ungültige Verweis auf die Methode bar() trotz des fehlenden Semikolons in der vorherigen Anweisung erkannt.

Java-Editor mit Syntaxwiederherstellung

Dies ermöglicht z. B. Refactorings, die sich nur auf eine einzige Datei auswirken, Syntaxfehler zu tolerieren. Beispielsweise ist jetzt das Extrahieren oder Umbenennen einer lokalen Variable am Anfang einer Methode möglich, die noch nicht vollständig geschrieben ist.

Lokale Variable aus unvollständiger Methode extrahieren

Konfigurierbare Fehler nicht als schwer wiegend behandeln

Die Option Konfigurierbare Fehler wie schwer wiegend behandeln auf der Benutzervorgabenseite Benutzervorgabenseite für Erstellung öffnen Java > Compiler > Erstellung steuert, ob ein konfigurierbarer Fehler als schwer wiegend gelten soll oder nicht. Diese Option ist standardmäßig aktiviert.

Wenn diese Option inaktiviert ist, kann der kompilierte Code ausgeführt werden, obwohl er Fehler enthält.

Erkennung unnötiger Tags '$NON-NLS$'

Unnötige Tags $NON-NLS$ werden jetzt erkannt. Ein Fehler wird gemeldet, wenn ein Zeilenkommentar mit //$NON-NLS-x$ beginnt und die betreffende Zeile keine entsprechende Zeichenfolge enthält.

Die Berichterstellung kann über die Benutzervorgabe für nicht ausgelagerte Zeichenfolgen aktiviert und inaktiviert werden. Sie kann auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen mit der Benutzervorgabe Codedarstellung > Nicht ausgelagerte Zeichenfolgen (fehlender/nicht verwendeter Tag $NON-NLS) festgelegt werden.

Java-Editor mit nicht verwendetem NLS-Tag

Verwenden Sie zum Entfernen der nicht verwendeten Tags die Schnellkorrektur (Strg+1), oder verwenden Sie Strg+1, Strg+Enter, um alle nicht verwendeten Tags in einer Kompiliereinheit zu entfernen.

Erkennung der Verwendung unformatierter Typen

Die Verwendung unformatierter Typen wird jetzt erkannt. Ein unformatierter Typ ist ein Verweis mit einem generischen Typ ohne Typargument (z. B. List anstatt List<Element>).

Diese optionale Erkennung kann unabhängig von nicht markierten Typoperationen auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen mit der Benutzervorgabe Generische Typen > Verwendung eines unformatierten Typs aktiviert werden.

Java-Editor mit Verwendung eines unformatierten Typs

Diese Warnung kann durch Hinzufügen von @SuppressWarnings("unchecked") unterdrückt werden.

Außerdem wurde eine Schnellkorrektur eingefügt, die das Beheben von Fehlern durch die Verwendung unformatierter Typen unterstützt.

Erkennung von Methodenparameterzuordnungen

Die Zuordnung zu Methodenparametern wird als schlechte Praktik angesehen.

Öffnen Sie zum Erkennen und Berichten solcher Zuordnungen die Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen, und aktivieren Sie die Benutzervorgabe Codedarstellung > Parameterzuordnung.

Java-Editor mit Warnung für Parameterzuordnung

Erkennung nicht verwendeter Bezeichnungen

Der Java-Compiler erkennt jetzt auch nicht verwendete Anweisungsbezeichnungen.

Diese optionale Diagnose kann auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen mit der Benutzervorgabe Nicht erforderlicher Code > Nicht verwendete Bezeichnung für Unterbrechung/Fortsetzung aktiviert werden.

Java-Editor mit Verwendung eines unformatierten Typs

Erkennung von SWITCH CASE-Durchlauf

Der Java-Compiler kann jetzt auch erkennen, ob CASE infolge des Durchlaufs einer vorherigen CASE-Anweisung eintreten kann. Leere CASE-Instanzen sind zulässig.

Diese optionale Diagnose kann auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen mit der Benutzervorgabe Potenzielle Programmierungsprobleme > SWITCH CASE-Durchlauf aktiviert werden.

Java-Editor mit Durchlaufwarnung

Eine Schnellkorrektur zum Hinzufügen einer Anweisung break zur vorherigen CASE-Anweisung wurde implementiert.

Verbesserte Leistung bei umfangreichen .jar-Dateien

Die Größenbegrenzung des internen Java-Modellcache ist jetzt eine Funktion der maximalen Größe des Heapspeichers (VM-Argument -Xmx auf den meisten JVMs), die an die virtuelle Java-Maschine (JVM) übergeben wird, auf der die Eclipse IDE ausgeführt wird.

Das Vergrößern des Heapspeichers führt zu einer deutlichen Verbesserung der Leistung, wenn der Erstellungsklassenpfad umfangreiche .jar-Dateien enthält.

Geänderte .class-Dateien erneut erstellen

Das Java-Erstellungsprogramm kann jetzt geänderte oder entfernte .class-Dateien im Ausgabeordner anhand der ursprünglichen Quelle erneut erstellen.

Diese Funktion kann auf der Benutzervorgabenseite Benutzervorgabenseite für Erstellung öffnen Java > Compiler > Erstellung mit der Benutzervorgabe Ausgabeordner > Durch andere Benutzer geänderte Klassendateien erneut erstellen gesteuert werden.

Javadoc-Sicht und QickInfos aus zugeordnetem Javadoc

Die Sicht 'Javadoc' und die Javadoc-Kurzinfos extrahieren jetzt Informationen aus dem zugeordneten Javadoc für Bibliotheken, denen keine Quelle zugeordnet ist.

JUnit-Tools

Unterstützung für JUnit 4

Die JUnit-Unterstützung wurde aktualisiert und kann jetzt auch JUnit 4-Tests ausführen und schreiben. Weitere Informationen zu JUnit 4 finden Sie unter www.junit.org.

  • Verwenden Sie den Assistenten Neuer JUnit-Testcase, um eine JUnit 4-Testklasse zu generieren:
    JUnit 4-Unterstützung im Assistenten 'Neuer Testcase'
  • Verwenden Sie die bereitgestellte JUnit-Bibliothek, um Einträge zum Erstellungspfad hinzuzufügen.
    Fügen Sie eine JUnit 4-Bibliothek über die Schnellkorrektur hinzu.
  • Starten Sie JUnit 4-Tests wie gewohnt mit Ausführen als JUnit.
  • Ignorieren Sie Tests durch Anbringen des Markierungstags @Ignore.

Protokoll der Sicht 'JUnit'

Die Sicht 'JUnit' kann jetzt mehrere Testläufe gleichzeitig verarbeiten. Mit Hilfe des neuen Protokolls können Sie zwischen aktiven und kürzlich ausgeführten Testläufen wechseln. Tests können über das Protokoll erneut ausgeführt werden, ohne bereits laufende Tests zu stoppen.

JUnit-Protokoll

Dieses Protokoll funktioniert mit JUnit 3 und mit JUnit 4.

Java-Debugger
Ausführungsumgebungen

Eine Ausführungsumgebung beschreibt die Funktionalität einer Laufzeitumgebung, z. B. J2SE-1.4. Durch Verweisen auf eine Ausführungsumgebung können Sie angeben, welche JREs für Ausführung, Debug und Erstellung verwendet werden. Auf der neuen Benutzervorgabenseite Benutzervorgabenseite für Ausführungsumgebung öffnen Java > Installierte JREs > Ausführungsumgebungen wird angezeigt, welche der in Ihrem Arbeitsbereich installierten JREs mit den einzelnen Ausführungsumgebungen kompatibel sind. JREs, die den Voraussetzungen einer Ausführungsumgebung exakt entsprechen, werden in Fettdruck angezeigt, und JREs, die die Voraussetzungen einer Umgebung übertreffen, werden in der Standardschriftart angezeigt. Wenn mehrere JREs mit einer Ausführungsumgebung kompatibel sind, können Sie eine JRE markieren, die als Standard-JRE für die betreffende Umgebung verwendet werden soll.

Benutzervorgabenseite für Ausführungsumgebung

Ein Erstellungspfad oder eine Startkonfiguration, die auf eine Ausführungsumgebung verweist, ist leichter portierbar als eine Startkonfiguration, die auf eine bestimmte JRE verweist, da die Ausführungsumgebung einer JRE unabhängig vom Namen der JRE aufgelöst werden kann. Geben Sie auf der Registerkarte 'JRE' oder im Assistenten 'Bibliothek bearbeiten' eine Ausführungsumgebung für Ausführung und Erstellung an.

Registerkarte 'JRE' im Dialog für Startkonfiguration

Startvariable für Systemeigenschaften

Eine neue Startvariable ermöglicht dynamisches Angeben von Systemeigenschaften als Java-Programm- und VM-Argumente über die Eclipse-Laufzeitumgebung. Die Variable akzeptiert als einziges Argument den Namen der Systemeigenschaft, die zur Startzeit aufgelöst werden soll.

Beispielsweise wird auf die Systemeigenschaft java.home mit ${system_property:java.home} verwiesen.

Registerkarte 'Argumente' im Dialog für Startkonfiguration

Auswertungsunterstützung für Arrays

Auswertung und Unterstützung für Inhalt werden jetzt auch für Java-Arrays unterstützt. Verwenden Sie this, um auf den ausgewählten Array zu verweisen.

Unterstützung für Code in der Sicht 'Variablen'

Java-Threadgruppen

Threadgruppen können in der Sicht 'Debug' jetzt durch Umschalten der Option Threadgruppen anzeigen im Sichtmenü angezeigt werden.

Threadgruppen in der Sicht 'Debug' einblenden

Exportierte Einträge für Laufzeitklassenpfad

Ein Laufzeitklassenpfad kann so konfiguriert werden, dass er nur exportierte Eingträge aus dem Erstellungspfad enthält. Standardmäßig enthält ein Laufzeitklassenpfad alle Einträge (exportierte und nicht exportierte).

Wählen Sie auf der Registerkarte Klassenpfad den Standardeintrag aus, und verwenden Sie die Schaltfläche Bearbeiten..., um die Option zu konfigurieren.

Registerkarte 'Klassenpfad' im Dialog für Startkonfiguration

Dialog 'Laufzeitklassenpfad bearbeiten'

Thread aussetzen oder VM aussetzen

Auf der Benutzervorgabenseite Benutzervorgabenseite für Debug öffnen Java > Debug wurde eine Option hinzugefügt, die steuert, ob neu erstellte Unterbrechungspunkte einen einzelnen Thread oder die gesamte VM aussetzen.

Benutzervorgabenseite für Debug

Sonstiges

Java-Typanzeiger

Aktivieren Sie den Java-Typanzeiger auf der Benutzervorgabenseite Benutzervorgabenseite für Dekoratoren öffnen Allgemein > Darstellung > Dekoration für Bezeichnungen, um festzustellen, welches der erste Typ in einer Kompiliereinheit oder Klassendatei ist. Für Schnittstellen, Anmerkungen und Aufzählungen werden Dekorationen angezeigt, für normale Klassen jedoch nicht.

Typanzeiger - Dekorator für Bezeichnung

Beschädigte ausgelagerte Zeichenfolgen finden

Mit einer neuen Aktion können beschädigte ausgelagerte Zeichenfolgen gesucht werden. Bei diesem Suchvorgang werden fehlende, nicht verwendete und doppelte Schlüssel gemeldet.

Aktion 'Beschädigte ausgelagerte Zeichenfolgen finden'

Um den Suchvorgang zu starten, wählen Sie eine Eigenschaftendatei, ein Paket oder ein ganzes Projekt aus, und verwenden Sie die Option Quelle > Beschädigte ausgelagerte Zeichenfolgen finden.

Verbesserte Unterstützung für Auslagerungsmechanismus von Eclipse

Der Auslagerungsmechanismus von Eclipse wird jetzt im gleichen Umfang unterstützt wie die traditionelle Auslagerung von Zeichenfolgen. Der dazugehörige ausgelagerte Wert wird in einer Kurzinfo angezeigt, wenn der Cursor im Java-Editor auf dem Schlüssel einer ausgelagerten Zeichenfolge platziert wird.

NLS-Kurzinfo

Drücken Sie die Tasten Strg+Rechte Maustaste, während der Cursor auf dem Schlüssel steht, um direkt den Eintrag in der entsprechenden Eigenschaftendatei aufzurufen. Im Editor der Eigenschaftendatei können Sie durch Drücken der Tasten Strg+Rechte Maustaste feststellen, wo der Schlüssel im Code verwendet wird.

Typ aus Beispielsnippet erstellen

Ein Codesnippet, das einen Java-Typ enthält, kann direkt in einen Paket- oder Quellenordner eingefügt werden, um eine neue Kompiliereinheit zu erstellen. Wählen Sie beispielsweise den folgenden Quellcode aus, und kopieren Sie ihn:
package pack;
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
Wählen Sie anschließend im Paket-Explorer einen Quellenordner aus, und verwenden Sie Strg+V (Bearbeiten > Einfügen). Dadurch wird automatisch ein neues Paket 'pack' und die Datei 'HelloWorld.java' mit dem kopierten Inhalt erstellt.

hashCode() und equals() generieren

Mit einer neuen Aktion können die Methoden hashCode() und equals() generiert werden. Dabei können Sie auswählen, auf welchen Feldern die Implementierung basieren soll.

Assistent für hash- und equals-Generierung

Wählen Sie zum Aufrufen dieser Aktion einen Typ aus, und verwenden Sie die Funktion Quelle > hashCode() und equals() generieren....

Codeformatierungsprogramm für die Befehlszeile

Mit der neuen automatischen Formatierungsanwendung können Sie jetzt Quellcode formatieren, ohne die Eclipse-Benutzerschnittstelle zu starten. Das Formatierungsprogramm für die Befehlszeile wird als Eclipse-Standardanwendung ausgeführt.

Der folgende Befehl formatiert die Quellendateien im Ordner src mit den in der Datei config.prefs angegebenen Optionen:

eclipse -application org.eclipse.jdt.core.JavaCodeFormatter -config d:/config.prefs c:/src

Details finden Sie im Abschnitt Formatierungsanwendung verwenden.

Unterstützung für Java-ähnliche Erweiterungen

Jetzt werden auch Dateien mit einer anderen Erweiterung als .java unterstützt, die reinen Java-Code enthalten. Ein Java-ähnliche Erweiterung kann auf der Benutzervorgabenseite Benutzervorgabenseite für Inhaltstyp öffnen Allgemein > Inhaltstypen hinzugefügt werden (Typ Text > Java-Quellendatei).

Paket-Explorer mit 'Y.abc' als Kompiliereinheit