IP-Symcon Funktions-Dokumentor

Einsatz:

Script zur Generierung einer Doxygen basierten Funktionsreferenz für alle geladenen Module und interne Funktionen von Symcon

Hinweis:
Ab IPS 5.0 gibt es ein offizielles Script zur Generierung der Funktionsliste sowie eine vorgenerierte Liste direkt vom IPS Team !

Download:

Funktion:
IPS bietet in seinem internen Editor die Möglichkeit, mittels "CTRL-SPACE" eine Auflistung der enthaltenen Funktionen zur Auswahl zu bekommen. Anschliessend werden über Tooltips die Parameter eingeblendet. Dieser Editor bietet aber ansonsten nur einen begrenzten Komfort und jeder Entwickler bevorzugt sowieso seinen persönlichen Lieblingseditor. Dort fehlt dann aber wieder die Möglichkeit die Funktionsreferenz zu erhalten.
Zudem ist die offizielle IP-Symcon Dokumentation stellenweise lückenhaft, so das der Wunsch entstand, eine selbstgenerierende Functionsreferenz zu erstellen.
Für PHP (und für andere Sprachen) verwende ich dafür Doxygen als ein "Quasistandard" für Inline-Dokumentation. Der Vorteil gegenüber dem bekannteren PHPDoc liegt in der Sprachunabhängigkeit bei Nutzung fast identischer Syntax.
Mein Script verwendet eine interne IPS-Funktion zur Generierung eines PHP-Scriptes mit den Funktionsprotypen und legt sie, zusammen mit den enthaltenen Zusatzinformationen als DOCBlocks in dieser Datei ab. Diese Datei kann jetzt von Doxygen analysiert und in eine der vielen Ausgabeformate gewandelt und außerdem im Lieblingseditor als Funktionsreferenz geladen werden. Der Editor muss Syntaxhighlighting und Intellitipps auf Sourcecode-Basis unterstützen, wie z.B. Ultraedit, oder es müssen die entsprechenden Wortlisten aus der Datei extrahiert werden.

Installation

In der IPS-Konsole muss ein neues Script mit dem Inhalt von gen_ips_wrapper.php angelegt und gestartet werden. Im IPS Hauptverzeichnis wird dadurch eine neue Datei mit dem Namen "ips_wrapper.php" erzeugt, eine evtl. existierende Datei wird überschrieben. Diese Datei kann dann mit Hilfe Doxygen in verschiedene Formate (HTML,CHM,PDF usw.) erzeugt werden. Für die Konfiguration von Doxygen verweise ich auf die eigene Dokumentation, ein Quickstart-Dokument befindet sich hier.

Ergebnis:

IPS Function Wrapper

Das Script gehört zum JSON API Wrapper. Hierbei werden die ermittelten Funktionen lediglich noch mit einem Aufruf der IPS_JSON Klasse ergänzt.

Index
Disclaimer

© 2006+ Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 04.01.2022