Kolumne

Lagebericht Eclipse-IDE: Sechs Highlights in Eclipse 4.6

Lars Vogel, Simon Scholz

In ihrer Kolumne „Lagebericht Eclipse-IDE“ geben Lars Vogel und Simon Scholz Einblicke in die aktuellen Arbeiten an der Eclipse-Plattform. Wir beginnen mit einem Blick auf die „dunklen Jahre der IDE“, bevor wir uns mit 6 Highlights in Eclipse Neon auf die Sonnenseite des aktuellen Eclipse 4.6 begeben, auf der es viele nützliche Tricks zu entdecken gibt.

Das Eclipse-Top-Level-Projekt und die Eclipse Platform

Zunächst eine kurze Abgrenzung: Die Eclipse Foundation hat verschiedene Top-Level-Projekte. Eines davon liefert die Basis für die Eclipse-IDE. In diesem Projekt wird die Eclipse Platform entwickelt, die das UI und die Laufzeitkomponenten liefert. Daneben sind die Java-Development-Tools und die Plug-in-Development-Tools wichtige Komponenten. Die JDT liefern die Java-Tools, die wir alle so schätzen und lieben, und PDE die Tools, um Eclipse-Komponenten zu entwickeln.

2012 – die dunklen Jahre der IDE

Starten wir mit einem kleinen Rückblick auf das Top-Level-Projekt. Bis vor etwa sechs Jahren waren in dem Projekt hauptsächlich Committer von IBM tätig, die auch die meisten Beiträge anderer Entwickler reviewen mussten. Irgendwann hat IBM angefangen, Ressourcen auf andere Eclipse-Projekte umzuziehen, zudem haben erfahrene Entwickler von IBM das Projekt verlassen. Die neuen IBM-Kollegen, damals primär in Polen und Indien ansässig, waren natürlich noch nicht so erfahren, und damit entstand ein gewisser Entwicklungsrückstau.

Das erste offizielle Eclipse-4.2-Release war ein komplettes Redesign des inneren API für die Eclipse-IDE und darauf aufbauende Applikationen, die so genannte Eclipse Rich Client Platform. Das API-Redesign sollte den Erfolg der Eclipse-IDE und RCP in der Zukunft sicherstellen und nutzte moderne Implementierungsansätze für strikte Entkopplung über einen Event Bus und eine Dependency Injection als Programmiermodel. Leider war die veröffentlichte IDE noch nicht glattgeschliffen und zeigte sich dem Anwender gegenüber als recht träge und fehlerhaft.

Aufräumarbeiten und Projektänderungen

Schon bald zeigte sich aber, dass das API-Design der Eclipse-IDE wieder einen neuen Entwicklungsschwung geben sollte. Auch akzeptierte das Eclipse-Top-Level-Projekt neue Committer, die begannen, parallel zu den Arbeiten der IBM Committer, Altlasten in der Eclipse-IDE aufzuräumen und den Entwicklungsprozess zu vereinfachen. Das gesamte Team arbeitete an einer Vereinfachung des Build-Prozesses, und die Unterstützung des Gerrit-Code-Review-Systems wurde und wird kontinuierlich ausgebaut. Inzwischen werden Beiträge von Committern und Contributoren fast alle automatisch gebaut und getestet. Der Eclipse-Code wurde in vielen Fällen auf das Niveau von Java 8 gehoben, vereinfacht und Lambda-freundlich gemacht. Eine Überarbeitung des API hat ebenfalls stattgefunden und viel Detailarbeit floss in Performanceverbesserungen.

Rise and Shine in 2015

Das Eclipse-4.5-Release kann man wohl als das echte Prachtstück – verglichen mit 4.2 – bezeichnen. Es ist schneller, stabiler und leichtfüßiger. In der aktuellen Entwicklungslinie (Eclipse 4.6) geht das Ganze rasant weiter, und der Anwender kann sich auf eine schnelle und vereinfachte IDE freuen. Wir möchten im Folgenden einige der für den Anwender der IDE sichtbarsten Features auflisten.

Ausgewählte Eclipse-4.6-IDE-Highlights

1. Welcome Screen

Oftmals ignoriert und weggeklickt und nun im neuen Licht erschienen: der Welcome Screen. Neben einem neuen Layout (Abb. 1) haben weitere Projekte zugesagt, neue Tutorials und Samples hinzuzufügen.

