Wer Vim als IDE benutzt und/oder den Artikel von mir zu diesem Thema gelesen hat, wird die Outline für Vim, mit dem Namen TagBar, kennen. Dieses nützliche Werkzeug kann jedoch nur so gut sein, wie die Grundlage auf der es beruht, also Ctags.
Die PHP Integration für Ctags ist in den letzten Jahren eingeflossen, sodass sich wenigstens minimale Tag-Files erstellen lassen. Im Vergleich zu Quellcode der in C/C++ verfasst und geparst wurde ist das PHP Äquivalent jedoch recht nutzlos, da keine Brücke zwischen Methode und einer Klasse geschlagen werden kann. Folglich kann auch die Outline von Vim keine Klassenhierarchien darstellen, da ihr genau diese Metadaten fehlen. Lange Zeit habe ich mit dieser, doch sehr unschönen, Einschränkung gelebt – bis ich vor kurzem eine saubere und funktionierende Alternative entdeckt habe.
Ein Ctags Generator für PHP
Dieser Generator wurde selbst in PHP implementiert und verfügt über die Möglichkeiten erweiterte Tag-Files zu produzieren, die von TagBar voll interpretiert werden können. In meiner Vim Konfiguration ist ein entsprechendes Bridge-Bundle für Vim seit dem Commit a9fffdbe integriert und eine Installationsanleitung unter der Überschrift „PHP TagBar“ in der README-vim.md hinterlegt.
Das Resultat
– Kann sich wirklich sehen lassen. Zum Vergleich – so war es vorher:
Und so sieht die Outline jetzt aus:
Zusätzlich wurden seit dem Artikel „Bash als Power-Shell und Vim als IDE“ in diesem Repository einige Fehler behoben und weitere nützliche Funktionen integriert. Ein Blick darf ruhig riskiert werden. 😃