Documentation Comment

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Documentation Comment

Beitrag von Sicro »

@RSBasic:
Ich glaube, @MenschMarkus meint deine XML-Tags, nicht die PB-Schlüsselwörter.

Code: Alles auswählen

;<summary>
soll automatisch ergänzt werden zu:

Code: Alles auswählen

;<summary>{CURSOR}</summary>
@MenschMarkus:
Ist das Erstellen eines Templates in der PB-IDE keine Option für dich (Tools => Templates)?

Code: Alles auswählen

;<comment>
;  <summary></summary>
;  <param></param>
;  <return></return>
;  <example></example>
;</comment>
Wenn mehrere Parameter vorhanden sind, kannst du die Parameter-Zeile schnell mit Strg + D verdoppeln.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Documentation Comment

Beitrag von MenschMarkus »

Sicro hat geschrieben:@RSBasic:
Ich glaube, @MenschMarkus meint deine XML-Tags, nicht die PB-Schlüsselwörter.

Code: Alles auswählen

;<summary>
soll automatisch ergänzt werden zu:

Code: Alles auswählen

;<summary>{CURSOR}</summary>
@MenschMarkus:
Ist das Erstellen eines Templates in der PB-IDE keine Option für dich (Tools => Templates)?

Code: Alles auswählen

;<comment>
;  <summary></summary>
;  <param></param>
;  <return></return>
;  <example></example>
;</comment>
Wenn mehrere Parameter vorhanden sind, kannst du die Parameter-Zeile schnell mit Strg + D verdoppeln.
Noch besser...[THUMBS UP SIGN].
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Documentation Comment

Beitrag von Sicro »

MenschMarkus hat geschrieben:Noch besser...[THUMBS UP SIGN].
:)

Noch ein Vorschlag:
Befindet sich der Textcursor innerhalb

Code: Alles auswählen

Procedure AddItem(List items(), itemText$, itemFlags)
und es wird eine festgelegte Tastenkombination gedrückt, wird das Tool z. B. mit dem Parameter --auto-comment nochmal separat gestartet und erstellt automatisch einen vorausgefüllten Dokumentationskommentar:

Code: Alles auswählen

;<comment>
;  <summary></summary>
;  <param>List items(): </param>
;  <param>itemText$: </param>
;  <param>itemFlags: </param>
;  <return></return>
;  <example></example>
;</comment>
Procedure AddItem(List items(), itemText$, itemFlags)
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Documentation Comment

Beitrag von MenschMarkus »

Sicro hat geschrieben:und es wird eine festgelegte Tastenkombination gedrückt, wird das Tool z. B. mit dem Parameter --auto-comment nochmal separat gestartet und erstellt automatisch einen vorausgefüllten Dokumentationskommentar:

Code: Alles auswählen

;<comment>
;  <summary></summary>
;  <param>List items(): </param>
;  <param>itemText$: </param>
;  <param>itemFlags: </param>
;  <return></return>
;  <example></example>
;</comment>
Procedure AddItem(List items(), itemText$, itemFlags)
Ja, gute Idee, ABER
funktioniert nur "einfach", wenn ich eine Prozedur neu schreibe.
Ändere ich eine bestehende Prozedur für die schon eine Dokumentation existiert, wird es schon aufwändig den Kommentar durchzuarbeiten und z.B. nur einen neuen Parameter an passender Stelle einzufügen.
Also Aufwändig für RSBasic, nicht für den Anwender :oops:
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Documentation Comment

Beitrag von Sicro »

MenschMarkus hat geschrieben:funktioniert nur "einfach", wenn ich eine Prozedur neu schreibe.
Ändere ich eine bestehende Prozedur für die schon eine Dokumentation existiert, wird es schon aufwändig den Kommentar durchzuarbeiten
Ja, bestehende Dokumentationskommentare zu aktualisieren ist zu aufwendig. Wenn bereits ein Dokumentationskommentar besteht, sollte das Tool den Vorgang abbrechen.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Documentation Comment

Beitrag von STARGÅTE »

Hallo RSBasic,

