Suche
EclipseSource Oomph Profile, Teil 2

Eclipse Insights: Unsere bevorzugten Eclipse-Einstellungen

Jonas Helming, Maximilian Kögel

(c)  Shutterstock / Fernando Batista

Wie wir in unserem vorherigen Artikel beschrieben haben, bieten wir ein Eclipse-Oomph-Profil mit unseren bevorzugten Plug-ins und Einstellungen an. Wer Oomph verwendet, kann diese Version von Eclipse mit nur einem Klick installieren. Im letzten Beitrag haben wir das Profil genauer vorgestellt und erklärt, woher man es bekommt. Wie versprochen, erläutern wir nun die vorgenommenen Anpassungen im Vergleich zu den Standard-Eclipse-Paketen genauer.

entwickler.tutorial - Microservices

Microservices mit Spring Boot, Spring Cloud und Docker

Eberhard Wolff

In diesem Tutorial wird man auf den Umgang mit Microservices vorbereitet. Eberhard Wolff erklärt zunächst, was Microservices eigentlich sind und mit welchen Chancen und Herausforderungen die Arbeit mit ihnen verbunden ist. Nachdem die Grundlagen etabliert wurden, erklärt er den Umgang mit der Container-Sofware Docker und den Umgang mit dem Spring Framework, die anhand eines Micoservices-Beispiels in der letzten Lektion noch einmal praktisch angewendet werden.

Wie versprochen, erläutern wir nun die vorgenommenen Anpassungen im Vergleich zu den Standard-Eclipse-Paketen genauer. Wir möchten mit ein paar Standard-Einstellungen anfangen, die für das Profil angepasst wurden. Diese Einstellungen werden automatisch vorgenommen, wenn das Oomph-Profil verwendet wird, sodass Sie sie nicht für jede neue Eclipse-Installation erneut durchführen müssen. Natürlich ist es aber immer möglich, diese Einstellungen zu verändern oder mehr Standard-Einstellungen Ihrer Wahl hinzuzufügen. Vor zwei Jahren hat Holder Staudacher bereits eine wertvolle Liste mit beliebten Preference-Einstellungen präsentiert. Wir möchten nun die wichtigsten davon beschreiben, die es in das Oomph-Profil geschafft haben.

Native Hooks oder Polling

Eine der häufigsten Beschwerden von Eclipse-Nutzern bezieht sich darauf, dass Inhalte, die im Eclipse-Workspace angezeigt werden, manchmal nicht synchron mit dem File-System sind. Das passiert, wenn Änderungen an einer Datei außerhalb von Eclipse vorgenommen werden und die Datei danach in Eclipse weiterbearbeitet wird, ohne F5 zu drücken. Viele Nutzer wissen allerdings nicht, dass es dafür eine einfache Lösung gibt. Eclipse bietet zwei Einstellungen an.

Die erste aktualisiert automatisch den Inhalt des Workspace, wenn die Datei extern geändert wird. Die zweite führt ein automatisches Update beim Öffnen durch, für den Fall dass es Änderungen gab. Mit diesen zwei Einstellungen ist es nicht mehr nötig, F5 zu drücken, wodurch eines der lästigsten Probleme mit Eclipse gelöst ist. Natürlich sind beide Einstellungen Teil des EclipseSource Oomph Profils.

image01

UTF-8

Eine andere Einstellung, die wohl jeder Eclipce-Entwickler schon mehrere hunderte Male geändert hat, ist die Codierung. In Zeiten der heterogenen Betriebssysteme wird typischerweise UTF-8 verwendet. Darum ist das der Standard in unserem Profil.

image02

Zeilennummern

Über Zeilenummern in Editoren wurde in der Vergangenheit bereits ausgiebig diskutiert. Wir wollen diese Diskussion nicht erneut öffnen und aktivieren einfach die Zeilennummerierung standardmäßig für alle Editoren.

image03

 

AWT-Pakete ignorieren

Funktionen wie Content Assist, Organize Imports und Quick Fix sind nützlich, um Arbeit beim Tippen zu sparen. Einige der Vorschläge sind aber nicht immer das, was man erwartet. Das kann daran liegen, dass Frameworks überlappende Namens-Schemata verwenden. Es gibt leider keine gute Standard-Lösung für diejenigen, die mit überlappenden Frameworks arbeiten müssen, außer der Verwendung von fortgeschritteneren Frameworks wie Code Recommender. Einige Dinge werden allerdings so gut wie nie verwendet, sodass es sinnvoll ist, die Pakete komplett aus dem entsprechenden Namespace zu entfernen.

