IDE
{ }
PhpStorm · Shortcuts · Navigation · Productivity
PhpStorm Keymaps, Navigation und
Productivity-Hacks für Power-User

Die meisten PhpStorm-Nutzer verwenden weniger als 20 Prozent der verfügbaren Shortcuts und Navigationsfunktionen. Wer lernt, sich in großen PHP-Codebases ohne Maus zu bewegen, Refactorings mit Tastenkombinationen durchzuführen und Multi-Cursor-Editing zu nutzen, verdoppelt seine Produktivität in kurzer Zeit.

16 Min. Lesezeit Shortcuts · Navigation · Multi-Cursor · Custom Keymaps · Refactoring PhpStorm 2024.x · Linux · macOS · Windows

1. Warum Shortcuts der größte Produktivitätshebel sind

Jeder Griff zur Maus ist eine Kontextunterbrechung: Die Hand verlässt die Tastatur, das Auge sucht den Cursor, die Hand findet die richtige Bildschirmposition, der Klick erfolgt, die Hand kehrt zur Tastatur zurück. Das kostet pro Aktion ungefähr eine Sekunde — bei hundert solcher Aktionen pro Stunde sind das fast zwei Minuten, die ausschließlich für Zeigegerät-Interaktionen aufgewendet werden. Verteilt auf einen Arbeitstag und ein Jahr summiert sich das auf Stunden an reiner Cursor-Positionierungszeit.

In PhpStorm gibt es für nahezu jede Aktion eine Tastenkombination. Das Ziel ist nicht, alle 500+ Shortcuts auswendig zu kennen, sondern die 30-40 häufigsten Aktionen so zu internalisieren, dass sie zur Muskelgedächtnis werden. Dazu gehören Datei-Navigation, Code-Navigation, Refactoring, Suche, Multi-Cursor und Fenster-Management. Wer diese Kernmenge beherrscht, navigiert große PHP-Codebases mit einer Geschwindigkeit, die mit der Maus schlicht nicht erreichbar ist.

Der beste Einstieg: Strg+Umschalt+A (macOS: Cmd+Umschalt+A) öffnet das "Find Action"-Fenster. Dort lässt sich jede PhpStorm-Aktion beim Namen suchen, ausführen und — ganz wichtig — der aktuelle Shortcut wird sofort angezeigt. Nach drei Wochen täglicher Nutzung hat man die häufigsten Aktionen durch das "Find Action"-Fenster so oft gesehen, dass man die Shortcuts nebenbei lernt, ohne sie jemals bewusst auswendig gelernt zu haben.

Die wichtigsten Navigationsshortcuts in PhpStorm drehen sich um schnelles Öffnen: Strg+E öffnet die Liste der zuletzt bearbeiteten Dateien — mit Suchfeld. Strg+Umschalt+E zeigt die zuletzt bearbeiteten Code-Stellen, nicht nur Dateien. Strg+N findet PHP-Klassen, Strg+Umschalt+N findet alle Dateien im Projekt. Alle diese Dialoge unterstützen CamelCase-Abkürzungen: "PM" findet "ProductManager", "MPVM" findet "MiroMegaViewModal".

Für die Navigation innerhalb einer Datei sind Strg+F12 (Dateistruktur mit sofortiger Suche) und Alt+Hoch/Runter (springt zwischen Methoden) unersetzlich. Strg+G springt zu einer Zeilennummer. Strg+[ und Strg+] bewegen den Cursor zum Anfang bzw. Ende des umgebenden Blocks. Strg+Alt+Links/Rechts navigiert in der Cursor-History vor und zurück — ideal nach einem Strg+Klick, um wieder an den Ausgangspunkt zurückzukehren.

3. Strukturelle Navigation in PHP-Klassen

PhpStorm versteht PHP-Semantik auf einer tieferen Ebene als ein normaler Texteditor. Das ermöglicht strukturelle Navigation: Strg+Klick auf einen Methodennamen springt zur Definition — auch wenn diese in einer Parent-Klasse, einem Trait oder einem Interface liegt. Alt+F7 zeigt alle Verwendungen einer Klasse, Methode oder Variable im gesamten Projekt, gruppiert nach Verwendungsart (Aufruf, Implementierung, Referenz).

Strg+U springt zur Super-Methode oder dem Interface, das eine Methode deklariert. Strg+Alt+B zeigt alle Implementierungen eines Interface-Methode oder einer abstrakten Methode. Diese Shortcuts machen Codebases mit tiefen Vererbungshierarchien — wie Magento 2 mit seinen Service Contracts und Plugin-Chains — navigierbar. In einem Magento-Projekt mit fünfzig Plugins auf einem Repository-Interface zeigt Strg+Alt+B auf der Methode sofort alle Plugin-Klassen.


