Ergänzung der IDE um eigene Deklarationshinweise
Ergänzung der IDE um eigene Deklarationshinweise
Hält man in der IDE die Maus über einer Deklaration wie bspw. TEdit.OnKeyPress erscheinen doch im angezeigten Hint neben der Deklaration und des Sourcefiles u.a. auch Hinweise unter der Rubrik Description.
Gibt es einen einfachen Weg, solch eine Description projektbezogen auch für eigene Deklarationen anzulegen? Es ist tlw. recht umständlich, wenn man jedesmal bspw. zu umfangreichen eigenen Konstantendeklarationen o.ä. scrollen muss.
Gibt es einen einfachen Weg, solch eine Description projektbezogen auch für eigene Deklarationen anzulegen? Es ist tlw. recht umständlich, wenn man jedesmal bspw. zu umfangreichen eigenen Konstantendeklarationen o.ä. scrollen muss.
Re: Ergänzung der IDE um eigene Deklarationshinweise
Das macht man mit fpdoc. Siehe http://www.lazarusforum.de/viewtopic.ph ... oc#p108100
Sind die Hilfe-Texte für ein Projekt oder ein Package gedacht?
Sind die Hilfe-Texte für ein Projekt oder ein Package gedacht?
Re: Ergänzung der IDE um eigene Deklarationshinweise
Ich danke für die schnelle Hilfe. Ich hatte allerdings gehofft, dass es einfacher geht 
Quasi wie eine Art Kommentar mit optionaler Direktive.
Ich brauche diese Kommentare nur für bestimmte Units, die ich dann aber in diversen Projekten einsetze.