irgendwie bin ich zu blöd dein schönes Tool zu bedienen.
Dein Tool arbeitet richtig, wenn die Datei nicht in einem Projekt ist.
Hängt die Datei in einem Projekt, wird kein Kommentarfester mehr angezeigt :-(
(Als ob Projekt-Tabs nicht mehr geparst werden)

Irgendwelche Ideen?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Documentation Comment

Beitrag von RSBasic »

Guten Morgen STARGÅTE,

du hast eine PN bekommen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Documentation Comment

Beitrag von MenschMarkus »

Hat mir ja keine Ruhe gelassen.

Für den Anfrang mal ein mini Templategenerator.
Datei Compilieren und speichern
Ausführbare Datei in PB unter Werkzeuge einbinden und mit beliebiger Tastenkombination verknüpfen
Nach Aufruf der Tastenkombination mit Strg+V das Template an aktuellen Cursorposition einfügen

Code: Alles auswählen

; ====================================
; Comment Addon
; Author : menschmarkus
; Date   : 24.07.2019
; PB     : PB 5.70 LTS (x86)
; Licence: zur freien Verwendung
;          ohne Gewährleistung auf Funktion
; ====================================

Procedure CommentAddon()
  Protected Query.s, found.i=0, addondir.s, filelen.i
  ;{ ===== Temporäres Verzeichnis ermitteln, ggf. erzeugen =====
  If ExamineEnvironmentVariables()
    While NextEnvironmentVariable()
      If EnvironmentVariableName() = "TEMP"
        Query = EnvironmentVariableValue()
        found = 1
        Break
      EndIf
    Wend
  EndIf
  If found = 0
    MessageRequester("Fehler","Konnte temporäres Verzeichnis nicht finden",#MB_ICONERROR)
    End
  EndIf
  ;}
  ;{ ===== Addon Verzeichnis ermitteln, ggf. erzeugen =====
  found = 0
  addondir = Query
  SetCurrentDirectory(addondir)
  If ExamineDirectory(0,addondir,"")
    While NextDirectoryEntry(0)
      Select DirectoryEntryType(0)
        Case 2
          If DirectoryEntryName(0) = "PB_Addon"
            found = 1
            addondir + "\PB_Addon"
            SetCurrentDirectory(addondir)
            
            Break
          EndIf
      EndSelect
    Wend  
  EndIf
  FinishDirectory(0)
  ;}
  ;{ ===== Addon Verzeichnis erzeugen falls nicht vorhanden. 
  ;        Falls nicht vorhanden, Basisdatei erstellen. 
  ;        Falls vorhanden, Basisdatei einlesen  =====
  If found = 0
    addondir + "\PB_Addon"
    If CreateDirectory(addondir)
      SetCurrentDirectory(addondir)
      If CreateFile(0,"comment.addon")
        WriteStringN(0,";<comment>")
        WriteStringN(0,"; <summary></summary>")
        WriteStringN(0,"; <param></param>")
        WriteStringN(0,"; <return></return>")
        WriteStringN(0,"; <example></example>")
        WriteStringN(0,";</comment>")
        CloseFile(0)
      EndIf 
    EndIf
  Else
    ReadFile(0,addondir + "\comment.addon")
    filelen = Lof(0)
    SetClipboardText(ReadString(0,#PB_File_IgnoreEOL,filelen))
    CloseFile(0)
  EndIf
  ;}
  EndProcedure
CommentAddon()
Ach ja, im Temp Verzeichnis kann die Datei "comment,addon" auch manuell nach eigenem Ermessen nachträglich editiert werden

Viel Vergnügen damit
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Documentation Comment

Beitrag von RSBasic »

Documentation Comment 1.0.7 wurde veröffentlicht.

Changelog:
  • Bugfix
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Documentation Comment

Beitrag von HeX0R »

Ich hab hier mal was Kleines gebastelt.

Ach ja @RSBasic:
Kannst Du bei Gelegenheit die Ausrichtung bei mehrzeiligen param Angaben anpassen?
Bild
Antworten