<?php
declare(strict_types=1);

namespace Mironsoft\Catalog\Api;

/**
 * Ctrl+Click on any method name → jumps to definition
 * Alt+F7 on interface → shows all implementations
 * Ctrl+Alt+B on method → shows all plugin arounds/befores/afters
 */
interface ProductEnricherInterface
{
    /**
     * Enrich product data with additional metadata.
     * Ctrl+U from implementation jumps back here.
     *
     * @param int $productId
     * @param array<string, mixed> $context
     * @return array<string, mixed>
     */
    public function enrich(int $productId, array $context = []): array;

    /**
     * Check if enricher supports this product type.
     * Ctrl+Alt+B shows all implementations across modules.
     *
     * @param string $typeId
     * @return bool
     */
    public function supports(string $typeId): bool;
}

4. Multi-Cursor und Column Selection

Multi-Cursor ist eine der produktivsten Funktionen für repetitive Bearbeitungen. Alt+J wählt das nächste Vorkommen des aktuell markierten Texts aus und fügt einen zusätzlichen Cursor hinzu. Strg+Alt+Umschalt+J wählt alle Vorkommen gleichzeitig aus. Alt+Klick setzt manuell Cursor an mehreren Stellen. Alle Cursors tippen gleichzeitig, was das Umbenennen von Variablen ohne globales Refactoring ermöglicht — etwa wenn man nur in einer Methode, nicht im gesamten Projekt, umbenennen möchte.

Column Selection (Alt+Umschalt+Einfg zum Umschalten) aktiviert den Block-Auswahl-Modus. Damit lassen sich Spalten in einer Tabelle gleichzeitig bearbeiten, z.B. wenn man in einer PHP-Konfigurationsarray zwanzig Zeilen hat und in allen gleichzeitig einen Wert ändern will. Der Unterschied zum regulären Multi-Cursor: Column Selection wählt immer rechteckige Bereiche aus, Multi-Cursor wählt semantische Vorkommen.

5. Refactoring-Shortcuts: Rename, Extract und More

Refactoring-Operationen in PhpStorm sind über Strg+Alt+Umschalt+T (das komplette Refactoring-Menü) oder direkte Shortcuts erreichbar. Umschalt+F6 benennt eine Variable, Methode, Klasse oder Datei um — das Rename betrifft alle Verwendungen im gesamten Projekt, inklusive Docblocks, Strings (optional) und Konfigurationsdateien. Strg+Alt+M extrahiert eine Selektion in eine neue Methode mit automatisch generierter Signatur und korrekter Dependency-Injektion.

Strg+Alt+V extrahiert einen Ausdruck in eine lokale Variable, Strg+Alt+C in eine Klassenkonstante. Strg+Alt+F extrahiert in ein Klassenfeld (Property). Diese Operationen sind sicher: PhpStorm analysiert den Scope und prüft, ob die Extraktion den Code semantisch verändert. Bei Magento-Modulen ist das besonders wertvoll, wenn man lange Controller-Aktionen oder Service-Methoden in kleinere, testbare Einheiten aufteilen will — ohne manuell alle Aufrufe und Rückgabetypen anzupassen.

6. Custom Keymaps anlegen und teilen

PhpStorm kommt mit Standard-Keymaps für Windows/Linux (IntelliJ-Stil) und macOS (macOS-Stil). Für Teams mit unterschiedlichen Betriebssystemen oder persönlichen Präferenzen lassen sich Custom Keymaps unter Settings → Keymap erstellen. Die Custom Keymap basiert immer auf einer Vorlage (z.B. "Default" oder "macOS") und überschreibt nur die abweichenden Bindungen. So bleiben bekannte Shortcuts erhalten, während neue hinzugefügt werden.

Custom Keymaps werden als .xml-Datei im PhpStorm-Konfigurationsverzeichnis gespeichert und lassen sich über das Team teilen — indem man die Datei ins Repository committed oder über die PhpStorm Settings Sync teilt. Besonders sinnvoll: Aktionen, die man täglich nutzt und für die kein Default-Shortcut existiert, bekommen eigene Bindungen. Beispiel: "Run current test" oder "Open in Terminal" auf häufig genutzte Tastenkombinationen legen.


<!-- PhpStorm custom keymap export excerpt -->
<!-- Location: ~/.config/JetBrains/PhpStorm2024.3/keymaps/Mironsoft.xml -->
<!-- Share with team by committing to .ide-config/ in repository -->

