Atom: Mit den passenden Packages zum perfekten PHP-Editor

← zurück zum Blog

Sind Sie mit PHP Storm, Netbeans und Konsorten auch nicht allzu glücklich und bevorzugen einen etwas «leichteren» Editor zur PHP-Entwicklung? Ich zähle mich zu diesen Menschen. Und da ich mich sehr mit dem Atom-Editor angefreundet habe, habe ich mir diesen so eingerichtet, dass er auch für die PHP-Entwicklung gut funktioniert. Heute möchte ich Ihnen zeigen, wie mein Atom-Setup für PHP aufgebaut ist.

So wird Atom zum perfekten PHP-Editor.

Grundausstattung

Als erstes müssen wir natürlich sicherstellen, dass Atom installiert ist. In der Grundausstattung bringt der Editor noch nicht so viel Funktionalität mit, überzeugt jedoch mit Schnelligkeit und Einfachheit. Ausserdem kann er dank einem ausgeklügelten Plugin-System einfach erweitert werden.

Addon-Pakete können entweder direkt über den Editor oder über die Kommandozeile installiert werden. Für die Entwicklung von PHP-Projekten sollten wir nun zwei grundsätzliche Pakete installieren, die wir später benötigen werden:

  • Project Manager: Wird benötigt, um in Atom einfach Projekte zu definieren.
  • php-integrator-base: Legt die Grundlage für einige Plugins, die das Editieren von PHP-Code in Atom vereinfachen.

Wie auf der offiziellen PHP-Integrator-Website beschrieben, kann das Projekt nun folgendermassen initialisiert werden:

  • Über «Packages» > «Project Manager» > «Save Project» initialisieren wir das Projekt.
  • Über «Packages» > «PHP Integrator» > «Set Up Current Project» definieren wir das Projekt als PHP-Projekt.

Danach wird das gesamte Projekt automatisch indexiert und dem Einsatz von weiteren Plugins steht nichts mehr im Weg.

Autovervollständigung

Mit dem Paket «autocomplete-plus» bietet Atom eine eigene Lösung für schöne Autovervollständigungen an, die den Standardmechanismus ersetzt. Im Normalfall ist das Paket bereits installiert und aktiv. Ist das nicht der Fall, holen wir das noch nach.

Das Paket ist allerdings nur ein sogenannter «Provider», welcher von anderen Paketen verwendet werden kann. Standardmässig kennt Atom keine Vervollständigung von PHP-Code. Hier hilft uns das Plugin «php-integrator-autocomplete-plus», welches auf dem bereits installieren Paket «php-integrator-base» aufbaut.

PHP-Autovervollständigung im Atom-Editor.

PHP-Autovervollständigung im Atom-Editor.

Das Paket bietet einige Features:

  • Autocompletion for local variable names.
  • Autocompletion for global functions and constants.
  • Autocompletion (snippets) for tag names in docblocks.
  • Autocompletion for class, interface and trait members.
  • Autocompletion for class, interface and trait names as well as their constructors.
  • Automatic adding of use statements when class names are autocompleted (with a somewhat intelligent positioning).
    • Included is a command to sort the current use statements.

Navigation

Von waschechten IDEs sind wir uns gewohnt, dass wir auf Variablen oder Funktionen klicken können und dann automatisch bei der passenden Definition landen. Auch diese Funktionalität lässt sich mit einem passenden Plugin hinzufügen.

Als erstes benötigen wir das Paket «hyperclick», welches ebenfalls nur als Provider fungiert und von anderen Paketen verwendet werden kann. Nachdem wir «hyperclick» installiert haben, können wir das Paket «php-integrator-navigation» installieren, das diese Funktionalität perfekt für PHP-Code umsetzt.

Methoden, Funktionen, Variablen und Klassen können wir nun mit der Tastenkombination «Ctrl/Cmd» + «Klick» anwählen und landen damit automatisch bei der entsprechenden Definition. Das Paket bietet gemäss README die folgenden Funktionen:

  • Navigate to the definition of your global PHP constants and functions.
  • Navigate to the PHP documentation of built-in classes and functions by alt-clicking them.
  • Navigate to the definition of classes, traits and interfaces by alt-clicking them.
  • Navigate to the definition of class, trait and interface members by alt-clicking them.

