Bei NetBeans funktioniert dies leider nur pro Project.
Also nur Script öffnen ist doof.
Michael
Danke, der Tip war goldrichtig !
Ich hab immer nur unter „Tools -> Options -> Editor“ gesucht.
Ist aber entsprechend Deinem Tip unter „File -> Project Properties -> Encoding -> UTF-8“ einstellbar !
Viele Grüsse
Harald
Hallo,
da ich ganz frisch in Symcon bín, habe ich vor der selben Frage gestanden.
Der integrierte Editor ist höflich ausgedrückt suboptimal. Das einzig Positive
ist die Unterstützung die Code-Unterstützung für die Standardfunktionen.
Letztendlich bin ich bei Netbeans gelandet. Dass Netbeans eine gute IDE
ist, steht sicher ausser Frage. Zu lösende Themen waren Debugging und
die Codeunterstützung für die IPS-Funktionen. Beides gelöst
Code-Unterstützung für die IPS-Standardfunktionen
Debugging
Debugging ist super :D:D:D
Hast du die Lösung hier aus dem Forum? Ansonsten wäre es cool, wenn du für uns Wissbegierige eine kleine Anleitung schreibst
paresy
Das mit dem Debug wäre cool…
Für die Funktionsliste gibt es ja ein Script von Tommi.
Michael
Ich hatte xdebug auf Windows auch schon mal am laufen. Allerdings nicht lange, weil sich damit IPS permanent aufgehangen hat. Und für Linux gibt es die Extension für das IPS-PHP nicht.
Meine Lösung: mit meinem IPS-Wrapper die IPS -Internen Funktionen remote über die API aufrufen. Ist zwar langsam, geht aber mit einem externen PHP. Damit geht dann auch die Codevervollständigung.
Tommi
Hallo tommi,
wo finden wir denn den IPS-Wrapper?
Hab im Forum, mit dem Suchbegriff „IPS-Wrapper“, auf die schnelle nix gefunden.
Wenn sich das lohnt würd ich ja glatt von NotePad++ auf NetBeans umsteigen.
Danke für Deine Antwort.
Here we go: IPSymcon JSON API Wrapper: IPSymon JSON API wrapper
Du generierst Dir damit die Funktionsliste als PHP und bindest diese (zB. über den include Path) mit in das Projekt ein. Wie es in Netbeans funktioniert, kann ich Dir nicht sagen. Ich verwende aktuell IntelliJ mit der PHP Extension.
Zusätzlich kann man sich für die Modulentwicklung noch die __*.inc.php Dateien aus dem IPS scripts Verzeichnis
dazupacken.
Tommi
NetBeans hat ein globales und Projekt bezogenes Include.
Sollte kein Problem sein dies in den Einstellungen zu finden.
Wobei man für den Wrapper eine PHP-Umgebung braucht, oder?
Mir wäre da die Info zum direkten debuggen mit NetBeans lieb …
Michael
Das war der Einstieg.
Das war ein Bug in xdebug. Passiert mit der aktuellen Version 2.5 nicht mehr.
Ja blöd. Allerdings schließt das Debugging nicht zu 100% aus.
Der generierte Wrapper, braucht nicht einmal includiert zu sein. Es reicht, wenn die Datei irgendwo im Netbeans Projekt liegt und dann funktioniert Itellisense schon. Wenn man über den Wrapper ausführen, will braucht man ein lokales PHP. Wenn man meine Lösung macht nicht. Läuft alles über die IPS Executable.
Da ich scheinbar nicht der Einzige bin, der an einer richtigen IDE mit Debugging interessiert ist, werde ich mal eine Anleitung schreiben.
Das wäre cool.
Mein letzter Versuch mit Windows NetBeans und xDebug ging voll daneben
Michael
Ich hab die Version von tommi zwar noch nicht umgesetzt, wär aber auch an einer Lösung von predi ger many sehr interessiert.
Hallo,
hier die Anleitung für IPS auf Windows.
Step 1 - PHP Version von IPS ermitteln
Neues Script anlegen.
Code: phpinfo();
IPS 4.1 verwendet PHP Version 5.6.26
Step 2 - xdebug downloaden und installieren
Xdebug: Downloads
Xdebug: Downloads
PHP 5.6 VC11 TS (32 bit)… IPS ist 32 Bit
Verzeichnis „C:\IP-Symcon\xdebug\bin“ anlegen
php_xdebug-2.5.0-5.6-vc11.dll nach „C:\IP-Symcon\xdebug\bin“
Step 3 - php.ini
[Xdebug]
zend_extension=„C:\IP-Symcon\xdebug\bin\php_xdebug-2.5.0-5.6-vc11.dll“
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir=„C:\IP-Symcon\xdebug“
xdebug.idekey=netbeans-xdebug
Symcon neu starten damit die Änderungen an der php.ini greifen.
Step 4 -Netbeans downloaden und installieren
https://netbeans.org/downloads/
Ob x86 oder x84 ist egal.
Step 5 - Netbeans Projekt anlegen
Source-Folder: C:\IP-Symcon
Project Name: IP-Symcon
PHP: 5.6 !
Encoding: UTF-8
Url korrekt setzen inkl. Symcon Port!
… so sollte die Projektstruktur aussehen.
Step 6 - Syntax Highlightning für PHP
IPS verwendet per Default Short Tags. <?
Project --> Properties
Danach funktioniert die das Syntax Highlightning <? und <?php
Step 7 - IPS Wrapper für JSON
http://www.tdressler.net/ipsymcon/jsonapi.html
Neue ips_wrapper.php mittels gen_ips_wrapper.ips.php genieren oder einfach die vorhandene ips_wrapper.php
nach C:\IP-Symcon kopieren. Die im Download enthaltene Version wurde mit IPS 4.0 erstellt.
Der Wrapper muss nicht ins scripts. Wir wollen den nämlich nicht benutzen, sondern nur Code Unterstützung.
Dafür ist es ausreichend, wenn er irgendwo im Netbeans Projekt liegt.
Step 8 - Debugging einrichten
Tools -> Options -> PHP Debugging
Port und Session ID wie in php.ini.
Alle anderen Haken aus. Vor allem „Stop at First Line“ darf nicht an sein. Wenn das an ist und wir debuggen
bleiben alle Aufrufe (egal woher) in der ersten Zeile der „__autoinclude.inc.php“ stehen… IPS hängt defakto.
Der Haken ist absichtlich aus.
Step 9 - Debugging starten
oder
http://localhost:3777/?XDEBUG_SESSION_START=netbeans-xdebug
Step 10 - Debugging stoppen
oder
http://localhost:3777/?XDEBUG_SESSION_STOP_NO_EXEC=netbeans-xdebug
Debugging
Wenn der Debugger verbunden ist und ein Fehler auftritt, springt Netbeans automatisch in das File und an die fehlerhafte Stelle. Wenn man regulär debuggen will, Breakpoint setzen. Aktion per WebUI, Console oder Rauchzeichen ausführen. Debuggen.
Viel Spaß
predi ger many
Danke für die super Anleitung! Die Einrichtung hat problemlos geklappt.
Nur das Debuggen funktioniert bei mir nicht. Sobald ich den Debugger starte, startet das Webfront. Soweit wohl alles ok.
Aber ein gesetzter Breakpoint oder ein eingebauter Fehler werden ignoriert
Kannst du mir da noch einen Tipp geben?
Gruß
Burkhard
Also bei mir funktioniert es tadellos.
Vielen Dank dafür
Auch wenn es ‚nur‘ ein Project mit einem PHP-Modul ist, funktioniert es ebenso
Und hier mal etwas, welches ich aus der IPS-WebSite gezogen habe.
Diese Datei enthält die komplette Doku aus der IPS-Doku zu allen Funktionen und Parametern.
IPS_Functions.zip (55.7 KB)
Schaut dann so aus:
Michael
Moin,
emm … irgendwas läuft hier auch noch nicht so …
Aus IPS herraus öffnet sich schon mal gar nichts bei mir. Im Log ist zwar das zu sehen nur wo wird den nun dem Fehler nachgegangen? In IPS oder in NetBeans?
In diesem Fall, dieses Script wird von einem anderen aufgerufen und Werte übergeben. wenn ich das Script so auf rufe funktioniert es ja.
hmmm…
Grüße
Thomas
Hallo zusammen,
mir geht es ähnlich wie Burkhard und Thomas. Die Anleitung ist super und ich konnte alle Punkte ohne Probleme abarbeiten. Aber irgendwie fehlt mir die Info wie ich ein Skript debuggen kann.
Ich bin bisher so vorgegangen:
[ul]
[li]Starten von NetBeans, das zu untersuchende Script laden und Debugsession starten (Bild1).
[/li][li]Der Browser wird dann mit dem Webfront geöffnet (Bild2).
[/li][li]Im Webfront navigiere ich dann zum fehlerhaften Testscript und starte es (Bild3).
[/li][li]Im Webfront bekomme ich dann die Meldung, dass eine Variable nicht definiert ist, was ja beachsichtigt war (Bild4).
[/li][li]In NetBeans tut sich die ganze Zeit nichts.
[/li][/ul]
Von Eclipse kenne ich so, dass ich ein PHP-Script starte, dort entweder Step by Step durch den Code laufen kann oder bei gesetzen Breakpoints das Script bis dahin abgearbeitet wird. Wie kann ich denn dies mit Netbeans machen? Ich komme einfach nicht drauf.
Gruss
Bernd
An alle, welche Probleme haben: Auf welchem OS läuft euer Symcon Server?
Die Anleitung gilt nur für Symcon auf Windows. Keine andere Plattform. Für Nicht-Windows funktioniert es anders.
Hallo predi ger many,
Beim mir läuft folgende Konfiguration:
[ul]
[li]Windows 10 Pro, 64 bit, Version 1607, Build 14393.693
[/li][li]VCdist 2015 (x86), 14.0.24215
[/li][li]IP-Symcon Kernel Version 4.10, Update Version 02.01.2017
[/li][li]PHP Version 5.6.26 (das von IP-Symcon mitgebrachte PHP)
[/li][li]netbeans-8.2-php-windows-x86
[/li][li]php_xdebug-2.5.0-5.6-vc11
[/li][/ul]
Gruss
Bernd
Moin,
bei mir läuft auch die aktuelle IPS 4.1 beta auf windows 10 Pro.
Gruß
Thomas