= Plugins installieren =

Wenn man zusätzliche Funktionen über das reine Entwickeln von
Java-Code hinaus nutzen will, kann man sog. Plugins einbinden.
Hierfür gibt es in Eclipse eine recht nette eigene Paketverwaltung
im Menü unter ''Help -> Software Updates -> Find and
Install''. Man kann dort Paketquellen (als URL) angeben und dann
die unter dieser URL erreichbaren Plugins auswählen und
installieren. Leider muss dazu ein Server, der das
Plugin-Repository anbietet, entsprechend konfigurieret sein (was
wohl nicht so einfach ist), deshalb gibt es auch einige Plugins,
die man herkömmlich herunterladen und dann im
Eclipse-Hauptverzeichnis auspacken muss. Diese Pakete kann man dann
natürlich nur noch sehr schwer wieder deinstallieren.

Plugins sucht man zum Beispiel über
[EPIC|http://www.eclipseplugincentral.com]. Dies ist eine Webseite,
die alle Plugins auflistet und suchen kann.

= Plugins =
* [http://eclipse-cs.sourceforge.net/ checkstyle]
* [http://m2eclipse.codehaus.org/ maven]


== Groovy ==

Auf der Seite http://groovy.codehaus.org/Eclipse+Plugin ist erklärt, wo man das Groovy-Plugin bekommt. Es erlaubt, reine [Groovy]-Projekte zu bearbeiten, ermöglicht aber auch die nahtlose Zusammenarbeit zwischen Groovy- und Java-Code in einem Projekt.


== Gradle ==

In diesem [Blog-Eintrag|http://kaczanowscy.pl/tomek/2010-03/gradle-ide-integration-eclipse-plugin] steht ein Link auf ein Gradle-Plugin für Eclipse. Es sorgt dafür, daß Gradle-Files als Groovy-Code erkannt und entsprechend bearbeitet werden können. Eine offizielle Homepage dieses Plugins habe ich noch nicht gefunden.


== Ivy ==

Ivy ist ein Abhängigkeits-Management Tool, das in diesem Bereich genauso gut funktioniert wie Maven, ohne das man dazu alle anderen Maven-Eigenschaften mitnehmen muss. Ein ordentliches Eclipse-Plugin gibt es unter http://ant.apache.org/ivy/ivyde/index.html


== ~TestNG ==

[http://testng.org/doc/documentation-main.html TestNG] ist ein Test-Framework, das JUnit ersetzen soll und etwas moderner ist. Es gibt ein Plugin unter http://testng.org/doc/download.html , über das ich bisher noch nicht so viel sagen kann. Ich werde es bei Gelegenheit mal antesten.


== Mercurial-Eclipse ==

Dieses Plugin erleichtert viele (wenn auch nicht alle) Aufgaben mit der MercurialVersionControl. Es war bisher unter http://www.vectrace.com/mercurialeclipse/ zu bekommen. Nun scheint es nach http://javaforge.com/project/HGE umgezogen zu sein, wo man sich jedoch anmelden muss, um an die update site zu kommen. Über diese Tatsache muss sich das Team so zerstritten haben, daß es unter http://code.google.com/a/eclipselabs.org/p/mercurialeclipse/ eine neue, freie Update-Site (und ggf. bald einen Projekt-Fork) gibt.

Eine kurze Erklärung gibts auf der Seite [SwingApplikation.Projektumgebung].

Das Plugin kann aus technischen Gründen keine Eingaben vom Benutzer an ein von Mercurial (siehe MercurialVersionControl) aufgerufenes ssh (siehe OpenSSH) weiterreichen. Wer also Mercurial über ssh nutzen will, benötigt zusätzlich noch das Debian-Paket '''ssh-askpass'''. Näheres zum Passwortlosen einloggen auf OpenSSH oder z.B. auch unter http://youarepeople.blogspot.com/2008/10/mercurial-eclipse-over-ssh.html.


== Subversion Plugin ==

Standardmäßig hat Eclipse eine sehr gute CVS-Einbindung. Dennoch
ist SubVersion ein etwas moderneres Versionskontrollsystem.
Insbesondere ist es mit SubVersion auch möglich, Dateien (oder
ganze Bäume) umzubenennen zu verschieben, was immer schon ein
Problem bei CVS war. Für den Umgang mit SubVersion Repositories benutze ich das inzwischen offizielle Eclipse-Plugin [Subversive|http://www.eclipse.org/subversive/] (Alternativ gibt es noch [Subclipse|http://subclipse.tigris.org/]). Subversive setzt standardmäßig auf einem "pure Java" SVN-Client auf, was auf außergewöhnlichen Plattformen vielleicht ein Vorteil ist.

Im März 2008 ist Subversive ein eigenes Eclipse-Projekt geworden. Allerdings ist der Download noch über zwei verschiedene Update-Sites verteilt. Der Hauptteil auf dem Eclipse-Server und die SVN Connectors auf dem Polarion Server. Beide müssen angegeben werden. Dann habe ich den SVNKit-Connector ausgewählt, weil dieser ohne native Bibliotheken auskommt und vollkommen plattformunabhängig ist.


== Maven M2-Eclipse ==

Unter http://m2eclipse.codehaus.org/ gibt es ewin recht gutes [Maven] Plugin. Es stellt eine Alternative zum Maven-Plugin "eclipse:eclipse" dar. Letzteres erzeugt aus einem Maven-POM die von Eclipse benutzten Settings-Dateien. Diese Konfiguration kann dann in einem normalen Eclipse (ohne M2-Plugin) benutzt werden. Allerdings darf man dann von Eclipse her keine Änderungen an der Konfiguration vornehmen, da diese nicht wieder ins POM zurückfliessen. Das M2 Plugin erlaubt beide Richtungen, muss aber dafür explizit installiert sein.



== [Web Standard Tools|http://www.eclipse.org/webtools/wst/main.html] (u.a. HTML-Editor) ==

Bisher habe ich noch nicht den idealen Weg gefunden, um HTML zu
editieren. Irgendwie scheint die Auswahl an Plugins zum Thema
"Webentwicklung" so gross zu sein, dass man den Wald vor lauter
Bäumen nicht sieht.

Grundsätzlich gibt es ein [Eclipse Webtools Project|http://www.eclipse.org/webtools/] direkt auf der Eclipse Homepage. Um einen
HTML-Editor zu bekommen, habe ich daher folgende update-Site in
mein Eclipse eingetragen:
{{{
  http://download.eclipse.org/webtools/updates/
}}}
Danach habe ich das "WST-Paket"
([Web Standard Tools|http://www.eclipse.org/webtools/wst/main.html]) installiert (und alle dazu benötigten, wozu man einen
Extra-Button drücken muss). Als einzige weitere Einstellung musst
ich in den Preferences in General -> Editors -> File
Associations für HTML-Dateien den HTML-Editor als Default
einstellen.

Nun habe ich einen hübschen und gut integrierten HTML-Editor. Er
hat Syntax-Highlighting, es gibt eine Auto-Vervollständigung (wie
in Java), es gibt ein Auto-Format (mit Strg-Shoft-F wie in Java).
Es gibt auch einen CSS-Editor, den ich allerdings bisher noch nicht
probiert habe. Im Allgemeinen fühle ich mich mit diesem Plugin wohl
und habe mein Ziel erreicht. Was WST sonst noch alles bietet, werde
ich dann wohl noch merken. Die Website ist auf jeden Fall
grauenhaft, wenn es darum geht, zu erklären, was das Paket
eigentlich tut... -- ThomasBayen



== Datatools ==

Das Datatools-Plugin dient zum Umgang mit Datenbanken. Wer hier ein Tool wie phpmyadmin erwartet, wird stark enttäuscht sein. Zum direkten Editieren taugt das Plugin so gut wie gar nicht. Allerdings dient es als Basis für ein paar andere Plugins, so benutzt z.B. BIRT u.U. die in den Datatools angelegten Datenquellen für seine Reports.

=== Besonderheiten für HSQL ===

Ich musste in den Preferences den konkreten Treiber für HSQLDB noch anlegen und dabei auch das *.jar-File mit dem Treiber angeben. Danach konnte ich problemlos auf meine HSQLDB-Datenbank zugreifen. Der Name für "database", den man angeben soll, sollte einen nicht verwirren, ich konnte nicht feststellen, daß er für irgendwas benutzt wird: Der Pfad, der darunter angegeben wird, ist der Name der Datenbank-Files ohne Endungen.


== Testing and Performance Tools Platform ==

TPTP enthält unter anderem ein sehr gutes Profiling-Tool, das einem sehr hilft, den Verbleib seiner Rechenzeit und seines Speichers nachzuverfolgen. Es ist allerdings recht ressourcenhungrig.

=== Links: ===

* http://www.eclipse.org/tptp/home/project_info/general/whatisTPTP.php

=== Installation ===

Mit dem normalen Update-Manager habe ich die folgenden Pakete von der "Europa Discovery Site" angekreuzt und installiert:

* TPTP Monitoring Tools Project
* TPTP Tracing and Profiling Tools Project
* "Select Required" anklicken

Der integrierte Agent Controller lief bei mit auf zwei Rechnern nicht von selbst. Von der Download-Seite des Eclipse-TPTP-Projektes muss man deshalb noch das "Agent Controller Runtime"-Paket herunterladen und in ein eigenes Verzeichnis entpacken. Dann konfiguriert man diesen mit 

  cd bin; ./SetConfig.sh"

Auf einem Rechner war es noch nötig, die folgenden Dateien nach "/usr/lib" zu kopieren. (Sicher keine hübsche Lösung, aber die gibt  es in keinem aktuellen Paket mehr).

  libstdc++-3-libc6.2-2-2.10.0.so
  libstdc++-libc6.2-2.so.3

Starten kann man den Agent Controller dann mit

  ./ACStart.sh

Jetzt hat man neben dem Startbutton oben in der Toolleiste von Eclipse einen Profile-Button. Dieses drückt man, um sein Projekt im Profiler zu starten. Das Programm läuft dann ganz normal (wenn auch etwas langsamer) ab. Am Ende des Programmlaufs (oder auch mittendrin, wenn man will) kann man sich dann die Ergebnisse anschauen.



== Visual Editor ==

Der Visual Editor erlaubt, GUIs per Maus zu erstellen, aus denen dann automatisch Java-Code erzeugt wird. Er war im Eclipse Callisto Release enthalten, ist aber interessanterweise in Eclipse Europa nicht mehr automatisch drin. Es soll wohl auch möglich sein, ihn mit einem aktuellen, aber gepatchten Eclipse zu benutzen, aber wer es halbwegs einfach haben will, sollte ein älteres Eclipse nehmen... :-(



== sonstige interessante Plugins ==

Diese Liste von interessanten Plugins hat sich in unserem Wiki angesammelt:

* http://quantum.sourceforge.net - Plugin für SQL
* http://freemarker.org/eclipse.html - Plugin für die Freemarker
Template-Bibliothek
*
http://www.eclipse.org/webtools/wst/components/ws/download_instructions_for_jars.html
- Anleitung für Web Services plugin (Erstellung von *.war Dateien)
* http://www.open-steam.org/wiki/WebServiceDevSetup.wiki s.o.
* http://www.tutego.com/java/eclipse/plugin/eclipse-plugins.html - gute Liste von Plugins (auch ansonsten eine interessante Seite)
* [Subversive|http://www.eclipse.org/subversive] - sehr gutes SubVersion-Plugin
* http://subclipse.tigris.org - alternatives SubVersion-Plugin
* http://www.eclipse.org/webtools/ - Eclipse Webtools Project (WTP)
* http://www.eclipse.org/webtools/wst/main.html - Eclipse Web
Standard Tools (WST)
* [EclipsePlugin.Datatools]
* [EclipsePlugin.BIRT]
* [Jasper Business intelligence PlugIn f. Eclipse|http://www.jasperassistant.com/] - eine voll funktionsfähige Evaluationsversion gibt es [hier|http://www.jasperassistant.com/download/JasperAssistant_3.1.1_Eclipse3.x.zip]


----
[{Tag Eclipse}]