Quasi wie eine Art Kommentar mit optionaler Direktive.
Ich brauche diese Kommentare nur für bestimmte Units, die ich dann aber in diversen Projekten einsetze.
Re: Ergänzung der IDE um eigene Deklarationshinweise
So schlimm ist das nicht, kostet nur etwas Vorbereitung:
Zunächst denke ich, dass du musst gemeinsam genutzten Units in ein Package packen und dieses dann in den jeweiligen Projekten als benötigtes Package einbinden musst (auf keinen Fall einen Pfad zu den Quell-Dateien setzen). Das zum allgemeinen Vorgehen, hat noch nichts mit den Hilfe-Popups zu tun, aber sonst funktioniert's nicht. Da du wahrscheinlich nur Runtime-Routinen drinnen haben wirst, erkläre des package zum Runtime-Package, dann musst du nichts installieren, sondern nur einmal das Package kompilieren.
Nun zu den Popups: Bei einem Package kannst du unter "Einstellungen" > "IDE-Integration" > "FPDoc-Einstellungen" einen Ordner (idealerweise im Package-Verzeichnisbaum) eintragen, in dem die Hilfetexte (als xml-Dateien) abgelegt werden sollen.
Öffne aus dem "Ansicht"-Menü den FPDoc-Editor. Öffne eine der Units, für die du Hilfetexte schreiben willst. Kilcke auf "Hilfepunkt erzeugen" und das Save-Icon - nun hast du eine (leere) XML-Hilfe-Datei in dem oben angelegten FPDoc-Ordner. Diese funktioniert schon: fahre mit der Maus über die diversen Bezeichner in dieser Unit, und es poppen zumindest die Aufrufparameter von Prozeduren etc. auf.
Um einen speziellen Hilfetext zu schreiben, klicke auf den Bezeichner, zu dem der Hilfetext gehören soll. Ich spiele das gerade für die Komponente TKnob aus dem Industrial-package durch: Datei "mknob.pas" laden, unter "type" auf TKnob klicken. Nun kannst du im Feld "Kurz" eine Kurzzusammenfassung über den Sinn und Zweck der Komponente schreiben - bei TKnob wäre das: "Drehknopf für die Einstellung von Integer-Werten". Speichern. Und wenn du nun über ein "TKnob" im Quelltext fährst, das irgendwo stehen kann, erscheint dieser Hilfe-Text. Wiederhole das für alle Bezeichner, die du dokumentieren möchtest.
Um einen bereits geschriebenen Text zu bearbeiten, einfach den Cursor wieder auf den betreffenden Bezeichner setzen, und der entsprechende Teil der xml-Datei wird automatisch geladen.
Wenn du einen längeren Text schreiben willst, tu das unter der Lasche "Beschreibung".
Die Buttons an der Seite erlauben HTML-Code einzuschleusen, dass man z.B. das aktuell markierte Wort fett erhält. Man kann auch Links zu anderen Hilfepunkten einbauen, usw. usf.
Zunächst denke ich, dass du musst gemeinsam genutzten Units in ein Package packen und dieses dann in den jeweiligen Projekten als benötigtes Package einbinden musst (auf keinen Fall einen Pfad zu den Quell-Dateien setzen). Das zum allgemeinen Vorgehen, hat noch nichts mit den Hilfe-Popups zu tun, aber sonst funktioniert's nicht. Da du wahrscheinlich nur Runtime-Routinen drinnen haben wirst, erkläre des package zum Runtime-Package, dann musst du nichts installieren, sondern nur einmal das Package kompilieren.
Nun zu den Popups: Bei einem Package kannst du unter "Einstellungen" > "IDE-Integration" > "FPDoc-Einstellungen" einen Ordner (idealerweise im Package-Verzeichnisbaum) eintragen, in dem die Hilfetexte (als xml-Dateien) abgelegt werden sollen.
Öffne aus dem "Ansicht"-Menü den FPDoc-Editor. Öffne eine der Units, für die du Hilfetexte schreiben willst. Kilcke auf "Hilfepunkt erzeugen" und das Save-Icon - nun hast du eine (leere) XML-Hilfe-Datei in dem oben angelegten FPDoc-Ordner. Diese funktioniert schon: fahre mit der Maus über die diversen Bezeichner in dieser Unit, und es poppen zumindest die Aufrufparameter von Prozeduren etc. auf.
Um einen speziellen Hilfetext zu schreiben, klicke auf den Bezeichner, zu dem der Hilfetext gehören soll. Ich spiele das gerade für die Komponente TKnob aus dem Industrial-package durch: Datei "mknob.pas" laden, unter "type" auf TKnob klicken. Nun kannst du im Feld "Kurz" eine Kurzzusammenfassung über den Sinn und Zweck der Komponente schreiben - bei TKnob wäre das: "Drehknopf für die Einstellung von Integer-Werten". Speichern. Und wenn du nun über ein "TKnob" im Quelltext fährst, das irgendwo stehen kann, erscheint dieser Hilfe-Text. Wiederhole das für alle Bezeichner, die du dokumentieren möchtest.
Um einen bereits geschriebenen Text zu bearbeiten, einfach den Cursor wieder auf den betreffenden Bezeichner setzen, und der entsprechende Teil der xml-Datei wird automatisch geladen.
Wenn du einen längeren Text schreiben willst, tu das unter der Lasche "Beschreibung".
Die Buttons an der Seite erlauben HTML-Code einzuschleusen, dass man z.B. das aktuell markierte Wort fett erhält. Man kann auch Links zu anderen Hilfepunkten einbauen, usw. usf.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Ergänzung der IDE um eigene Deklarationshinweise
Das ist echt perfekt. Ich kannte das noch gar nicht.
Mich hat es schon immer gestört, Kommentare direkt in den Quelltext zu schreiben, weil das schnell unübersichtlich wird und in separaten Dateien muss dann erst wieder die richtige Datei gefunden werden und in dieser die richtige Stelle etc.
Mich hat es schon immer gestört, Kommentare direkt in den Quelltext zu schreiben, weil das schnell unübersichtlich wird und in separaten Dateien muss dann erst wieder die richtige Datei gefunden werden und in dieser die richtige Stelle etc.
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Ergänzung der IDE um eigene Deklarationshinweise
Wird damit auch die "F1"-Hilfe erzeugt?wp_xyz hat geschrieben:Das macht man mit fpdoc.
Re: Ergänzung der IDE um eigene Deklarationshinweise
Du kannst fpdoc verwenden, um aus den xml-Hilfetexten die chm-Hilfedatei zu erzeugen. Die Hilfedateien lcl.chm und lazutils z.B. werden mit dem speziellen Programm build_lcl_docs erzeugt (docs/html), das einen Wrapper für fpdoc darstellt - am Quelltext sieht man in etwa wie das geht. Vor kurzem habe ich für TAChart einen Batch hochgeladen, mit dem man die chm-Datei durch einen direkten fpdoc-Aufruf erzeugen kann (components/tachart/fpdoc/chm). Allerdings weiß ich noch nicht, wie man diese Datei so in die IDE einbinden kann, dass sie beim Druck auf F1 erkannt wird.kupferstecher hat geschrieben:Wird damit auch die "F1"-Hilfe erzeugt?
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Ergänzung der IDE um eigene Deklarationshinweise
Hallo wp,
danke für die Antwort!
Da muss ich mich mal mit beschäftigen, ich ärger mich immer, wenn ich die eigenen Programme nicht mehr richtig versteh~
danke für die Antwort!
Da muss ich mich mal mit beschäftigen, ich ärger mich immer, wenn ich die eigenen Programme nicht mehr richtig versteh~
Re: Ergänzung der IDE um eigene Deklarationshinweise
Nochmals vielen Dank für die erschöpfenden Tipps!
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Ergänzung der IDE um eigene Deklarationshinweise
Kann glaube ich noch nicht. Es gibt nur feste Eintrachten im help->help options->databases listbox. Aber vielleicht kann man das mit ein kleinem Hack ausbreiten.wp_xyz hat geschrieben: Allerdings weiß ich noch nicht, wie man diese Datei so in die IDE einbinden kann, dass sie beim Druck auf F1 erkannt wird.