JetBrains IntelliJ IDEA: Erste Schritte

+ andere TechDocs
+ Installation unter Ubuntu
+ Eclipse
+


JetBrains IntelliJ IDEA ist eine der am häufigsten verwendeten IDEs (Integrated Development Environment) für Java. Es konkurriert mit Eclipse und Oracle NetBeans IDE.

In diesem Dokument geht es nur um den Einsatz von IntelliJ IDEA als Java-IDE, obwohl IntelliJ IDEA weit mehr bietet. Gezeigt werden erste Schritte für Einsteiger sowie wichtige Tastaturkürzel.



Inhalt

  1. Doku und Tutorials
  2. Installation und Konfiguration
  3. Tastatur-Shortcuts und Menübefehle
  4. Erstes Hallo-Welt-Projekt erstellen und ausführen
  5. Maven-Projekt in IntelliJ IDEA öffnen
  6. Maven-Multimodulprojekte in IntelliJ IDEA
  7. IntelliJ IDEA mit Java 9 und Jigsaw



Doku und Tutorials

Einsteiger-Dokus finden Sie beispielsweise unter:



Installation und Konfiguration

Zur Installation von JetBrains IntelliJ IDEA siehe: Install and set up IntelliJ IDEA.

Zur Installation unter Ubuntu-Linux siehe auch: Installation unter Ubuntu.

Falls Sie verschiedene Java-Versionen installiert haben, können Sie die für die IDE verwendete Java-Version in der idea-Startdatei vorgeben, indem Sie darin in einer zusätzlichen Zeile die Variable IDEA_JDK (bzw. IDEA_JDK_64 unter Windows) setzen, z.B. unter Linux so (passen Sie die Pfade an) (falls Sie nicht die Community Edition, sondern die Ultimate Edition verwenden, ersetzen Sie im Folgenden überall idea-IC durch idea-IU):

sudo gedit /opt/idea-IC/bin/idea.sh

...
export IDEA_JDK=/usr/lib/jvm/java-8-oracle
...

Falls Sie große Projekte bearbeiten, sollte der verwendbare Speicher erhöht werden, z.B. unter Linux so:

sudo gedit /opt/idea-IC/bin/idea64.vmoptions

-Xms512m
-Xmx2048m
...

Überprüfen Sie die Einstellungen für Software-Updates unter: "Help | Check for Updates...".

Falls Sie häufiger Linux-Bash-Skripte oder Windows-Batch-Skripte bearbeiten, sollten Sie entsprechende Plugins installieren. Wählen Sie in IntelliJ IDEA: "File | Settings... | Plugins | Browse repositories...", und dann für Linux-Bash-Skripte "BashSupport" sowie für Windows-Batch-Skripte "Batch Scripts Support".

Für Einsteiger kann die IntelliJ IDEA Default Keymap oder alternativ die im Folgenden gezeigte Liste interessant sein.

Falls Fenster fehlen oder "verschwunden" sind: Aktivieren Sie unter "View":
"Toolbar", "Tool Buttons", "Status Bar" und "Navigation Bar".

Falls Sie in der linken Spalte die "Tool Windows" "1: Project" und "7: Structure" gleichzeitig übereinander sehen wollen, klicken Sie mit der rechten Maustaste ganz links auf den senkrechten "7: Structure"-Button und wählen Sie "Split Mode".

Kontrollieren Sie die Einstellungen zur Einrückung unter "File | Settings | Editor | Code Style | Java | Tabs and Indents".



Tastatur-Shortcuts und Menübefehle

Die folgende Tabelle listet einige (subjektiv) besonders wichtige Tastatur-Shortcuts und Menübefehle auf. Bei einigen ist in der letzten Spalte das in etwa korrespondierende Eclipse-Kommando aufgeführt: Aber beachten Sie, dass dies oft keine genaue Entsprechung ist.

