Wie gestern schon im Webinar zu sehen war haben wir für euch eine Erweiterung für Visual Studio Code gezaubert.
Diese enthält die IP-Symcon Funktionen mit den jeweiligen Parametern, die IPSModule Klassenfunktionen und die globale Variable $_IPS.
Mit der Extension „SSH FS“ konnte ich gleich meinen RPi andocken, vielleicht auch für andere interessant! (leider geht momentan die Authentifizierung via Private Key nicht)
ich habe nun die Extension in VSC installiert, und kann die Skripte bearbeiten. Wie kann ich sie aber starten und debuggen im VSC? Ich nehme an, ich muss in settings.json den IPS-Server angeben, aber wie tue ich das genau?
Gar nicht. Geht nicht.
Zumindest nicht mit der Erweiterung.
Dazu musst du mehr Aufwand betreiben.
xDebug runterladen und einrichten.
Debug settings in VSC anlegen.
Usw…
Aber stabil ist das nicht und auch nicht für ein produktives System, da der Dienst dazu deaktiviert werden muss.
Symcon läuft dann beim debuggen in der Konsole. Und es geht nur unter Windows.
Michael
Oh, Schade. Eine richtige IDE für IPS wäre schon was Gutes. Kann man also definitiv nicht in IPS spezifizieren, dass man etwas anderes als die klobige Browser-Konsole für Entwicklung verwenden will?
Das wäre auch schon lange ein Wunsch von mir. Etwas mit dem man richtig debuggen kann und sich nicht nur mit echo Ausgaben behelfen muss wäre ein Träumchen.
Wenn sich hier jemand richtig gut mit VSC auskennt, dann kann er sich gerne melden.
Das debuggen selber geht schon, mit viel basteln. Aber die richtige Integration in VSC, da hört es dann bei mir auf.
Wobei es dann folgende Restriktionen gibt:
Nur für Entwicklungssysteme (also nicht den permanent laufenden Dienst).
Nur unter Windows.
Und vermutlich nur für PHP-Module.
Michael
PS: Eigentlich müsste man auf IPS 5.5 warten; oder so lange bis man den Ordner der UserDaten per Parameter übergeben kann
ich muss das Thema leider noch einmal neu beleben, da ich mich der VSCode Extension noch nicht so ganz zurecht komme.
Aktuell wechsle ich von Eclipse zu VSCode, da es VSCode mit den unzähligen Erweiterungen doch erheblich einfacher macht zu entwickeln und vor allem zu deployen. Dabei nutze ich für PHP die Extension PHP Intelephense, da sich diese für meine Bedürfnisse als die beste Erweiterung herausgestellt hat.
Nun bin ich auch über die Extension for IP-Symcon gestolpert und habe mir diese installiert. Ich konnte bisher jedoch nicht feststellen, was genau mir diese Erweiterung bietet. Intelephense erkennt nach wie vor die IPS-Funktionen nicht. Stattdessen muss ich mir die functions.php von Github manuell herunterladen und in Intelephense der intelephense.environment.includePaths einbinden. Das ist zwar der etwas unschönere Weg, aber es funktioniert erst einmal.
Damit erkennt Intelephense jedoch die Variable $_IPS nicht korrekt und ich muss diese stets als global $IPS; definieren. Auch das ist nicht besonders schön. Daher die Frage, ob den schon jemand Erfahrungen mit VSCode und den Extension PHP Intelephense sowie Extension for IP-Symcon gesammelt hat.
Nein, das ist nicht wirklich möglich. Du müsstest die VSCode Erweiterung erweitern, damit diese einen passenden Button in VS Code erstellt, welches dies per JSON-RPC auslöst.
Wollte mal fragen ob es in nächster Zeit ein Update von der Erweiterung gibt. IPS hat sich ja seit der 5.5 mächtig weiterentwickelt und die auswählbaren Konfigurationstypen wurden auch erweitert