Java AWT ist (in unserem Kontext) ein gutes Beispiel dafür. Es verursacht äußerst lästige Überschneidungen. Die Klasse “Composite” überschneidet sich mit der SWT Composite; die Klasse “List” mit Java. Da wir AWT in so gut wie keinem Projekt verwenden, haben wir entschieden, AWT komplett zu entfernen, sodass es nicht mehr im Content Assist oder Organzie Import erscheint.

Zu diesem Zweck stellt Eclipse sogenannte Type Filter zur Verfügung (Preferences -> Java -> Apperance -> Type Filters). Wenn Einträge zu dieser Liste hinzugefügt werden, werden alle entsprechenden Java-Klassen in den entsprechenden Features wie Content Assist, Organize Import und Quick Fixes verborgen. Wie der folgende Screenshot zeigt, können sogar Wildcards verwendet werden, um ganze Tress von Java Packages auszuschließen. AWT ganz zu verbergen ist eine Standard-Einstellung in unserem Oomph Profil.

image04

Auch “java.lang.Object” wird häufig verborgen. Das ist allerdings zurzeit kein Standard in unserem Profil. Der Vorteil an diesem Ausschluss wäre, dass Methoden wie notify(), notifyAll() oder wait() nicht mehr angezeigt werden. Allerdings würden auch Dinge wie toString() fehlen. Natürlich können Sie aber jeden Filter selbst hinzufügen, den Sie brauchen und ihr Profil so ihren spezifischen Bedürfnissen anpassen.

Mehr Arbeitsspeicher für Eclipse

Die letzte Einstellung, die wir uns ansehen möchten, ist eigentlich keine Preference, sondern ein Start-Up-Parameter von Eclipse. Wenn Eclipse ohne Anpassungen gestartet wird, verwendet es maximal 512MB Arbeitsspeicher. Das hat vor 10 Jahren gut funktioniert, komplexe Projekte brauchen heute aber mehr Arbeitsspeicher. Moderne Entwickler-Rechner bringen normalerweise 4GB RAM oder mehr mit. Darum ist unsere Standard-Einstellung 2GB pro Eclipse-Instanz.

-Xmx 2048m

Keine Einstellungen für Warnungen, Formatter etc?

Warum gibt es keine Einstellungen für Dinge wie Formatter, Compiler Warnings, Save Actions und so weiter in dieser Liste? Wir empfehlen, diese Einstellungen projektspezifisch vorzunehmen. Dadurch werden sie mit dem Quellcode verteilt, nicht mit unserem Oomph-Profil. Statt diese Einstellungen im allgemeinen Preference-Dialog von Eclipse vorzunehmen, können sie per rechtsklick auf ein Projekt durchgeführt werden. Dort wird dann “Properties” ausgewählt und angegeben, dass die Einstellungen projektspezifisch sind.

image05

Alle Einstellungen, die entweder den Compiler beeinflussen (z. B. Warnungen) oder den geschriebenen Code (z. B. der Formatter) sollten nicht für die Eclipse-Instanz vorgenommen werden, sondern über den Workspace für jedes Java-Projekt (oder -Bundle) einzeln. Dafür gibt es drei gute Gründe. Zum ersten unterliegen projektspezifische Einstellungen der Version Kontrolle. Dinge wie der Formatter haben direkten Einfluss auf den Code und sollten synchron mit der aktuellen Code-Basis sein, falls sie bearbeitet werden. Für verschiedene Zwecke, beispielsweise alten und neuen Code oder Test- und Non-Test-Code, können außerdem unterschiedliche Einstellungen sinnvoll sein. Zum zweiten werden projektspezifische Einstellungen direkt angewendet, wenn ein Projekt geöffnet wird. Sie sind unabhängig von den Einstellungen in der eigenen Eclipse-Installation des Betrachters. Zum dritten und wichtigsten gehören diese Einstellungen zum Projekt, nicht zu einer Eclipse-Instanz. Wenn  man an zwei Java Projekten arbeitet, die man aus zwei unterschiedlichen Open-Source-Projekten bezogen hat, können diese zwei unterschiedliche Formatter verwenden. Einen Formatter für die Eclipse-Instanz einzustellen würde in diesem Fall nicht funktionieren. Das gleiche trifft auf Warnungen zu, wenn sie nicht in einem projektspezifischen Kontext verwendet werden. Die Ergebnisse könnten dadurch bei anderen Mit-Entwicklern ganz anders aussehen. Darum sollte jedes Java-Projekt mit seinen spezifischen Einstellungen verteilt werden.

