Eclipse Luna

Aus Salber.net

Wechseln zu: Navigation, Suche

Luna ist die Version 4.4 von Eclipse und damit die Nachfolgerversion von Kepler. Die erste Luna-Version ist im Juni 2014 erschienen.

Basiseinstellungen

  • Voreingestellt sind als maximaler Heap 512MB. Das kann in Eclipse.app/Contents/MacOS/eclipse.ini konfiguriert werden. Ich ändere -Xmx512m auf -Xmx2g.

Installation und Plugins

Ausgehend von der Eclipse IDE for Java Developers habe ich danach noch folgende Plugins installiert:

Konfiguration

Hier ein paar Einstellungen, die ich vorgenommen habe:

  • General
    • Editors
      • Close editors automatically: Diese Option habe ich eingeschalten, da beim Navigieren durch den Quellcode oft viele Editoren geöffnet werden und dies dann oft unübersichtlich wird. Wenn eine spezielle Datei tatsächlich länger geöffnet bleiben soll, kann man sie "anpinnen". Ansonsten ist mit Hilfe der Navigationsmöglichkeiten z.B. eine Klasse auch schnell wieder geöffnet.
      • Number of opened editors before closing habe ich auf 5 eingestellt.
      • When all editors are dirty or pinned habe ich auf Open new editor gestellt.
      • Text Editors
        • Spelling
          • Enable spell checking: Da ich oft Kommentare auf Deutsch, deshalb stört die englische Rechtschreibprüfung. Deshalb schalte ich das aus.
  • Java
    • Compiler
      • Errors/Warnings: Ich möchte gerne sauberen Code schreiben und deshalb soll mich die Entwicklungsumgebung auf so viele potenzielle Probleme hinweisen wie möglich. Daher stelle ich hier alles auf Warning bzw. auf On mit Ausnahme von:
        • Name shadowing and conflicts
          • Local variable declaration hides another field or variable
            • Include constructor or setter method parameters: Das habe ich ausgeschalten.
        • Deprecated and restricted API
          • Forbidden reference (access rule): Das bleibt auf der Standard-Einstellung Error. Diese Warnung ist zwar eher nur für die Entwicklung von Eclipse-Plugins relevant, schadet aber auch nichts.
        • Unnecessary code
          • Value of parameter is not used: Hier habe ich den Unterpunkt Ignore in overriding and implementing methods ausgeschalten. Wenn ich einen Parameter nicht verwende, sollte das eine bewusste Entscheidung sein, die dokumentiert werden sollte. Vielleicht brauche ich den Parameter ja eigentlich eh nirgendwo, dann könnte ich ihn auch aus dem Interface löschen…
          • Ignore unused parameters documented with '@param' tag: Das habe ich bis auf weiteres auch ausgeschalten, damit ich auch in diesen Fällen eine Warnung bekomme. Könnte man aber auch eingeschalten lassen…
          • Unnecessary declaration of thrown exception: Auch hier habe ich alle drei dazugehörigen Ignore … ausgeschalten, damit ich immer informiert werde.
        • Generic types
          • Ignore unavoidable generic type problems due to raw API: Ich möchte selbst entscheiden, was unvermeidbar ist, also ist auch diese Option ausgeschalten.
        • Annotations
          • Suppress optional errors with '@SuppressWarings' unter Enable '@SuppressedWarnings' annotation: Auch das ist aus, unterdrücken von Fehlern ist meistens keine gute Sache.
        • Null analysis
          • Null pointer access: Bei der Verwendung von Enable annotation-based null analysis wird für diese Einstellung Error vorgeschlagen, deshalb nehme ich das auch
          • Potential null pointer access: Auch hier wird Error vorgeschlagen und von mir verwendet
          • Violation of null specification: Ebenso Error
          • Conflict between null annotations and null interface: Auch hier Error
          • Use default annotations for null specifications: Da ich nicht die Eclipse-Annotationen verwende, ist diese Einstellung aus.
          • Inherit null annotations: Ich möchte überall eine @Nullable-Annotation, wenn ich null erlauben möchte, also ist diese Einstellung aus.
          • Enable syntactic null analysis for fields: Bleibt auch ausgeschalten, ich verwende lieber lokale Variablen, wenn nötig.
        • Treat above errors like fatal compile errors: Braucht nicht sein, also aus.
      • Javadoc: Ich möchte auch über nicht kommentierte Methoden und falsch formatierte Javadoc-Kommentare informiert werden. Deshalb schalte ich hier mal alles auf Warning ein, alle Ignores aus, alle Includes ein und alle consider member-Felder auf Private, mit folgenden Ausnahmen:
        • Missing Javadoc tags
          • Only consider members as visible as: Nur außerhalb der Klasse verwendbare Methoden müssen vollständig dokumentiert sein, also Package.
        • Missing Javadoc comments
          • Ignore in overriding and implementing methods: Das schalte ich ein, die Dokumentation wird bei den Interfaces angefordert.
    • Installed JREs
      • Damit während der Entwicklung immer die assert Statements ausgeführt werden, kann unter Edit, Default VM arguments der Wert -ea (für Enable Assertions) eingetragen werden.
  • TestNG
    • Output directory: Da ich hauptsächlich mit Maven-Projekten arbeite, sollten auch die Ausgaben von Unit-Tests im target-Verzeichnis landen. Deshalb stelle ich diesen Wert auf /target/test-output.

TODO: Noch Dinge aus Kepler übernehmen

Persönliche Werkzeuge