Weitere Tastatur-Shortcuts und Menübefehle finden Sie unter IntelliJ IDEA Default Keymap sowie Shortcuts: Korrespondierende unterschiedliche Tastaturkürzel in Idea und Eclipse.

Beachten Sie, dass einige Kommandos bereits vom Betriebssystem belegt sein können, beispielsweise die mit Strg+Alt beginnenden.


Tastatur-Shortcut Menü Erläuterung Eclipse
(Strg+Alt+S) File | Settings... | Keymap Tastatur-Shortcuts Strg+Umschalt+L
Alt+1 View | Tool Windows | Project Project Tool Window öffnen Alt+Umschalt+Q P
Alt+9 View | Tool Windows | Version Control Version Control Tool Window öffnen Alt+Umschalt+Q ...
Umschalt+Escape View | Tool Windows | ... Tool Window schließen  
Strg+E
Alt+links, Alt+rechts
Strg+Tab
View | Recent Files
Window | Editor Tabs | Previous/Next
Zuletzt geöffnete Dateien
Letzte Editierposition
Strg+E
Strg+F6
Alt+F 1...
Alt+links, Alt+rechts
Strg+Q View | Quick Documentation Javadoc Umschalt+F2
Strg+Y   Zeile löschen Strg+D
Strg+Leertaste
Strg+Umschalt+Leertaste
Strg+Umschalt+Enter
Alt+Enter
Edit | Complete Current Statement
(File | Settings... | Editor | Inspections | Java)
Sourcecode-Vervollständigung
Zeige Vorschläge
Strg+Leertaste
Strg+1
Alt+Umschalt+Einfg Edit | Column Selection Mode Spaltenmodus Alt+Umschalt+A
Strg+F Edit | Find | Find... In Datei suchen Strg+F
F3 Edit | Find | Find Next Nächste Fundstelle Strg+K
Umschalt+F3 Edit | Find | Find Previous Vorherige Fundstelle Strg+Umschalt+K
Strg+F7
Strg+Umschalt+F7
Edit | Find | Find / Highlight Usages in File Alle Fundstellen markieren Strg+Alt+U
Alt+Umschalt+O
2 x Umschalt
Strg+Umschalt+F
Edit | Find | Find in Path... In allen Dateien suchen Strg+H
(Alt+F7)
Strg+Alt+F7
Strg+Alt+Umschalt+7
Edit | Find | Find
Edit | Find | Show Usages
Edit | Find | Find Usage Settings...
Finde Verwendungen und Definitionen Strg+Umschalt+G
Strg+Umschalt+Backspace Navigate | Last Edit Location Letzte Editierposition Strg+Q
Strg+H Navigate | Type Hierarchy Klassenhierarchie Strg+T
F4
Strg+B
Strg+Alt+B
Strg+Mausklick
Navigate | Declaration / Implementation(s) Zur Deklaration/Implementation F3
Strg+Mausklick
Strg+N Navigate | Class... Java-Klasse öffnen Strg+Umschalt+T
Strg+Umschalt+N Navigate | File... Datei oder Ressource öffnen Strg+Umschalt+R
Strg+G Navigate | Line... Gehe zu Zeile Strg+L
Alt+Einfg Code | Generate... Generierten Code einfügen  
psvm Strg+J
sout Strg+J
it Strg+J
Code | Insert Life Template... main( String[] args ) { }
System.out.println();
iterate
ma Strg+Leertaste
syso Strg+Leertaste
for Strg+Leertaste
(Strg+Alt+T) Code | Surround With... Sourcecode umgeben (z.B. try/catch)  
Strg+Alt+O
Alt+Enter, Import class
Code | Optimize Imports
-
Imports optimieren
Einzelnen Import hinzufügen
Strg+Umschalt+O
(Strg+Alt+L) Code | Reformat Code Formatierung Strg+Umschalt+F
Strg+/ Code | Comment Sourcecode auskommentieren Strg+/
Umschalt+F6 Refactor | Rename Umbenennen Alt+Umschalt+R
Strg+F9 Build | Make Project Projekt bauen (Strg+S)
Alt+Umschalt+F10 Run | Run... Auszuführende Applikation auswählen (Alt+R N)
Umschalt+F10 Run | Run Applikation ausführen Strg+F11
Umschalt+F9 Run | Debug Debuggen F11
F7 / F8 / Umschalt+F8 /
    Alt+F9 / F9 / Strg+F2
