Willkommen

Übung Prog 2

22/23.11.23

Was machen wir heute?

  • Fragen?
  • Recap Streams :arrow_right: Abgabe 3
  • Arbeiten mit Intellij
    • Plugins
    • Allgemeine Shortcuts
    • Navigieren
      • Im Editor
      • Im Code
    • Code ausführen & Co
      • Shortcuts
      • Runconfigurations
    • Debugging
  • Abgaben

Fragen?

Bitte melden wer heute abgeben will!

Folien jetzt auch online! https://htw.crownshill.de

qrcode to https://htw.crownshill.de

Recap Streams ➡️ Abgabe 3

Häufig gesehene Lösung mit for each

 @Override
  public Map<Long, Integer> idsAndCountFromInput(String inputLine, Map<String, Long> keywordsToIds) {
    Map<Long, Integer> res = new HashMap<>();
    inputLine = inputLine.replaceAll("[,\\.]", "");
    String[] words = inputLine.split("\\s");
    for (String word : words) {
      if (keywordsToIds.containsKey(word)) {
        res.put(keywordsToIds.get(word), res.getOrDefault(word, 0) + 1);
      }
    }
    return res;
  }

Recap Streams ➡️ Abgabe 3

Lösung mit Stream in einer Zeile

public Map<Long, Integer> idsAndCountFromInput(String inputLine, Map<String, Long> keywordsToIds) {
  return Arrays.stream(inputLine.replaceAll("[^\\w\\s-\\u00c4\\u00e4\\u00d6\\u00f6\\u00dc\\u00fc\\u00df]", "").split("\\s"))
    .filter(keywordsToIds::containsKey)
    .collect(groupingBy(keywordsToIds::get,Collectors.mapping(s :arrow_right: 1, Collectors.summingInt(Integer::intValue))));
}

Arbeiten mit Intellij

Es werden nur Shortcuts für Intellij gezeigt.

All diese Sachen sind jedoch mit allen IDE's erreichbar (sogar vim bietet solche Sachen an)

Die folgenden Befehle haben keinen Anspruch auf Vollständigkeit. Die Einstellmöglichkeiten sind sehr individuell und fast grenzenlos

Arbeiten mit Intellij ➡️ Plugins

sreenshot plugins
File :arrow_right: Settings :arrow_right: Plugins :arrow_right: Marketplace

Empfohlen:
  • Dark-Temes :arrow_right: Eine Menge unterschiedlicher Themes
  • Git-Toolbox :arrow_right: automatisches pullen etc.
  • Force Shortcuts :arrow_right: Zwingt zur Verwendung von SC
Nice to have:
  • Pokemon Progress :arrow_right: wie der Name sagt

Arbeiten mit Intellij

💥 So ziemlich jede Aktion kann mit einem Shortcut versehen werden. Unter
Settings➡️Keymap können alle Shortcuts verändert und/oder ergänzt werden
💥💥 Die Shortcuts sind für so ziemlich jede IDE von Jetbrains gleich
💥💥💥 Es gibt die Möglichkeit seine Settings mit dem Jetbrains account zu synchronisieren. So sind die Einstellungen auf allen Geräten gleich

Arbeiten mit Intellij ➡️ Allgemeine Shortcuts

Shortcut Auswirkung
doppel shift Wichtigster Shortcut!!! Öffnet Suche überall
alt taste + <Ziel> Auswahl im oberen Menü
strg + alt + s Öffnet Settings
strg + alt + shift + s Öffnet Project Settings
alt + f12 Öffnet Commandline
strg + alt + f12 Versteckt alle Tools

Arbeiten mit Intellij ➡️ Allgemeine Shortcuts

Shortcut Auswirkung
alt + 1 Öffnet und schließt Projektstruktur
alt + 2 Öffnet und schließt Lesezeichen und Breakpoints
alt + 3 Öffnet und schließt Suchverzeichnis (Vorherige Suche vorhausgesetzt)
alt + 4 Öffnet und schließt Run Konsole
alt + 5 Öffnet und schließt Debug Konsole
alt + 6 Öffnet und schließt Vulnerabilites
alt + 7 Öffnet und schließt File Struktur
alt + 8 Öffnet und schließt Services (Wenn mehrere Runs durchgeführt werden)
alt + 9 Öffnet und schließt Vulnerabilites

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Editor

🌟 So wenig wie möglich anzeigen lassen
Disable Tabs: Settings ➡️ Editor ➡️ Editor Tabs ➡️ Tab placement ➡️ None
disableTab

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Editor

🌟 So wenig wie möglich anzeigen lassen
Hide Toolsidebar: alt + v ➡️ alt + a ➡️ Tool Window Bars
Hide Toolsidebar: alt + v ➡️ alt + a ➡️ Status Bars

No Tool Bar
With Tool Bar
No Status Bar
With Status Bar

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Editor

Shortcut Auswirkung
strg + tab Offene Files anzeigen und wechseln
strg + e Zuletzt verwendete Files anzeigen
strg + shift + t Springe in die Testklasse der aktuellen Klasse. Wenn nicht vorhanden ➡️ legt diese an
alt + Pfeil Vorwärts ↔️ rückwärts zwischen den Files wechseln
strg + shift + [0-9] Setzt Lesezeichen
strg + [0-9] Springt zu Lesezeichen

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Code

Shortcut Auswirkung
shift + f6 Rename Variable oder Methode oder Klasse
alt + f7 Suche nach verwendung
strg + b Gehe zur Implementierung einer Methode
strg + g Springe zu Zeile x
strg + w (* x) Markiert nächst größeren Kontext
strg + shift + w (+ x) Markiert nächst kleineren Kontext
strg + f Textsuche
strg + r Textsuche replace

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Code

Shortcut Auswirkung
strg + o Öffnet Fenster welche Methoden überschreiben werden sollen
alt + enter Öffnet auf Fehler Kontextmenü was getan werden kann. Auf nicht Fehler eventuell Vereinfachungsvorschlag (static import)
alt + einf Schlägt zu generierenden Code vor
psvm ➡️ enter Erstellt eine public static void main method
serr bzw. sout ➡️ enter Erstellt System.out.println(); Methode

Arbeiten mit Intellij ➡️ Navigieren ➡️ Im Code

Shortcut Auswirkung
strg + alt + l Reformate code
strg + alt + o Optimize imports
doppel strg + Pfeiltaste Multiline edit
alt + j Markiere nächstes vorkommen im File für Multiline-Edit

Arbeiten mit Intellij ➡️ Code ausführen & Co ➡️ Shortcuts

Shortcut Auswirkung
shift + f10 Ausführen aktueller Runconfig
shift + f9 Debug aktueller Runnvonfig
strg + f2 Stop running
strg + shift + f2 Stop Background Processes

Arbeiten mit Intellij ➡️ Code ausführen & Co ➡️ Runconfigurations

  • Eingabe von String[] args
  • Steuerung von Umgebungsvariablen
  • Steuerung von Profilen
  • Steuerung
With Tool Bar

Arbeiten mit Intellij ➡️ Code ausführen & Co ➡️ Runconfigurations

Custom Shortcut RunConfig
Run Configuration Menu

Arbeiten mit Intellij ➡️ Debugging

Shortcut Auswirkung
alt + shift + f8 Öffnet evaluate console ➡️ erlaubt während der gestoppten Ausführung code auf aktuellen variablen testweise durchzuführen
f7 Gehe in aktuelle Funktion
f8 Nächster Schritt
f9 Springe zum nächsten Breakpoint
strg + f8 Setzt Breakpoint in aktueller Spalte