<keymap version="1" name="Mironsoft" parent="Default">
  <!-- Run nearest test method from cursor -->
  <action id="RunClass">
    <keyboard-shortcut first-keystroke="ctrl shift F10" />
  </action>
  <!-- Open current file in integrated terminal -->
  <action id="Terminal.OpenInTerminal">
    <keyboard-shortcut first-keystroke="ctrl alt T" />
  </action>
  <!-- Toggle distraction-free mode for focused coding -->
  <action id="ToggleDistractionFreeMode">
    <keyboard-shortcut first-keystroke="ctrl alt D" />
  </action>
  <!-- PhpStan / Inspection run on current file -->
  <action id="CodeInspection.OnEditor">
    <keyboard-shortcut first-keystroke="ctrl alt I" />
  </action>
</keymap>

7. Suchen und Ersetzen mit Scope und Regex

Strg+Umschalt+F öffnet die globale Suche mit einstellbarem Scope: ganzes Projekt, aktuelles Verzeichnis, nur geöffnete Dateien oder ein benutzerdefinierter Scope. Scopes können in PhpStorm als benannte Filtersets gespeichert werden — etwa "Nur Modul-Dateien" oder "Nur Templates". Das ermöglicht präzise Suchen ohne falsche Treffer aus Vendor-Verzeichnissen oder generierten Dateien.

Die Regex-Suche unterstützt Gruppen und Backreferences. So lässt sich beispielsweise ein veraltetes Muster wie $this->helper('Vendor\Module\Helper\Data') mit einem Regex finden und durch den korrekten Dependency-Injection-Aufruf ersetzen — mit dem Helper-Klassennamen als Gruppe, die im Ersetzen-Ausdruck wiederverwendet wird. Das "Find and Replace in Files" kann auf bestimmte Dateitypen eingeschränkt werden: *.phtml, *.xml, *.php.

8. Abbreviations und Live Templates per Shortcut

Live Templates sind Codebausteine, die über kurze Abkürzungen ausgelöst werden. Strg+J öffnet die Liste aller verfügbaren Live Templates für den aktuellen Kontext. Im PHP-Kontext stehen Snippets für foreach, while, Getter/Setter-Methoden und PHPDoc-Blöcke zur Verfügung. Eigene Live Templates erstellt man unter Settings → Editor → Live Templates mit dem Abkürzungswort und dem Template-Code inklusive Variablen ($VAR$, $END$).

Postfix Templates sind eine Weiterentwicklung: Sie transformieren einen bereits getippten Ausdruck. $variable.if + Tab wird zu if ($variable) {}. $collection.foreach wird zu einem foreach-Block mit der Collection. $value.return wird zu return $value;. Diese Transformation läuft inline und unterbricht den Schreibfluss nicht. In Magento-Projekten sind besonders Templates für häufige Muster sinnvoll: DI-Konstruktor-Blöcke, Repository-Aufrufe, Exception-Handling-Muster.

9. Keymap-Vergleich: Linux vs. macOS

Teams mit gemischten Betriebssystemen haben oft das Problem, dass Shortcuts in Anleitungen und Pair-Programming-Sessions nicht übertragbar sind. Die wichtigsten Shortcuts im Direktvergleich zwischen Linux/Windows und macOS:

Aktion Linux / Windows macOS Kategorie
Find Action Strg+Umschalt+A Cmd+Umschalt+A Navigation
Klasse öffnen Strg+N Cmd+O Navigation
Umbenennen Umschalt+F6 Umschalt+F6 Refactoring
Methode extrahieren Strg+Alt+M Cmd+Alt+M Refactoring
Nächstes Vorkommen Alt+J Strg+G Multi-Cursor

Die Unterschiede zwischen den Plattformen betreffen vor allem die Modifier-Tasten: Strg auf Linux/Windows entspricht meist Cmd auf macOS, und Alt auf Linux/Windows entspricht Option auf macOS. Ausnahmen gibt es vor allem bei Navigation-Shortcuts, wo macOS andere Konventionen verfolgt. Die "Find Action"-Funktion zeigt immer den plattformspezifischen Shortcut an — das ist der verlässlichste Weg, die korrekte Tastenkombination zu finden.

Mironsoft

PHP-Entwicklung, Magento 2 und Entwickler-Coaching

Euer PHP-Team schneller und produktiver machen?

Wir bieten PhpStorm-Workshops für Entwicklerteams — von Basis-Navigation bis zu Custom Keymaps, Multi-Cursor und Refactoring-Workflows. Abgestimmt auf euren Tech-Stack und euer Projekt.

Team-Workshop

Halbtägiger PhpStorm-Workshop für euer Entwicklerteam — praktische Übungen mit eurem echten Codebase

Keymap-Setup

Gemeinsame Custom Keymap für das Team erstellen und in das Repository integrieren

Code-Review

Refactoring-Workshop mit eurem bestehenden PHP/Magento-Code und PhpStorm-Werkzeugen

10. Zusammenfassung

Der Weg zum PhpStorm Power-User ist kein Sprint, sondern eine kontinuierliche Investition: Jeden Tag ein oder zwei neue Shortcuts einüben, bis sie zur Muskelgedächtnis werden. Die wichtigsten Hebel sind "Find Action" (Strg+Umschalt+A) als Lernwerkzeug, strukturelle Navigation mit Strg+Klick und Alt+F7, Multi-Cursor mit Alt+J für repetitive Bearbeitungen, und Refactoring-Shortcuts für sichere Codeänderungen ohne manuelle Fehlersuche.

Custom Keymaps machen die persönlichen Präferenzen dauerhaft und teamweit einheitlich. Live Templates und Postfix Completion beschleunigen das Tippen häufiger Code-Muster. Die Kombination aus Navigations-Shortcuts und semantischem Verständnis der PHP-Codebase macht PhpStorm zu einem Werkzeug, das weit über einen Texteditor hinausgeht — es ist eine interaktive Lernumgebung, die durch jeden Shortcut die Struktur des Codes sichtbarer macht.

PhpStorm Shortcuts — Das Wichtigste auf einen Blick

Einstieg: Find Action

Strg+Umschalt+A (Cmd+Umschalt+A) — findet jede Aktion beim Namen und zeigt den Shortcut. Das wichtigste Lernwerkzeug für neue Shortcuts.

Strukturelle Navigation

Strg+Klick zur Definition, Alt+F7 für alle Verwendungen, Strg+U zur Super-Methode, Strg+Alt+B für alle Implementierungen.

Multi-Cursor

Alt+J wählt nächstes Vorkommen. Strg+Alt+Umschalt+J wählt alle. Alt+Klick setzt manuellen Cursor. Alle tippen gleichzeitig.

Refactoring

Umschalt+F6 umbenennen, Strg+Alt+M extrahieren, Strg+Alt+V in Variable, Strg+Alt+C in Konstante — immer projektweit und semantisch korrekt.

11. FAQ: PhpStorm Keymaps und Productivity-Hacks

1Wichtigster Shortcut für Einsteiger?
Strg+Umschalt+A — Find Action. Findet jede Aktion beim Namen und zeigt direkt den Shortcut. Das beste Lernwerkzeug für neue Shortcuts.
2Wie aktiviere ich Multi-Cursor?
Alt+J für nächstes Vorkommen, Strg+Alt+Umschalt+J für alle, Alt+Klick für manuellen Cursor. Alle Cursors tippen gleichzeitig.
3Wie erstelle ich eine Custom Keymap?
Settings → Keymap → Duplizieren → Umbenennen → Shortcuts überschreiben. Wird als XML gespeichert und kann mit dem Team geteilt werden.
4Strg+N vs. Strg+Umschalt+N?
Strg+N findet PHP-Klassen. Strg+Umschalt+N findet alle Dateien. Beide unterstützen CamelCase-Abkürzungen wie 'PM' für ProductManager.
5Wie benenne ich eine Klasse projektweit um?
Umschalt+F6 — zeigt Vorschau aller betroffenen Stellen inkl. Konfig-Dateien und Docblocks. Semantisch korrekt und sicher.
6Vim-Keybindings in PhpStorm möglich?
Ja — IdeaVim-Plugin installieren. Emuliert normalen, visuellen und Insert-Modus. Settings → Plugins → IdeaVim.
7Alle Interface-Implementierungen finden?
Strg+Alt+B auf Interface-Methode — zeigt alle Klassen, die das Interface implementieren, und alle Überschreibungen.
8Code in neue Methode extrahieren?
Block markieren, Strg+Alt+M. PhpStorm generiert Signatur mit korrekten Parametern und Rückgabetypen automatisch.
9Suche auf bestimmte Verzeichnisse beschränken?
Strg+Umschalt+F → Scope-Dropdown → benutzerdefinierter Scope. Scopes wie "Nur app/code" können gespeichert und wiederverwendet werden.
10Was ist Column Selection?
Alt+Umschalt+Einfg schaltet Rechteckauswahl ein. Ideal für tabellarische Daten oder Konfigurationsarrays mit parallelen Zeilen.