= Eclipse richtig konfigurieren =

Alles, was auf dieser Seite steht, sind natürlich nur Ideen und Vorschläge. Jeder hat seine eigene Umgebung und seine eigenen Bedürfnisse. Allerdings habe ich in den letzten Monaten Eclipse bestimmt achtmal komplett neu installiert und dabei festgestellt, daß ich die immergleichen Einstellungen immer wieder machen musste. Deshalb habe ich begonnen, mir eine Liste zu machen. Dazu habe ich versucht, den Grund für die Einstellung anzugeben. Vielleicht ergibt sich so ja auch die eine oder andere Diskussion über die optimalen Einstellungen. Das ist durchaus erwünscht. -- ThomasBayen


== Aufruf ==

Ich erzeuge mir jeweils ein Icon im KDE-Panel. Im Eclipse-Hauptverzeichnis befindet sich zu diesem Zweck übrigens ein schönes Icon. Der Startbefehl kann durch Java-Optionen erweitert werden, also z.B. so:

  /opt/eclipse/eclipse -Xmx 512M -XX:MaxPermSize=128m

Die erste Einstellung ist der normale Heap-Speicher. Da benötigt man eine Erhöhung, wenn man mit BIRT oder anderen Monstern arbeiten will. Die zweite Einstellung ist weniger bekannt und betrifft den sog. Perm-Speicher für den Classloader. Entsprechende Fehlermeldungen traten bei mir besonders auf einem AMD64-System auf. Könnte sein, daß die 64-Bit-Architektur mehr Speicher benötigt.



= Konfiguration von bestimmten Views =

== Problems ==

* Konfiguration mit Button oben rechts im View und dem Menüpunkt "Configure Contents...": Hier möchte ich die Einstellung "on any element in same project" aktivieren. Das kann man am einfachsten machen, indem man in der Liste links die Configuration "Errors/Warnings on project" mit einem Häkchen auswählt.

Diese Einstellung erleichtert den Umgang mit mehreren Projekten gleichzeitig ungemein, weil Projekte von anderen Leuten je nach meinen Einstellungen oftmals hunderte von Warnings produzieren, die mich gar nicht interessieren.


== Package Explorer ==

Konfiguration mit Button oben rechts im View:
* Package Presentation: Hierarchical (finde ich einfach viel übersichtlicher weil kürzer)



= Konfiguration in den Preferences =

== General ==

=== Editors / File Associations ===

Hier kann man z.B. einen neuen Filetyp "*.odt" einrichten und dann "/usr/bin/soffice" als Applikation angeben.


=== Editors / Text Editors ===

==== Quick Diff ====

* Show Differences in Overview Ruler
* Use this Reference Source: ''SVN Working Copy Base'' bzw. ''~MercurialEclipse Quick Diff''

Nur sinnvoll, wenn das Subversion-Plugin (bzw. das Mercurial Eclipse Plugin) installiert ist: Zeigt die aktuellen (nicht ins Repository gesicherten) Teile des Dokuments rechts daneben (im Ruler) an.

==== Spelling ====

* "Enable spell Checking" ausschalten

Wer braucht denn sowas wie überall rot unterstrichene Texte in Quelltexten?

== Ant / Runtime ==

Nur bei Benutzung von FlyingAnt 1: Eclipse erzeugt bei Benutzung eines FlyingAnt-Skripts im Problems-View zwei Warnungen bzgl. des build-Skripts. Will man die wegbekommen, so muss man die FlyingAnt-Bibliotheken im lib-Verzeichnis des FlaingAnt-Projektes global im Ant in den Classpath einbinden. Ich habe dies unter "Global Entries" gemacht. (FlyingAnt 2 lädt seine abhängigen Bibliotheken selber und baut sie nachträglich in seinen eigenen Classpath ein)

== Java ==

* Action on double klick in package explorer: Go into...

Wenn man mit mehreren Projekten gleichzeitig arbeitet, kann man so das Explorer-View nur auf ein einzelnes Projekt fokussieren, was u.U. übersichtlicher sein kann.

=== Code Style ===

==== Code Templates ====

* Comments -> overriding methods: aus "/* (non-Javadoc)" habe ich "/**" gemacht.
* Comments -> Types: oben einfügen "TODO Klassenbeschreibung für ${type_name}"; unter @author die Leerzeile weg
* Comments -> Fields: folgendes einfügen "${field}"
* Code -> Catch Block Body: Ersetzen durch: "throw new PanicException(${exception_var});"

Ich bin ein grosser Freund von anständigen, Javadoc-konformen Kommentaren, die so quasi erzwungen werden.

=== Compiler ===

==== Errors / Warnings ====

