PHP Entwicklung mit Visual Studio Code
In diesem Beitrag zeige ich wie man PHP Entwicklung mit Visual Studio Code durchführt. Mit zwei Extensions wird Visual Studio Code zum optimalen Editor um unter Windows an PHP Dateien remote auf einem Linux Server zu arbeiten. Das alles dank SSH.
PHP Entwicklung mit Visual Studio Code
Visual Studio Code ist der Open Source Editor von Microsoft. Wenn Microsoft Open Source macht, dann richtig. Der Editor kann von sich aus gar nicht so viel, ist aber durch Plugins erstaunlich gut erweitert. Mit nur zwei Extensions kann man ihn für die PHP Entwicklung direkt auf einem Webserver verwenden.
PHP IntelliSense
Als Entwickler ist man mittlerweile verwöhnt, gibt es doch bei guten IDEs neben Syntax Highlighting auch IntelliSense. Genau diese Features dürfen auch bei Visual Studio Code nicht fehlen. Zum Glück gibt es wie für fast alles andere auch Erweiterungen. Mit PHP IntelliSense installiert man ein Plugin, dass während dem Eintippen von Code bereits passende Vorschläge macht und somit Aufrufe von Standardfunktionen drastisch vereinfacht. Neben dem Funktionsnamen gibt die Hilfe auch die korrekten Parameter laut Dokumentation an.
Mit dem Plugin allein können wir nun schon sehr gut PHP Skripte lokal am Rechner oder auf einem eingebundenen Netzlaufwerk erstellen. Wie man PHP unter Windows lokal installiert und damit Skript ausführt habe ich ja bereits gezeigt.
SSH FS
Der nächste Schritt wäre nun Dateien auch remote zu editieren. Damit kann man direkt am Webserver arbeiten und muss nicht jedesmal manuell eine Datei herunter- und nach Bearbeitung wieder hochladen. Das funktioniert normalerweise über ein SSH, das kann Visual Studio Code standardmäßig jedoch nicht. Glücklicherweise hat man mit dem SSH FS Plugin die Möglichkeit Projektordner über SSH zu mounten. Nach der Installation findet man im Explorer unter Visual Studio Code einen neuen Reiter SSH FILE SYSTEMS. dort kann man über einen Rechtsklick eine neue Konfiguration erstellen. Diese Konfigurationsdatei ist im JSON Format und enthält die Verbindungsdaten zum entfernten Server und dem Verzeichnispfad:
// If you haven't already, associate .jsonc files with "JSON with Comments (jsonc) { "label": "entfernter Ordnername", "root": "/www/pfad/zum/verzeichnis/auf/dem/webserver", "host": "domain.com", "port": 22, "username": "root", "password": true, "privateKeyPath": "C:/Users/Werner/.ssh/private.ppk" }
Mit dieser Konfiguration verbinde ich mich auf meinen Webserver über einen SSH Key (relevante Daten wurden geändert!). Alternativ kann man auch klassisch Username und Passwort der SSH Verbindung angeben. Das Verzeichnis wird nun im Explorer mit den Unterverzeichnissen und Dateien als Baum dargestellt. Jede Änderung an einer Datei wird direkt mit dem Server abgeglichen.
Fazit
Nur zwei Plugin und schon funktioniert die PHP Entwicklung mit Visual Studio Code. Der Editor ist Open Source, deshalb generell zu empfehlen. Dank guten Plugins wird er schnell zum PHP Editor erster Wahl für Webentwickler. Ich kann nach einem Projekt damit sagen: dieser Editor ist für mich und PHP nun das Standardwerkzeug.
Welchen PHP Editor verwendet ihr unter Windows? Was sind eure Erfahrungen zu Visual Studio Code?
2 extensions für PHP
sorry wie ?? wo ??
beispiel ??
nachvollziehbar ??
danke gruss roland
Wie: PHP IntelliSense und SSH FS Extension installieren
Wo: Visual Studio Code
Mit SSH FS eine Verbindung zum Webserver erstellen (siehe Dokumentation) und mit PHP IntelliSense bequem PHP Dateien remote bearbeiten.
Weshalb wird hier nicht erwähnt, das man in VS Code noch entsprechende Settings anpassen muss wenn man Intellisense. So macht der Beitrag null Sinn. Da ist die Doku des Plugins hilfreicher.
Zum Zeitpunkt als der Artikel geschrieben wurde war keine weitere Konfiguration nötig. Da sich aber jede Software weiterentwickelt kann es gut sein, dass sich das bereits geändert hat.
Warum braucht man eine ssh-Konfiguration? Ich kann doch einfach die Datei auf dem Server öffnen und nach der Bearbeitung speichern. Das funktioniert zumindest mit Code-OSS (der freien Version von Visual Studio Code) unter Linux.