Es macht aber natürlich Sinn, die gleichen Einstellungen für mehrere zusammengehörige Java-Projekte zu verwenden. Open-Source-Projekte stellen beispielsweise häufig gemeinsame Projekt-Einstellungen für alle neuen Java-Projekte oder Bundles zur Verfügung, die im Kontext ihres Projekts entwickelt werden. Ein einfacher Weg, um projektspezifische Einstellungen von einem existierenden Java-Projekt auf ein Neues zu übertragen, ist das Kopieren des Inhalts des “.settings”-Ordners. Dieser befindet sich im Root-Ordner jedes Eclipse-Projekts. Alternativ enthält das Oomph-Projekt einige Tools um projektspezifische Einstellungen zu synchronisieren und unbeabsichtigte Abweichungen in den Einstellungen zu erkennen.

Wir hoffen, dass unsere Standard-Einstellungen gut für Sie geeignet sind. Beachten Sie aber bitte, dass Sie jede Einstellung jederzeit verändern können. Sobald sie die Preferences verändern, wird ein Fenster Sie fragen, ob sie die Veränderungen aufnehmen wollen. Wenn Sie das tun, werden sie in jede Ihrer künftigen Installationen übernommen. Wenn Sie denken, dass Ihre Anpassung für die meisten Nutzer interessant wäre, kontaktieren Sie uns bitte und wir überlegen dann, ob wir sie in das Original-Profil übernehmen wollen.

Sie können uns über dieses GitHub-Projekt Probleme melden und Feedback geben.

Im nächsten Teil unserer Kolumne werden wir einige der zusätzlichen Plugins beschreiben, die wir dem Oomph-Profil hinzugefügt haben.

Bis dahin, viel Spaß mit unserem EclipseSource Oomph Profile!

 

 

Im englischen Original erschienen auf dem EclipseSource Developer Blog, einem Blog über Eclipse-Technologien, Modellierung, RAP, Mobile-Entwicklung, sowie allgemeine Entwicklerthemen aus dem Java- und JavaScript-Umfeld.

Aufmacherbild: The eye of God Solar Eclipse von Shutterstock / Urheberrecht: Fernando Batista

Geschrieben von
Jonas Helming
Jonas Helming
Dr. Jonas Helming ist Geschäftsführer der EclipseSource München GmbH sowie Consultant, Trainer und Software Engineer im Bereich Eclipse-Technologie. Seine Schwerpunkte liegen neben Java auf den Technologien Eclipse RCP, Eclipse-Modellierung und Eclipse 4. Weiterhin verfügt er über mehrjährige Erfahrung in der Etablierung und Anwendung von agilen Prozessen. Jonas ist aktives Mitglied der Eclipse-Community, leitet mit der EMF Client Plattform und dem EMFStore zwei bei der Eclipse Foundation gehostete Open-Source-Projekte und ist in einigen weiteren aktiv beteiligt. Als Berater und Trainer verfügt er über mehrjährige Erfahrung in der Vermittlung von Themen rund um Java und Eclipse sowie agilen Prozessen und hält einen Lehrauftrag der Technischen Universität München. Darüber hinaus ist er als Speaker regelmäßig auf Kernkonferenzen wie der JAX oder der EclipseCon. Kontakt: jhelming@eclipsesource.com
Maximilian Kögel
Maximilian Kögel
Dr. Maximilian Kögel ist Geschäftsführer der EclipseSource München GmbH und arbeitet als Senior Software Architect im Bereich Eclipse- und Web-Technologie. Neben seiner Fokussierung auf das Eclipse Modeling Framework und Eclipse RCP ist er auch mit der Entwicklung von Webapplikationen mit AngularJS, Web Components und JSON Schema vertraut. Ein Kernthema seiner Arbeit ist das Erstellen von Modellierungswerkzeugen basierend sowohl auf einem Eclipse- als auch einem Web Technologiestack. Er ist ein aktives Mitglied der Eclipse-Community, regelmäßiger Sprecher auf EclipseCons, Leiter und Committer bei mehreren Eclipse Projekten, u.a. EMFForms und EMF Core und nicht zuletzt Mitglied im Eclipse Architecture Council. Auch außerhalb des Eclipse Ökosystems ist er in Open-Source-Projekten aktiv und leitet z.B. das JSONForms-Projekt zur Entwicklung von Web-Applikationen. Als Berater und Trainer verfügt er über langjährige Erfahrung in der Anwendung und Vermittlung von Expertenwissen rund um Java, Eclipse und Web-Technologien sowie agilen Prozessen.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: