Bookmarks und Favorites für Navigation in großen Magento-Codebases
AI generated
IDE
{ }
PhpStorm · Magento · Navigation
Bookmarks und Favorites für große Magento-Codebases
Systematische Navigation statt endlosem Scrollen

Ein Magento-Modul verteilt sich typischerweise über Dutzende Dateien in tief verschachtelten Verzeichnissen: di.xml, Plugin-Klassen, Observer, Blöcke und Templates. PhpStorms Bookmarks für einzelne Zeilen und Favorites für ganze Dateien und Ordner machen aus diesem Geflecht eine navigierbare Struktur, wenn man sie systematisch statt zufällig einsetzt.

13 Min. Lesezeit Bookmarks Favorites Navigation Magento

1. Warum Navigation in großen Magento-Codebases ein Problem ist

Magentos modulare Architektur verteilt zusammengehörige Funktionalität bewusst über viele kleine Dateien: Eine einzige fachliche Änderung berührt oft eine di.xml für die Dependency-Injection-Konfiguration, eine Plugin-Klasse für die eigentliche Logik, ein Layout-XML für die Frontend-Einbindung und ein Template für die Darstellung, verteilt über vier oder fünf verschiedene Verzeichnisebenen. Diese Trennung ist architektonisch sinnvoll, macht das reine Wiederfinden bereits bekannter Stellen aber zu einer wiederkehrenden Zeitfalle.

Search Everywhere und Go to Class helfen beim erstmaligen Finden einer Datei, sind aber für wiederkehrende Sprünge zwischen einer festen Gruppe zusammenhängender Dateien, etwa während einer mehrtägigen Feature-Entwicklung, umständlich, weil bei jedem Sprung der Dateiname erneut eingetippt werden muss. Genau für diesen wiederkehrenden Bedarf sind Bookmarks und Favorites gedacht: ein einmal gesetzter, dauerhafter Direktzugriff auf eine bekannte Stelle im Code.

2. Bookmarks für einzelne Codezeilen

Ein Bookmark markiert eine einzelne Zeile in einer Datei, sichtbar als kleines Symbol am linken Rand des Editors, gesetzt über F11 oder Rechtsklick auf die Zeilennummer, Bookmarks, Toggle Bookmark. Anders als ein TODO-Kommentar, der im Code selbst sichtbar bleibt und mitcommittet wird, existiert ein Bookmark nur lokal in der IDE-Konfiguration des jeweiligen Entwicklers und hat keinerlei Auswirkung auf den eigentlichen Quellcode.

Das macht Bookmarks ideal für rein persönliche Orientierungspunkte während einer laufenden Aufgabe: die Zeile, an der eine Preisberechnung beginnt, den Einstiegspunkt eines Plugin-Interceptors oder die Stelle, an der eine noch offene Frage zur fachlichen Logik hängt. Nach Abschluss der Aufgabe lassen sich alle Bookmarks über das Bookmarks-Fenster gesammelt löschen, ohne dass jemals eine Spur davon im Code oder im Git-Verlauf zurückbleibt.

3. Mnemonic-Bookmarks mit Tastenkürzeln

Über Umschalt+Strg+F11 (auf macOS Cmd+F11) öffnet sich eine Zifferntastatur-Auswahl, mit der ein Bookmark direkt mit einer Ziffer von 0 bis 9 oder einem Buchstaben verknüpft wird, ein sogenanntes Mnemonic-Bookmark. Der Sprung dorthin erfolgt danach mit Strg+Ziffer, ganz ohne den Umweg über ein Fenster oder eine Liste, was bei bis zu zehn regelmäßig angesteuerten Stellen die schnellste verfügbare Navigationsmethode in PhpStorm überhaupt ist.

In der Praxis bewährt sich ein festes, persönliches Schema: Ziffer 1 für den aktuellen Feature-Einstiegspunkt, Ziffer 2 für die zugehörige Testklasse, Ziffer 3 für die relevante di.xml, und so weiter. Weil die Ziffern projektübergreifend gleich belegt werden können, entsteht mit der Zeit eine Art Muskelgedächtnis, das den Kontextwechsel zwischen mehreren gleichzeitig bearbeiteten Magento-Projekten spürbar beschleunigt.


Mnemonic-Bookmark setzen und nutzen:

1. Cursor auf die gewuenschte Zeile
2. Umschalt+Strg+F11 (macOS: Cmd+F11)
3. Ziffer 0-9 oder Buchstabe waehlen -> Bookmark ist verknuepft

Springen: Strg+<Ziffer> (macOS: Cmd+<Ziffer>)

Alle Bookmarks anzeigen: Strg+F11 -> Bookmarks-Fenster
Bookmark entfernen: F11 auf der markierten Zeile (Toggle)

4. Favorites für Dateien und Ordner

Während ein Bookmark an eine einzelne Zeile gebunden ist, referenziert ein Favorite eine ganze Datei, einen Ordner oder sogar ein einzelnes Symbol wie eine Klasse oder Methode, unabhängig von der aktuellen Cursor-Position darin. Gesetzt wird ein Favorite über Alt+Umschalt+F auf einer Datei im Projektbaum oder einem geöffneten Editor-Tab, wodurch die Datei in eine benannte Favoriten-Liste im gleichnamigen Tool-Fenster aufgenommen wird.

Der praktische Unterschied zu Bookmarks zeigt sich bei längerfristigen Aufgaben: Ein Bookmark eignet sich für den schnellen Sprung zurück zu einer bestimmten Codezeile während einer aktiven Session, ein Favorite dagegen für die dauerhafte Zusammenstellung aller Dateien, die zu einem bestimmten Modul oder Feature gehören, unabhängig davon, welche Zeile darin gerade relevant ist.

5. Favorites nach Feature und Modul organisieren

Das Favorites-Fenster erlaubt mehrere unabhängige, benannte Listen gleichzeitig, was sich hervorragend eignet, um pro aktivem Feature oder Bugfix eine eigene Liste anzulegen, etwa SeoSuite-Hreflang-Fix oder Checkout-Rabatt-Feature. Innerhalb einer Liste lassen sich Dateien per Drag-and-Drop in eine sinnvolle Reihenfolge bringen, etwa von der Konfigurationsdatei über die Logik-Klasse bis zum Template, sodass die Liste selbst schon eine Art Landkarte der Änderung abbildet.

Abgeschlossene Listen müssen nicht sofort gelöscht werden: Eine Favoriten-Liste für ein bereits ausgeliefertes Feature bleibt oft wertvoll, falls Monate später ein verwandter Bug in genau diesem Bereich auftaucht, weil sie bereits die relevanten Dateien gebündelt vorhält, ohne dass die Suche danach erneut komplett von vorne beginnen muss.

6. Ein konkretes Magento-Modul als Favoriten-Set

Für ein typisches Plugin-Modul mit Observer und eigenem Block bietet sich folgendes Favoriten-Set an: die di.xml für die Plugin-Registrierung, die Plugin-Klasse selbst mit der eigentlichen before- oder after-Methode, die Observer-Klasse samt zugehöriger events.xml, der Block sowie das dazugehörige phtml-Template. Alle fünf oder sechs Dateien landen in einer einzigen Favoriten-Liste, wodurch sich während der Entwicklung mit einem einzigen Klick zwischen Konfiguration, Logik und Darstellung wechseln lässt.

Gerade bei der Fehlersuche in einem unbekannten Modul beschleunigt dieses Vorgehen die Einarbeitung erheblich: Statt bei jedem Sprung erneut über Find Usages oder den Projektbaum zu navigieren, baut man sich beim ersten Durchstöbern direkt eine Favoriten-Liste auf, die für den Rest der Aufgabe als persönliche Landkarte durch das Modul dient.


Beispiel-Favoriten-Liste "SeoSuite-Hreflang-Fix":

1. app/code/Mironsoft/SeoSuite/etc/di.xml
2. app/code/Mironsoft/SeoSuite/Plugin/HreflangPlugin.php
3. app/code/Mironsoft/SeoSuite/Observer/StoreSwitchObserver.php
4. app/code/Mironsoft/SeoSuite/etc/events.xml
5. app/code/Mironsoft/SeoSuite/Block/Hreflang.php
6. app/code/Mironsoft/SeoSuite/view/frontend/templates/hreflang.phtml

Anlegen: Datei im Projektbaum markieren -> Alt+Umschalt+F
         -> "SeoSuite-Hreflang-Fix" als neue Liste erstellen

7. Kombination mit Search Everywhere und Go to Class

Bookmarks und Favorites ersetzen Search Everywhere (Doppel-Umschalt) und Go to Class (Strg+N) nicht, sondern ergänzen sie an unterschiedlichen Stellen des Workflows: Die Suche eignet sich für das einmalige, gezielte Finden einer noch unbekannten Datei, während Bookmarks und Favorites für das wiederholte Zurückkehren zu bereits bekannten, relevanten Stellen gedacht sind, ohne dass der Dateiname jedes Mal erneut eingetippt werden muss.

In der Praxis entsteht meist eine natürliche Reihenfolge: Eine neue, unbekannte Datei wird zunächst über Search Everywhere gefunden, und erst wenn sich herausstellt, dass diese Datei über die aktuelle Aufgabe hinaus regelmäßig relevant bleibt, wandert sie als Favorite oder Bookmark in die dauerhafte, persönliche Navigationsstruktur.

8. Team-Freigabe: was möglich ist und was nicht

Sowohl Bookmarks als auch Favorites sind standardmäßig rein lokale, personenbezogene IDE-Einstellungen, die weder im Projekt-Repository landen noch automatisch mit Kollegen geteilt werden, weshalb ein neuer Teamkollege bei null anfängt. Es gibt keinen eingebauten Mechanismus, eine Favoriten-Liste direkt an einen anderen Entwickler zu senden, was für strukturierte Onboarding-Dokumentation eher ein Nachteil ist.

Ein pragmatischer Workaround für wirklich wichtige, dauerhaft relevante Dateigruppen ist stattdessen eine kurze Liste relevanter Pfade in der README eines Moduls oder einem projektinternen Wiki-Artikel, den jeder neue Entwickler dann händisch als eigene Favoriten-Liste nachbaut. Für rein persönliche Arbeitsorganisation während einer einzelnen Aufgabe ist die fehlende Teamfreigabe dagegen kein echtes Problem, da Bookmarks ohnehin nicht für Dauerhaftes gedacht sind.

9. Praxis-Tipps und Werkzeugvergleich

Ein bewährtes Muster ist, Mnemonic-Bookmarks ausschließlich für die aktuell aktive Aufgabe zu nutzen und sie nach Abschluss konsequent zu löschen, während Favoriten-Listen für dauerhaft relevante Modulstrukturen angelegt und über Wochen oder Monate erhalten bleiben. Wer beide Werkzeuge vermischt, etwa dauerhafte Ziffern-Bookmarks für zehn verschiedene, gleichzeitig aktive Projekte, verliert schnell den Überblick, welche Ziffer gerade wofür steht.

Die folgende Tabelle stellt Bookmarks, Favorites, Search Everywhere und klassische TODO-Kommentare als vier unterschiedliche Navigationswerkzeuge gegenüber, gemessen an Geltungsbereich, Lebensdauer und Sichtbarkeit für andere Teammitglieder.

Werkzeug Geltungsbereich Typische Lebensdauer Für Team sichtbar
Mnemonic-Bookmark Einzelne Zeile Dauer einer Aufgabe Nein, rein lokal
Favorites-Liste Dateien/Ordner, gruppiert Wochen bis dauerhaft Nein, rein lokal
Search Everywhere Gesamtes Projekt Einmalige Suche Entfällt, kein Zustand
TODO-Kommentar Einzelne Zeile im Code Bis zur Bearbeitung Ja, im Quellcode sichtbar

Mironsoft

PhpStorm-Setup, Docker-Integration und Team-Produktivität

PhpStorm, das für Magento- und PHP-Projekte wirklich optimal läuft?

Wir prüfen bestehende PhpStorm-Setups auf langsame Indizierung, ungenutzte Docker-Integration und fehlende Team-Konventionen und richten eine Konfiguration ein, die von der ersten Sekunde an produktiv ist.

Setup-Review

Indexing, Interpreter und Speicher-Einstellungen für große Magento-Projekte optimieren.

Docker-Integration

Xdebug, PHPUnit und Datenbank-Tools sauber mit dem Docker-Setup verbinden.

Team-Konventionen

Inspection-Profile, Code-Style und Live-Templates projektweit vereinheitlichen.

10. Zusammenfassung

Bookmarks und Favorites: Das Wichtigste auf einen Blick

Bookmarks

F11 für einfache, Umschalt+Strg+F11 für Mnemonic-Bookmarks mit Ziffern-Shortcut.

Favorites

Alt+Umschalt+F auf Dateien/Ordner, in benannten Listen pro Feature organisiert.

Rein lokal

Beide Werkzeuge sind personenbezogene IDE-Einstellungen, nicht teamweit sichtbar.

Kombination

Bookmarks für die aktuelle Aufgabe, Favorites für dauerhaft relevante Modulstrukturen.

11. FAQ: Bookmarks und Favorites: Das Wichtigste auf einen Blick

1Was ist der Unterschied zwischen Bookmarks und Favorites in PhpStorm?
Ein Bookmark markiert eine einzelne Zeile in einer Datei, ein Favorite referenziert eine ganze Datei, einen Ordner oder ein Symbol unabhängig von einer bestimmten Zeile darin.
2Wie setze ich ein Mnemonic-Bookmark?
Cursor auf die gewünschte Zeile setzen, dann Umschalt+Strg+F11 unter Windows und Linux beziehungsweise Cmd+F11 unter macOS drücken und eine Ziffer von 0 bis 9 oder einen Buchstaben wählen.
3Wie springe ich zu einem Mnemonic-Bookmark?
Mit Strg+Ziffer unter Windows und Linux beziehungsweise Cmd+Ziffer unter macOS, ganz ohne den Umweg über ein Fenster oder eine Liste.
4Werden Bookmarks im Quellcode oder im Git-Verlauf sichtbar?
Nein. Bookmarks existieren ausschließlich in der lokalen IDE-Konfiguration des jeweiligen Entwicklers und haben keinerlei Auswirkung auf den Quellcode oder das Repository.
5Wie lege ich eine Favoriten-Liste für ein Magento-Modul an?
Über Alt+Umschalt+F auf einer Datei im Projektbaum, dann eine neue, benannte Liste erstellen. Weitere Dateien lassen sich derselben Liste anschließend genauso hinzufügen.
6Kann ich Favoriten-Listen mit Kollegen teilen?
Nicht direkt, es gibt keinen eingebauten Freigabe-Mechanismus. Als Workaround eignet sich eine kurze Pfadliste in der Modul-README, die jeder Entwickler händisch als eigene Favoriten-Liste nachbaut.
7Ersetzen Bookmarks und Favorites die Suche über Search Everywhere?
Nein, sie ergänzen sich. Search Everywhere eignet sich für das einmalige Finden einer unbekannten Datei, Bookmarks und Favorites für das wiederholte Zurückkehren zu bereits bekannten Stellen.
8Sollte ich Bookmarks nach Abschluss einer Aufgabe löschen?
Ja, das ist die empfohlene Praxis, da Bookmarks für die aktuell aktive Aufgabe gedacht sind. Dauerhaft relevante Dateigruppen gehören eher in eine Favoriten-Liste.
9Wie viele Mnemonic-Bookmarks kann ich gleichzeitig nutzen?
Über Ziffern 0 bis 9 sowie zusätzliche Buchstaben lassen sich deutlich mehr als zehn Bookmarks gleichzeitig verknüpfen, in der Praxis bewährt sich aber ein festes, überschaubares persönliches Schema.
10Kann ein Favorite auch auf eine einzelne Methode statt eine ganze Datei zeigen?
Ja, Favorites lassen sich auch auf einzelne Symbole wie eine Klasse oder Methode setzen, nicht nur auf komplette Dateien oder Ordner.