* Potential Programming Problems: Serializable class without serialVersionUID: '''Ignore'''
: Soweit ich das verstanden habe, wird eine solche ID generiert, wenn keine angegeben ist. Die generierte versucht dabei festzustellen, ob sich an den Feldern der Klasse etwas geändert hat und ergibt ggf. einen anderen Wert. Dadurch sind serialisierte Objekte u.U. recht schnell nicht mehr zu verwenden und man kann die Serialisierung nicht zur Persistenz, sondern höchstens für RPC oder sowas nutzen. Im Grunde ist das genau das, was ich will.

==== Javadoc ====

Diese Einstellung ist eventuell Geschmackssache. Ich bin gerne kompatibel zu den Standardeinstellungen meines Ant-Skripts, damit ich nicht beim Ausführen dieses build-Skript Überraschungen erlebe. Grundsätzlich sollte man meiner Meinung nach nie ohne Javadoc und nie ohne Kommentar zu jeder Methode arbeiten. Ob man auch auf jedes einzelne Tag Wert legt, soll jeder selber wissen.

* Malformed Javadoc Comments: Warning
** Only consider members as visible as: protected
* Missing Javadoc Tags: Warning
** Only consider members as visible as: protected
* Missing Javadoc Comments: Warning
** Only consider members as visible as: protected

=== Editor ===


==== Content Assist ====

* Fill argument names on completion: Ja (sollte schon eingeschaltet sein)
* Guess filled method arguments: Ja

===== Favorites =====

Hier kann man dafür sorgen, das automatisch statische Imports erzeugt werden. Bei mir steht dort z.B.

  org.junit.Assert.*  (Eclipse 3.2)

oder

  org.junit.Assert  (Eclipse 3.4)

Das erleichtert das Schreiben von Unittests mit JUnit.

==== Save Actions ====

* Format Source Code: Ja
* Organize Imports: Ja

== Run / Debug ==

=== Launching ===

* Always Launch the previously launched application

:: ''ist sonst sehr nervig, wenn man mit mehreren Projekten parallel arbeitet, z.B. bei der Entwicklung einer Bibliothek, die in einer getrennten Applikation benutzt wird.''

== Team ==

=== SVN -> SVN Connector ===

''(Die SVN-Einstellungen kommen natürlich nur vor, wenn auch das Subversion-Plugin installiert ist.)''

* SVN Kit (ist das nicht auszuwählen, muss das Connector Plugin noch installiert werden)

=== SVN -> Comment Templates ===

Hier gebe ich einige oft benutzte Texte vor wie die folgenden:

* Dokumentation bearbeitet
* Kleinere Änderung / Formatierung / Korrektur
* Todos bearbeitet



= Sonstige Konfigurationen =

== Perspektiven-Auswahl ==

Im Menü "Window -> Customize Perspective..." wählen und das Submenü "Open Perspective" auswählen. Dort dann dafür sorgen, daß die gewünschten Perspektiven direkt per Menü anwählbar sind (bei mir ist das insbesondere die "SVN Repository Exploring" Perspektive).

== Konfigurationen je Projekt ==

Die folgenden Einstellungen müssen für jedes Projekt neu gemacht werden. Sie gelten allerdings als Teil der globalen Einstellungen, werden also nicht im Projektverzeichnis gespeichert und auch nicht mit dem Projekt z.B. in ein SVN geschrieben.

== JUnit-Runconfiguration ==

Mein Projekt einmal starten mit "Run as... JUnit". Dann über das Menü des Run-Buttons "Open Run Dialog...". Den Namen ändern ("JUnit" anhängen) und ggf. über das Menü des Run-Buttons noch in die Favoriten aufnehmen.

== Ant-build ==

Auf die build.xml mit einem Rechtsklick und dann "Run as Ant build..." auswählen. Dort dann einen Task, z.B. "dist" oder "all" auswählen, den Namen der Konfiguration entsprechend anpassen ("... dist") und starten. Danach über den Startbutton evtl. zu den Favoriten zufügen.

== Tastenkombination in KDE freigeben ==

Wenn ich unter KDE arbeite, ist die Tastenkombination "Ctrl-F11" reserviert, um auf die Arbeitsfläche 11 zu wechseln (Hallo!?!?!). Wenn man das im Kontrollzentrum (Regionaleinstellungen -> Tastenkürzel, Registerkarte "Tastenkürzel-Serien") ausschaltet, kann man in Eclipse diese Tastenkombination wie vorgesehen benutzen, um das zuletzt gestartete Programm neu zu starten.

Alternativ kann man natürlich auch in den Eclipse-Preferences unter "General -> Keys" eine andere Tastenkombination wählen (viel Spaß beim Finden einer noch nicht benutzten!). -- ThomasBayen

----
[{Tag Eclipse}]