Run | Step Into / Over / Out /
    to Cursor / Resume / Stop
Debug-Schritte F5 / F6 / F7 /
    F8 / Strg+F2
Strg+F8 Run | Toggle Line Breakpoint Breakpoint aktivieren/deaktivieren Strg+Umschalt+B
(Alt+F8) Run | Evaluate Expression... Wert von Ausdruck/Variable ermitteln Strg+Umschalt+I
Strg+Umschalt+F12 Window | Activate Tool Window | Hide All Windows Editor-Fenster maximieren Strg+M


Erstes Hallo-Welt-Projekt erstellen und ausführen

  1. Starten Sie IntelliJ IDEA und wählen Sie: "File | New | Project... | Java".

  2. Tragen Sie unter "Project SDK" das zum Bauen des Projekts gewünschte Java-JDK ein. Dies kann ein anderes Java sein, als das, womit IntelliJ IDEA betrieben wird.
    Wählen Sie "Next | Next".

  3. Setzen Sie als "Project Name": IdeaHalloWelt
    und als "Project Location" unter Linux: ~/MeinWorkspace/IdeaHalloWelt
    bzw. unter Windows: \MeinWorkspace\IdeaHalloWelt
    und klicken Sie auf "Finish | OK | This Window".

  4. Links erscheint das neue Projekt "IdeaHalloWelt" im "Project Tool Window" (falls nicht: betätigen Sie Alt+1). Öffnen Sie darin den Baum unter dem IdeaHalloWelt-Projektnamen. Klicken Sie mit der rechten Maustaste auf den src-Ordner und wählen Sie: "New | Java Class". Tragen Sie als "Name" ein: de.meinefirma.meinprojekt.MeineApp und betätigen Sie "OK".

  5. In der Mitte erscheint im Editor-Fenster die Java-Klasse. Starten Sie hinter der geschweiften "{"-Klammer eine neue Zeile, geben Sie den Buchstaben "p" ein und betätigen Sie Strg+J. Wählen Sie in der erscheinenden Liste "psvm" und bestätigen Sie mit der Eingabetaste. Sie erhalten eine main()-Methode. Geben Sie den Buchstaben "s" ein, betätigen Sie Strg+J, und wählen Sie "sout". Sie erhalten eine System.out.println()-Anweisung. Fügen Sie "Hallo Welt" ein. Die Klasse wird automatisch gespeichert. Das Ergebnis sieht so aus:

    package de.meinefirma.meinprojekt;
    
    public class MeineApp {
       public static void main( String[] args ) {
          System.out.println( "Hallo Welt" );
       }
    }
    
  6. Um die Java-Klasse ausführen zu können, muss das Projekt zuerst gebaut werden. Dies kann auf verschiedene Arten gestartet werden, beispielsweise:
    - Per Tastatur-Shortcut: Strg+F9.
    - Per Mausklick in der Toolbar auf den nach unten zeigenden grünen Pfeil.
    - Über die Menüleiste: "Build | Make Project".

  7. Um die Java-Klasse auszuführen, betätigen Sie Alt+Umschalt+F10 (oder über die Menüleiste: "Run | Run...") und klicken auf den Klassennamen MeineApp. Unten öffnet sich das "Run"-Fenster und es erscheint die Ausgabe:

    Hallo Welt
    

    Dabei wurde eine "Run Configuration" angelegt (siehe: "Run | Edit Configurations"). Ab jetzt können Sie die Ausführung auch über Umschalt+F10 oder über den nach rechts zeigenden grünen Pfeil in der Toolbar starten.

    Um das "Run"-Fenster wieder zu schließen, klicken Sie in das Fenster und betätigen: Umschalt+Escape.

  8. Folgendermaßen können Sie debuggen: Klicken Sie im Editor-Fenster in den grauen Bereich links neben der System.out.println()-Zeile. Es erscheint eine rote Kugel als Symbol für den Breakpoint. Betätigen Sie Umschalt+F9 oder klicken Sie in der Toolbar auf das grüne Käfer-Icon. Sehen Sie sich im "Run"-Menü die verschiedenen Optionen wie beispielsweise Step into/over/out an. Betätigen Sie F9 (Resume), um zum Ende fortzufahren. Klicken Sie in das Debugger-Fenster und schließen Sie es mit: Umschalt+Escape.

  9. Erzeugen Sie folgendermaßen eine Jar-Datei Ihrer Anwendung: Wählen Sie in der Menüleiste "File | Project Structure...". Klicken Sie links auf "Artifacts", dann auf das grüne + und wählen Sie "JAR | From modules with dependencies...". Wählen Sie mit dem Dreipunkte-Button neben "Main Class" den Eintrag: de.meinefirma.meinprojekt.MeineApp und fahren Sie fort mit "OK | OK". Wählen Sie in der Menüleiste "Build | Build Artifacts... | IdeaHalloWelt:jar | Build". Im Verzeichnis IdeaHalloWelt/out/artifacts/IdeaHalloWelt_jar finden Sie die Datei: IdeaHalloWelt.jar. Führen Sie sie folgendermaßen aus:

    cd ~/MeinWorkspace/IdeaHalloWelt

    java -jar out/artifacts/IdeaHalloWelt_jar/IdeaHalloWelt.jar

    Sie erhalten:

    Hallo Welt
    


