Einführung in eclipse Was ist eine IDE? Integrated Development Environment (Integrierte Entwicklungsumgebung) Umgebung mit Komponenten zur Software-Entwicklung. Typisch sind: - Projektverwaltung und Dateinavigator - Texteditor mit Quelltextformatierung und syntax highliting - Code-Vervollständigung und Code-Vorlagen - (kontextsensitive) Unterstützung durch ein Hilfesystem - Compiler, Linker -Debugger Nutzen Eine IDE unterstützt den Programmierer, indem sie möglichst viele Tools zur Software-Entwicklung in einem Programm auf nützliche Art vereint. Page 1
Übersicht IDEs für Java eclipse, http://www.eclipse.org - Open Source, gratis NetBeans, http://www.netbeans.org - Open Source Lizenz, gratis Emacs: http://www.gnu.org/software/emacs/emacs.html - Open Source, gratis - Textbasierte- wie auch grafisce Interfaces verfügbar JetBrains IntelliJ IDEA, http://www.intellij.com - Kommerzielle Lizenz - Personal License $299 - Standard License $499 Oracle JDeveloper 10g, http://www.oracle.com/technology/products/jdev/index.html - Kommerzielle Lizenz - Vollversion $995 - Unbegrenzte Testversion zum Download verfügbar Was ist eclipse? Modulare Open Source Software Entwicklungsumgebung, ursprünglich entwickelt und unterstützt von IBM Im Jahr 2001von IBM an die Open Source Community übergeben Primär für Java, aber auch für C/C++, Perl, PHP und mehr via Plugin Aktuelle Version (Januar 2006): 3.1.2 Informationen und Download: http://www.eclipse.org Page 2
Systemanforderungen Windows, Linux und Mac OS werden unterstützt (+ noch weitere Systeme) 256 MB RAM 160 MB Hard Disk Java runtime environment (JRE) oder Java software development kit (JDK) eclipse ist vorinstalliert auf den Rechnern im Biozentrum 105 und Pharmazentrum U1075. Empfehlungen Installation des JDK bringt Java Sourcecode, welcher zu besserer kontextsensitiver Hilfe führt hohe Bildschirmauflösung viel Arbeitsspeicher (512MB+) Erste Schritte mit eclipse Neues Projekt erstellen eclipse starten auswählen des workspace. Dort werden alle Projekt- und Java-Files gespeichert. erstellen eines neuen Projekts: File -> New -> Project -> Java Project Neues Package/Klasse erstellen File -> New -> Package File -> New -> Class.java Files können auch von Hand in das Projektverzeichnis kopiert werden, allerdings werden sie erst nach einem Refresh (File -> Refresh) angezeigt. Page 3
Erste Schritte mit eclipse Klassenpfade Eclipse hat eine eigene Classpath-Verwaltung, ist also unabhängig von der CLASSPATH-Systemvariable Um mit externen Klassen zu arbeiten, können diese sehr einfach in eclipse importiert werden: Project -> Properties -> Java Build Path -> Libraries -> Add external JARs Kompilierung Vor dem ersten Mal sollte eine run configuration erstellt werden. Nötige Schritte: Diejenige Klasse öffnen, welche die main-methode enthält Run -> Run unter Arguments alle nötigen Argumente eingeben Run Erste Schritte mit eclipse Kompilierung Danach sind diese Einstellungen gespeichert und das Programm kann mit Ctrl+F11 direkt kompiliert und gestartet werden. Ausgabe eclipse verwendet eine eigene Konsole, auf welcher die Ausgabe standardmässig angezeigt wird. Page 4
Perspectives Perspectives sind logische Sichten mit zusammengehörigen Ansichten, Editoren, Menu- und Toolbareinträgen. Java Perspective: Editieren von Java Quelldateien Java Browsing: Browsen von Packages, Klassen und Methoden Debugging Perspective Perspectives werden immer für eine bestimmte Aufgabe verwendet. Möchte man z. B. Java Quelldateien editieren, so wird man die Java Perspective verwenden, möchte man Anwendungen debuggen, so wird man die Debug Perspective verwenden. Die wichtigsten Funktionen Codeformatierung eclipse formatiert Code automatisch und nach beliebig konfigurierbaren Richtlinien. Ctrl+Shift+F oder Source -> Format Anpassung des Code Styles Empfehlungen: Number of imports needed for.* tiefer setzen blank lines before field declaration: 0 Window -> Preferences -> Java -> Code Style Page 5
Die wichtigsten Funktionen (2) Content Assist Code Vervollständigung automatisch während dem Tippen. Kommt automatisch nach dem Klassen-Punkt, kann aber auch erzwungen werden: Ctrl+Space oder Edit > Content Assist Kann dazu verwendet werden, alle Methoden und Members der aktuellen Klasse anzuzeigen. Dazu Code Assist aufrufen ohne zu tippen. Parameter Hints Zeigt mögliche Argumente von Methoden an. Ctrl+Shift+Space oder Edit -> Parameter Hints Die wichtigsten Funktionen (3) Code Templates Durch Code Templates können wiederkehrende Code-Stücke als Vorlagen abgelegt und komfortabel wiederverwendet werden. Templatekürzel (z.b. syso ) eintippen -> Ctrl+Space oder Zeilen markieren -> Ctrl+1 für Wrapper-Templates Zahlreiche Code Templates sind bereits integriert. Bearbeiten und Erstellen von Code Templates: Window -> Preferences -> [+] Java -> [+] Editor -> Templates Page 6
Die wichtigsten Funktionen (4) Refactoring Java Elemente umbenennen. Das Element wird im gesamten Project umbenannt, kein suchen und ersetzen nötig, die Konsistenz wird bewahrt. Alt+Shift+R oder Rechtsklick -> Refactor Weitere Funktionen des Refactorings: Klassen in andere Packages verschieben, Methoden in Sub- oder Supertypen verschieben, Interface Extrahieren und mehr. Die wichtigsten Funktionen (5) Hoover Help Zeigt Javadoc von Klassen und Methoden an. Sehr nützlich! Kommt automatisch wenn Maus über Java Element fährt. Open Declaration Springt in die Implementierung eines Typs oder einer Methode. Diese Funktion ist nicht auf die eigenen Projektfiles beschränkt, es wird auch in die Java Sources gesprungen, sofern eclipse weiss, wo diese liegen. F3 oder Rechtsklick -> Open Declaration Angeben der Sources: Window -> Preferences -> [+] Java -> Edit -> [+] bei rt.jar -> Source Attachment -> Edit. Geben Sie dort das src.zip File im JDK Ordner an. Page 7
Die wichtigsten Funktionen (6) Quick Fixes Korrektur des Codes in Echtzeit, analog zu Rechtschreibekorrektur in moderner Textverarbeitungs-Software. Klick auf roten Punkt am Rande zeigt Lösungsvorschläge. Gesamte Liste aller erkannten Probleme: http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.jdt.doc.user/con cepts/cquickfix.htm Die wichtigsten Funktionen (7) Organize Imports Fehlende Import Statements werden in den Kopfbereich der Quelldatei eingefügt, überflüssige werden entfernt. Ctrl+Shift+O oder Source -> Organize Imports Try/Catch Blöcke Lassen sich automatisiert einfügen. Rechtsklick -> Source -> Surround with try/catch block Page 8
Die wichtigsten Funktionen (8) Override/Implement Methods Eclipse bietet einen Assistenten zum Implementieren und Overriden von Methoden an. Nützlich beim Implementieren von Interfaces Erweitern von Klassen Source -> Override/Implement Methods Dynamisches Javadoc Zeigt in real time die Javadoc des gewählten Elements an. Auch hier muss eclipse wissen, wo die Java Sources liegen Window -> Show View -> Javadoc (oder Alt+Shift+Q,J) Die wichtigsten Funktionen (9) Local History Eclipse hält eine Liste von vorhergehenden Versionen aller Projektfiles. Es kann zu jeder Zeit auf alte Versionen zurückgegriffen werden. Vergleichen mit älteren Versionen: Rechsklick auf File im Package Explorer -> Compare With -> Local History Wiederherstellen einer älteren Version: Rechsklick auf File im Package Explorer -> Replace With -> Local History Wiederherstellen einer gelöschten Datei: Rechsklick auf Package im Package Explorer -> Restore from Local History Page 9
Die wichtigsten Funktionen (10) Javadoc Die Javadoc-Erstellung in eclipse ist sehr einfach. gewünschtes Package oder Project auswählen File -> Export -> Javadoc Javadoc Parameter setzen Die wichtigsten Funktionen (11) Debugging Mit Hilfe des Debuggers lässt sich das Programm an einer beliebigen Stelle anhalten und ermöglicht eine gute Übersicht über den aktuellen Zustand der Virtual Machine. Window -> Open Perspective -> Debug Steuerung über Breakpoints* ohne Breakpoints muss die main-methode beim Start angehalten werden: run -> Debug -> Stop in main Starten des Debuggers: Run -> Debug Schritte mit * - Run -> Step Into (F5) in die aktuelle Methode springen - Run -> Step Over (F6) aktuelle Anweisung ausführen und überspringen Page 10
Interessante Plugins Subclipse http://subclipse.tigris.org Integriert Subversion (SVN) in eclipse. Subversion ist eine Software zur Versionsverwaltung und hilft dabei, einen Überblick über die verschiedenen Versionen von Quellcode und die dazugehörigen Kommentare zu behalten und kann insbesondere dazu verwendet werden, um bei grösseren Projekten die Arbeit der verschiedenen Entwickler zu koordinieren. Subversion wird hier am Departement Informatik eingesetzt. Visual Editor Project http://www.eclipse.org/vep Tool für visuelle GUI Entwicklung. Viele andere Plugins unter http://www.eclipse.org Interessante Plugins (2) Omondo http://www.omondo.com/ Das EclipseUML Plugin von Omondo ist in einer kostenfreien Version verfügbar. Um ein UML-Diagramm für Ihr Projekt zu erzeugen, rufen Sie den Menupunkt New -> Other auf und wählen UML Diagrams -> UML Class Diagram Aktivieren Sie im darauffolgenden Fenster die drei Kästchen Association, Inheritance und Dependency. Im Diagramm können auch neue Klassen gezeichnet werden, die dann von EclipseUML in Java Code umgewandelt werden. Page 11
Wie weiter? Welche IDE ist die Beste? Religionskrieg! IDEs sind Geschmackssache und gewöhnungsbedürftig. eclipse ist mit all seinen Funktionen sehr mächtig! Es macht Sinn, mit der Zeit zu gehen und den modernen Tools mit all ihren Möglichkeiten eine Chance zu geben. Die Entscheidung liegt letzdendlich bei jedem einzelnen. Referenzen Offizielle eclipse-dokumentation (Java Development User Guide) http://www.eclipse.org/documentation Eclipse Tutorial http://www.spinfo.uni-koeln.de/lehre/java/eclipse_tutorial/index.shtml Liste ausgewählter eclipse Plugins http://www.java-tutor.com/java/eclipse/plugin/eclipse-plugins.html Page 12