Linter

Zum Thema Linting scheiden sich die Geister. Persönlich halte ich es für sinnvoll, dass mich der Editor direkt auf Coding-Style-Verletzungen hinweist. Wer das genau so praktisch findet wie ich, kann sich mit folgenden Paketen die passenden Funktionen in Atom dazuholen:

  • Linter: Das Provider-Paket.
  • linter-phpcs: Ein Linter auf Basis von PHP_CodeSniffer.
    (Achtung: PHP_CodeSniffer muss bereits installiert sein.)
  • php-integrator-linter: Ein weiterer Linter, der zusätzliche Verstösse – wie z.B. Ungenauigkeiten bei docBlocks – feststellen kann.
PHP-Linter im Atom-Editor.

PHP-Linter im Atom-Editor.

Weitere Pakete

Die wichtigsten Pakete, die Atom zu einem perfekten PHP-Editor machen, sind damit installiert. Wer in den verfügbaren Packages nach «php-integrator» sucht, findet unzählige weitere interessante Pakete, die in diesem Beitrag nicht erwähnt sind.

Auf welches Paket können Sie nicht mehr verzichten? Ich freue mich auf Ihren Kommentar.

5 Kommentare

  1. Ich habe Atom selber nicht ausprobiert, ich denke die Vorteile in diesem Artikel passen auch sehr gut zum Visual Studio Code Editor. (VS Code, nicht das normale Visual Studio.)

    Der Editor ist ebenfalls frei erhältlich, für praktisch jede Plattform verfügbar, ist sehr schnell und kann mit dem sehr einfach Plugin Manager einfach erweitert werden.

    Und unter dem Strich ist es ja auch ein Atom Editor (oder war es), aber eben halt mit ein paar zusätzlichen Features und meiner Ansicht nach gut vorkonfiguriert.

    Ich kann sehr empfehlen, ihn mal auszuprobieren. Er ist sehr schnell, bietet IntelliSense, Linter, Git Integration und vieles mehr. Und dass ohne Überladen zu wirken oder langsam zu sein.

    Zu Anfang war ich ich skeptisch, da ich meinen Sublime ungern ersetzen wollte, aber unterdessen gibt es für mich kein zurück mehr. Vielleicht brauche ich irgendwann mehr und ich schaue mir PHP/Webstorm an, aber im Moment ist VS Code einfach nur super.

  2. Das sieht recht Interessant aus, werde ich mal für kleinere Projekte ausprobieren…

    Die, von mir aus gesehen, beste IDE für PHP-Entwickler ist PhpStorm von Jetbrains.

    Eine Feature-Liste spare ich mir, da auch eine kurze Zusammenfassung den Rahmen eine Kommentars sprengen würde, jedenfalls verwende ich es seit drei Jahren und habe noch keine funktionalität vermisst. Just google yourself…

    Kosten: monatliche oder jährliche update-abos (sprich: wenn abo abgelaufen, kann man es weiterverwenden, aber keine updates mehr laden)

    Für Firmen: 200€ 1. jahr/user (2. jahr 160€, 3. jahr 120€)
    Für Private: 90€ 1. jahr/user (2. jahr 71€, 3. jahr 53€)
    Für Schulen/Lehrer/Studenten: gratis (nachweis nötig)
    Für OpenSource-Entwickler: gratis (akkreditierung nötig)

    Rabatte für:
    Studienabgänger: 25%
    Startup-Firmen: 50%
    Wechseln von einer anderen kommerziellen IDE: 25%

    Wenn man viel in PHP Entwickelt, rentiert sich die Ausgabe, da man sich viel Zeit sparen kann.

Kommentar hinzufügen

Ihre E-Mailadresse wird nicht veröffentlicht.
Auszufüllende Felder sind mit einem * gekennzeichnet.

*
*
*
Einfache HTML Anweisungen wie a, strong, blockquote etc. sind möglich.

Hinweis

Wir behalten uns vor, Spam-, beleidigende oder anderweitig unpassende Kommentare zu entfernen.

← zurück zum Blog