Maven-Projekt in IntelliJ IDEA öffnen

  1. IntelliJ IDEA kann problemlos Maven-Projekte öffnen und bearbeiten (wesentlich besser als Eclipse). Um dies zu zeigen erstellen wir ein minimales Maven-Projekt.

  2. Maven muss installiert sein. Siehe hierzu: Installation von Maven 3 unter Ubuntu bzw. Installation von Maven 3 unter Windows.

  3. Falls noch nicht vorhanden, legen Sie ein Projekteverzeichnis an:

  4. Erstellen Sie darin ein Hello-World-Maven-Projekt:

    mvn archetype:generate -DinteractiveMode=false -DgroupId=de.meinefirma.meinprojekt -DartifactId=MvnHelloApp

    cd MvnHelloApp

    Falls Sie tree installiert haben, lassen Sie sich die generierte Verzeichnisstruktur anzeigen, unter Linux mit "tree" und unter Windows mit "tree /F":

    ~/MeinWorkspace/MvnHelloApp
    +-- pom.xml
    +-- src
        +-- main
        ¦   +-- java
        ¦       +-- de
        ¦           +-- meinefirma
        ¦               +-- meinprojekt
        ¦                   +-- App.java
        +-- test
            +-- java
                +-- de
                    +-- meinefirma
                        +-- meinprojekt
                            +-- AppTest.java
    
  5. Compilieren und bauen Sie die Hello-World-Maven-Anwendung und führen Sie das Ergebnisartefakt aus:

    mvn package

    java -cp target/MvnHelloApp-1.0-SNAPSHOT.jar de.meinefirma.meinprojekt.App

    Sie erhalten:

    Hello World!
    
  6. Um das Maven-Projekt in IntelliJ IDEA zu öffnen, wählen Sie in der Menüleiste "File | Open...". Tragen Sie als Pfad ~/MeinWorkspace/MvnHelloApp ein (bzw. unter Windows \MeinWorkspace\MvnHelloApp) und bestätigen Sie mit "OK".

  7. Falls das "Project Tool Window" nicht geöffnet ist: Öffnen Sie es mit Alt+1.

  8. Laden Sie die Applikationsklasse: Strg+N | App.
    Falls die main()-Methode in nur einer einzigen Zeile angezeigt wird: Klicken Sie in dieser Zeile am linken Rand des Editor-Fensters auf das [+]-Symbol, um den Java-Code aufzuklappen.

  9. Führen Sie die Applikationsklasse aus: Strg+F9 | Alt+Umschalt+F10 | App | Run.

    Hello World!
    
  10. Führen Sie den JUnit-Modultest aus: Strg+N | AppTest | Alt+Umschalt+F10 | AppTest | Run.



Maven-Multimodulprojekte in IntelliJ IDEA

IntelliJ IDEA versteht Maven-Multimodulprojekte, und zwar sowohl im "Flat Multimodul Project Layout" als auch im "Hierarchical Multimodul Project Layout".

Hier soll es nicht um Java-Sourcecode gehen, sondern um das Bearbeiten von Maven-Multimodulprojekten in IntelliJ IDEA. Zur Vereinfachung erfolgt ein Download zweier fertiger Maven-Multimodulprojekte in den beiden Project-Layouts. Infos zu diesen Maven-Multimodulprojekten finden Sie in: Maven-Multimodulprojekte.

  1. Führen Sie folgende Kommandos aus (hier nur für Linux gezeigt):

    cd ~/MeinWorkspace

    mkdir Mvn-MMP

    cd Mvn-MMP

    wget http://www.torsten-horn.de/proj/Mvn-MMP.zip

    unzip Mvn-MMP.zip

    rm Mvn-MMP.zip

  2. Bauen Sie die beiden gemeinsam genutzten Module masterpom und commons:

    cd ~/MeinWorkspace/Mvn-MMP/MeinWorkspace

    ls -l

    cd masterpom

    mvn clean install

    cd ../commons

    mvn clean install

  3. Bauen Sie das Flat-Multimodulprojekt (im "Flat Multimodul Project Layout") mit Maven, und führen Sie es aus.

    Entfernen Sie in der pom.xml im Verzeichnis ~/MeinWorkspace/Mvn-MMP/MeinWorkspace/flat-web folgenden Plugin-Eintrag:

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
          </plugin>
    

    Führen Sie aus:

    cd ~/MeinWorkspace/Mvn-MMP/MeinWorkspace

    cd flat-multiproj

    mvn clean install

    cd ../flat-web

    mvn -Djetty.port=9999 jetty:run-war

    Warten Sie bis Started Jetty Server erscheint, und rufen Sie auf:

    http://localhost:9999/flat-web

    Sie erhalten (gekürzt):

    Hello World!
    Attribute in der META-INF/MANIFEST.MF:
    Modulname=flat-web
    Modulversion=3.0-SNAPSHOT
    Created-By=Apache Maven 3.3.9
    Build-Jdk=1.8
    ...
    MeineBean:
    MeineBean.berechne( 1, 2 ): 3
    

    Beenden Sie den Jetty-Webserver mit Strg+C.

  4. Bauen Sie das Hierarchy-Multimodulprojekt (im "Hierarchical Multimodul Project Layout") mit Maven, und führen Sie es aus.

    Entfernen Sie in der pom.xml im Verzeichnis ~/MeinWorkspace/Mvn-MMP/MeinWorkspace/hierarchy-multiproj/hierarchy-web folgenden Plugin-Eintrag:

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
          </plugin>
    

    Führen Sie aus:

    cd ~/MeinWorkspace/Mvn-MMP/MeinWorkspace

    cd hierarchy-multiproj

    mvn clean install

    cd hierarchy-web

    mvn -Djetty.port=9999 jetty:run-war

    Warten Sie bis Started Jetty Server erscheint, und rufen Sie auf:

    http://localhost:9999/hierarchy-web

    Sie erhalten (gekürzt):

    Hello World!
    Attribute in der META-INF/MANIFEST.MF:
    Modulname=hierarchy-web
    Modulversion=4.0-SNAPSHOT
    Created-By=Apache Maven 3.3.9
    Build-Jdk=1.8
    ...
    MeineBean:
    MeineBean.berechne( 1, 2 ): 3
    

    Beenden Sie den Jetty-Webserver mit Strg+C.

  5. Um das Flat-Multimodulprojekt in IntelliJ IDEA zu öffnen, wählen Sie in der Menüleiste "File | Open...". Tragen Sie als Pfad ~/MeinWorkspace/Mvn-MMP/MeinWorkspace/flat-multiproj ein und bestätigen Sie mit "OK".

  6. Wählen Sie "Run | Edit Configurations | oben links das grüne +-Zeichen | Maven". Tragen Sie als Name ein: flat-multiproj.

    Tragen Sie unter dem Parameters-Tabulator-Reiter ein (leider funktioniert hier die Abkürzung ~ für /home/<MeinName> nicht, ersetzen Sie <MeinName> durch den PC-Namen):
    Working Directory: /home/<MeinName>/MeinWorkspace/Mvn-MMP/MeinWorkspace/flat-web
    Command line: jetty:run-war

    Schalten Sie um auf den Runner-Tabulator-Reiter und konfigurieren Sie:
    Use project settings: deaktivieren
    VM Options: -Djetty.port=9999

    Speichern Sie mit OK.

    Bauen Sie das Projekt mit Strg+F9 und starten Sie den Jetty-Webserver mit Umschalt+F10. Warten Sie bis Started Jetty Server erscheint, und rufen Sie auf: http://localhost:9999/flat-web. Sie erhalten die bereits oben gesehene flat-web-Webseite.

    Beenden Sie den Jetty-Webserver mit Strg+F2 (oder durch Klick auf das rote Quadrat).

  7. Um das Hierarchy-Multimodulprojekt in IntelliJ IDEA zu öffnen, wählen Sie in der Menüleiste "File | Open...". Tragen Sie als Pfad ~/MeinWorkspace/Mvn-MMP/MeinWorkspace/hierarchy-multiproj ein und bestätigen Sie mit "OK".

  8. Wählen Sie "Run | Edit Configurations | oben links das grüne +-Zeichen | Maven". Tragen Sie als Name ein: hierarchy-multiproj.

    Tragen Sie unter dem Parameters-Tabulator-Reiter ein (ersetzen Sie <MeinName>):
    Working Directory: /home/<MeinName>/MeinWorkspace/Mvn-MMP/MeinWorkspace/hierarchy-multiproj/hierarchy-web
    Command line: jetty:run-war

    Schalten Sie um auf den Runner-Tabulator-Reiter und konfigurieren Sie:
    Use project settings: deaktivieren
    VM Options: -Djetty.port=9999

    Speichern Sie mit OK.

    Bauen Sie das Projekt mit Strg+F9 und starten Sie den Jetty-Webserver mit Umschalt+F10. Warten Sie bis Started Jetty Server erscheint, und rufen Sie auf: http://localhost:9999/hierarchy-web. Sie erhalten die bereits oben gesehene hierarchy-web-Webseite.

    Beenden Sie den Jetty-Webserver mit Strg+F2 (oder durch Klick auf das rote Quadrat).

  9. Vergleichen Sie die parallele Projektstruktur beim Flat-Multimodulprojekt mit der hierarchischen Projektstruktur beim Hierarchy-Multimodulprojekt:



IntelliJ IDEA mit Java 9 und Jigsaw

Siehe hierzu die Jigsaw-Demos mit IntelliJ IDEA: Jigsaw-Dep-Demo und Jigsaw-Service-Demo.





Weitere Themen: andere TechDocs | Installation unter Ubuntu | Eclipse
© 2016 Torsten Horn, Aachen