Abb. 1: Eclipse Welcome Solstice

Abb. 1: Eclipse Welcome Solstice

2. Dark Theme

Seit dem Release Eclipse Luna ist das Dark Theme offizieller Bestandteil der Entwicklungsumgebung. Während es in Luna noch vereinzelt Schönheitsfehler gab, hat das Dark Theme mit den letzten Releases immer weiter an Wertigkeit gewonnen. So fügt Eclipse Neon z. B. auch stylebare Links und Scroll-Leisten hinzu (Abb. 2).

Abb. 2: Eclipse Dark Theme

Abb. 2: Eclipse Dark Theme

3. Usability

Wozu benutzt man eine IDE? Vorranging sollte es jedenfalls um die Effizienz der Entwickler gehen. Da sind hilfreiche Abkürzungen sehr willkommen. Einige Beispiele dafür wären neue Templates, ein neuer „New…“-Button für Workingsets (Abb. 3), mehrere Buttons für das direkte Öffnen von Dateipfaden, diverse neue Quickfixes für Source-Editoren, Sub-Wort-Erkennung beim Content Assist und Tastenkürzel für gängige Aktionen, wie Schriftartgröße (CTRL + +/-).

Neben diesen Shortcuts und Vereinfachungen gilt auch die allgemeine Performance als Usabilityaspekt. Und auch in diesem Bereich wurde kräftig im Coding der IDE aufgeräumt. Die Plug-in-Aktivierung wurde beschleunigt, unnötige IO-Zugriffe verhindert, Memory Leaks geschlossen, unnötige Objekterzeugung vermieden und ein neues API für das Threading in Eclipse bereitgestellt. Auch das Starten der Eclipse-IDE geht jetzt flüssiger, je nach Szenario und Rechner haben wir schon 20 Prozent gemessen.

Zudem ist in Eclipse Neon der sogenannte „Smart Import“ implementiert. Das ist ein Import Wizard, der automatisch erkennen kann, um welche Art von Projekt es sich handelt, wenn ein Dateiverzeichnis oder ein Archiv ausgewählt wird (Abb. 3).

Abb. 3: Smart Import Wizard

Abb. 3: Smart Import Wizard

4. Content Assist

Wie hieß die Methode nochmal? Content Assist vergleicht nun auch Subworte bei Methodennamen. Das heißt, wenn man die Selektion über den getSelection()-Getter bekommen möchte, reicht es in Zukunft aus, selection zu schreiben (Abb. 4).

Abb. 4: Substring Code Completion

Abb. 4: Substring Code Completion

Zum Stichwort „gesucht und gefunden“ passt auch die „Quick Access“-Textbox, die nun auch aufgewertet wurde. Die Suche nach Commands, Views, Perspektiven und mehr ist intuitiver geworden, da z. B. nicht mehr anhand der Größe des Vorschlag-Pop-ups Einträge gefiltert werden. Zudem wird im Standardtext der „Quick Access“-Textbox zusätzlich das konfigurierte Keybinding angezeigt.

5. Full Screen Mode

Damit man sich voll und ganz auf das Coden konzentrieren kann, gibt es nun die Möglichkeit, sowohl die globale Toolbar als auch die Statusleiste auszublenden. Wem das noch nicht reicht, für den sorgt das Full-Screen-Kommando dafür, dass die gesamte IDE im Vollbildmodus angezeigt wird (Abb. 5).

Abb. 5: Full Screen Mode

Abb. 5: Full Screen Mode

6. Wordwrap

Mit dem Release von Eclipse 4.5 Mars wurde die Möglichkeit hinzugefügt, den Text in der Console-Ansicht zu wrappen. Für Neon wird nun auch das lang ersehnte Wrappen von Text in Editoren ermöglicht (Abb. 6).

Vogel_eclipse_6

Abb. 6: Wordwrap

So stark wie noch nie

