Programmieren I Entwicklungsumgebungen Eclipse, Netbeans und IntelliJ IDEA Institut für Angewandte Informatik KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Schritte und Werkzeuge beim Programmieren Quellcode schreiben Der Maschine verständlich machen („kompilieren“) Mit Standardbibliotheken verknüpfen („linken“) // nicht in Java Erzeugtes Programm ausführen und Fehler beheben („Debuggen“) 2 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Vereinfachung: Ein Tool für alles! Entwicklungsumgebungen bieten typischerweise Werkzeuge zum Quellcode editieren Code übersetzen Linken Ausführen Debuggen Auch meist vorhanden: Syntax-Highlighting „Live“-Anzeige von Syntax-Fehlern Unterstützung in Form verschiedener Code-Generatoren … 3 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Entwicklungsumgebungen für Java „Einfache“ Entwicklungsumgebung: Java Development Kit (JDK) http://www.oracle.com/technetwork/java/javase/downloads/index.html Integrierte Entwicklungsumgebungen (Integrated Development Environment IDE): NetBeans (aktuell: Version 8.2) http://netbeans.org/ Eclipse (aktuell: Version 4.5 / Mars) http://www.eclipse.org/ IntelliJ IDEA (aktuell: Version 2016.3) https://www.jetbrains.com/idea/ 4 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (1) – NetBeans I Schritt 2 Schritt 3 5 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (2) – NetBeans II Schritt 4 Projects Editor Navigator Später hier: Konsole vorführen 6 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (3) – Eclipse I Schritt 1 Schritt 2 Schritt 3 Später hier: Editor Projects Später hier: Console 7 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (4) – Eclipse II Schritt 4 Schritt 5 Schritt 6 Editor Projects Später hier: Konsole 8 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (5) – IntelliJ IDEA I 9 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (6) – IntelliJ IDEA II Später hier: Editor Später hier: Console 10 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Neues Projekt (7) – IntelliJ IDEA III Später hier: Console 11 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Projekt compilieren Eclipse, NetBeans und IntelliJ IDEA überprüfen Java-Code beim Editieren und übersetzen ihn automatisch beim Speichern. Fehler werden ggf. angezeigt. 12 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Dateien und Dateibaum im Projektverzeichnis src („Source“) Quellcode / .java-Dateien build (NetBeans) bin (Eclipse) out (IntelliJ IDEA) Bytecode / .class-Dateien NetBeans-Spezialität: dist und doc („Distribution“) .jar-Archiv / Dokumentation 13 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Programm ausführen (1) NetBeans Eclipse Rechtsklick auf Projekt im Projekte-Verzeichnis: „Run“ Weitere Einstellungen: „Properties“ „Run“ 14 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Weitere Einstellungen: „Run as“ „Run Configurations…“ Institut für Angewandte Informatik Programm ausführen (2) IntelliJ IDEA Weitere Einstellungen: „Edit Configurations…“ 15 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Effektives Arbeiten – Tastaturkürzel und Mausaktionen Viele Aktionen können durch geschickten Einsatz von Tastaturkürzeln (Shortcuts) oder Mausaktionen schneller durchgeführt werden. Beschleunigung des Arbeitsablaufs Eine Reihe von Tastaturkürzeln und Mausaktionen sind programmübergreifend gleich. Viele Werkzeuge halten darüber hinaus noch weitere Tastaturkürzel und Mausaktionen bereit. 16 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Programmübergreifende Tastaturkürzel 17 Strg + C Kopieren des selektierten Textes (in Zwischenablage) Strg + X Ausschneiden des selektierten Textes (in Zwischenablage) Strg + V Einfügen des Inhalts der Zwischenablage Strg + P Drucken Strg + S Speichern Strg + Strg + Y Aktion erneut ausführen („Redo“) Strg + A Selektieren des gesamten Textes Z Aktion rückgängig machen („Undo“) W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Positionierung des Cursors mit der Tastatur Frage: Wozu? Dafür gibt es ja die Maus! Antwort: Oft viel schneller, da Texteingabe sowieso mit Tastatur Den Cursor … … um einzelne Zeichen und Zeilen versetzen: 18 / … um einzelne Worte versetzen: Strg … an Anfang/Ende der Zeile versetzen: Pos1 … an Anfang/Ende der Datei versetzen: Strg + Pos1 / Ende … an zuletzt editierte Position springen: Strg + Q Shift + F5 W. Geiger, W. Süß, T. Schlachter, C. Schmitt + Ende Institut für Angewandte Informatik Selektieren von Text mit der Tastatur Frage: Wozu? Dafür gibt es ja die Maus! Antwort: Innerhalb eines Absatzes meist schneller Selektion (von der aktuellen Cursorposition aus) … 19 … einzelner Zeichen: Shift + / … einzelner Zeilen: Shift + / ... einzelner Worte: Strg + Shift … bis Anfang/Ende der Zeile: Shift + Pos1 / … bis Anfang/Ende der Datei: Strg + Shift W. Geiger, W. Süß, T. Schlachter, C. Schmitt + + / Ende Pos1 / Ende Institut für Angewandte Informatik Selektieren von Text mit der Maus Vorteil der Maus: „große Strecken“ zurücklegen Selektion … … einzelner Worte (zwischen 2 Trennzeichen, z.B Leerzeichen, Punkt oder Klammer) 2x Doppelklick 3x … einzelner Zeilen Dreifach-Klick … Text von aktueller bis zu neuer Position gedrückt halten und Maus ziehen 20 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Weitere Tastenkombinationen in NetBeans Tools Options Keymap 21 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Weitere Tastenkombinationen in Eclipse Window Preferences General Editors / Keys 22 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Weitere Tastenkombinationen in IntelliJ IDEA File Settings Keymap 23 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Nützliche Beispiele für IDE-Tastenkombinationen Aktion Eclipse NetBeans IntelliJ IDEA STRG + F11 STRG + F11 STRG + F10 Aktuelle Zeile löschen STRG + D STRG + E STRG + Y Aktuelle Zeile kopieren STRG + Hoch/Runter - - In aktueller Datei suchen STRG + F STRG + F STRG + F Im Projekt suchen STRG + H Programm ausführen Parameter-Info 24 STRG + SHIFT + F STRG + SHIFT + F STRG+SPACE STRG+SPACE (am Anfang der Argumente) (am Anfang der Argumente) W. Geiger, W. Süß, T. Schlachter, C. Schmitt STRG + P Institut für Angewandte Informatik Code-Templates (1) Code-Templates sind vorgefertigte Schablonen für längere (und häufig genutzte) Quellcode-Fragmente. Diese können aus Abkürzungen erzeugt werden. Beispiel: Die Anweisung zur Ausgabe auf die Konsole Statt: System.out.println(""); nur: sout und bzw.: sysout und (NetBeans) Tab Strg + Space (Eclipse) tippen Abkürzungen und Anwendung können sich je nach IDE unterscheiden. 25 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Code-Templates (2) - NetBeans Anwendung: Je nach Konfiguration, Standard: Tab Tools Options Editor Code Templates 26 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Code-Templates (3) - Eclipse Anwendung: Strg + Space Window Preferences Java Editor Templates 27 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Code-Templates (4) IntelliJ IDEA Anwendung: meist einfach Tippen File Settings Editor General Postfix Completion 28 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik Weitere Hilfen Wichtig: Die IDE sollte man zum täglichen Arbeiten gut kennen! Lästige „Standard-Arbeiten“ können einem moderne IDEs oft abnehmen Üben, Üben, Üben … Resultat: große Zeitersparnis und effektiveres Programmieren Selbst ausprobieren 29 W. Geiger, W. Süß, T. Schlachter, C. Schmitt Institut für Angewandte Informatik