Das Eclipse-IDE-Projekt ist aktuell so stark wie noch nie. Schaut man sich z. B. an, wer im Platform-UI-Projekt die Dinge antreibt, kann man die Beiträge vieler Entwickler sehen – von IBM, der vogella GmbH, Red Hat und Google. Aber auch viele private Contributoren wie Andrey Loskutov, Entwickler des populären Findbugs-Plug-in für Eclipse. Zudem hat die Eclipse Foundation inzwischen beschlossen, Entwicklungen im Bereich der Eclipse Platform zu bezahlen und diese damit noch weiter vorangetrieben. Der automatisierte Build- und Test-Prozess trägt ebenfalls zur Beschleunigung in der Entwicklung bei. Firmen wie Red Hat sorgen allmählich dafür, dass Eclipse auch in Nicht-Java-Bereichen die erste Wahl wird, wie z. B. bei JavaScript. Aber dazu mehr in einem der nächsten Berichte.

Geschrieben von
Lars Vogel
Lars Vogel
Lars Vogel ist Geschäftsführer der vogella GmbH, die Kunden im Bereich Eclipse, Android und anderen Themen unterstützt. Als Project-Management-Committee-Mitglied, Eclipse-Projektleiter und Committer hilft er dem Eclipse-Projekt. E-Mail: lars.vogel@vogella.com
Simon Scholz
Simon Scholz ist Eclipse Platform und e4 Committer. Er entwickelt auch am PDE, und Eclipse Gradle Tooling mit und nutzt seine langjährige Eclipse-RCP- und Plug-in-Erfahrung für Kundenimplementierungen, Eclipse-RCP-Workshops und Schulungen. Zudem hält er regelmäßig Vorträge auf Softwarekonferenzen bzgl. verschiedener Eclipse-Technologien.
Kommentare

Hinterlasse einen Kommentar

6 Kommentare auf "Lagebericht Eclipse-IDE: Sechs Highlights in Eclipse 4.6"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Objektivität
Gast

„Die JDT liefern die Java-Tools, die wir alle so schätzen und __lieben__ […]“ Wo bleiben hier bitte die journalistischen Standards einer „News“?

Redaktion JAXenter
Mitglied

Hallo „Objektivität“.

Vielen Dank für deinen Kommentar!

Es handelt sich hier nicht um eine „News“, sondern um eine Kolumne. Kolumnen enthalten üblicherweise subjektive Einschätzungen.

Viele Grüße!

JAXenter-Redaktion

Objektivität
Gast

Dürfen kommerzielle Anbieter nun auch „subjektive“ Einschätzungen zu ihren eigenen Produkten im Rahmen von „Kolumnen“? Wobei die o.g. Autoren ja auch ein kommerzielles Interesse an diesem Artikel haben als Eclipse-Berater.

Redaktion JAXenter
Mitglied

Kommerzielle Anbieter erhalten auf JAXenter keine eigene Kolumne zu ihren Produkten. Zu Eclipse als Open-Source-Plattform und vielschichte Entwickler-Community halten wir ein Kolumne aber für gerechtfertigt. In etwa so, wie wir Kolumnen zu Android, Java EE, NetBeans, Angular 2, Apache, IoT, Bitcoin, Agile, etc. für gerechtfertigt halten.

Viele Grüße,

Redaktion JAXenter

Objektivität
Gast

Dass Eclipse und andere OSS Projekte Ihre Kolumne hier erhalten, ist unbestritten. Die Frage ist, wer diese schreibt und mit welchem Hintergrund/Interesse.

Wo genau verläuft die Grenze? Dürften z.B. RedHat, Pivotal, … auch selber Kolumnen mit „subjektiven Einschätzungen“ zu ihren vielen OSS Projekten verfassen, trotz kommerzieller Interessen?

Da halte ich doch Interviews und klar gekennzeichnete „Pressemeldungen“ für geeigneter.

Christian
Gast
Wenn es einen Herrn RedHat oder eine Frau Pivotal gäbe, sowie es einen Lars Vogel und einen Simon Scholz gibt, dann würde ich auch von denen eine Kolumne auch mit „subjektiven Einschätzungen“ lesen können wollen. Da es sich aber um juristische Personen handelt, lieber nicht… Und bloß weil jemand mit einem Thema Geld verdient, heißt das nicht, dass ich keine Kolumnen mehr von diesen Personen lesen möchte. Oder soll ein Gernot Starke nun auch nichts mehr als Nicht-Pressemeldung veröffentlichen dürfen, bloß weil er „auch“ Bücher zu den vorgestellten Themen schreibt oder Verträge zu dem Thema hält. Über manche „Kritik“ kann… Read more »