ConsoleWrite() rot färben und trotzdem per Zeilennummer ins Programm springen

  • Neues Problem:

    Ich schreibe viele Debug-Zeilen zum Testen und würde die rot anzeigen wollen, bei denen $iErr <> 0 ist. Setze ich "!" an den Anfang dieser Zeilen, werden sie rot - aber ich kann nicht mehr mit Klick auf die Zeilennummer automatisch ins Programm springen.

    Gibt es eine Möglichkeit zum Färben unter Erhalt der Sprungfunktion?


    • Offizieller Beitrag


    Das Muster für ROT muss exakt so sein:

    min-1-Zeichen Leerzeichen In-runden-Klammern: Zeilennr (optional: ,Spalte) Leerzeichen Doppelpunkt-IstGleich TEXT


    EDIT:

    Du kannst auch andere Farben verwenden. Dazu musst du in der SciTEUser.properties die entsprechenden Einträge ändern/erstellen:

  • Danke für die Info - mir fehlt allerdings das Hintergrundwissen zu den Möglichkeiten in SciTEUser.properties. "style.errorlist.3" etc. müssen ja irgendetwas an Programm dahinter haben, vielleicht ist ein"...x" das was ich suche?

    Ich habe verstanden, dass ich mit dem Voransetzen eines "Farb-Zeichens" wie z.B. "!" zwar eine Farbe in der Zeile beeinflusse, aber dass gleichzeitig die Sprungfunktion damit nicht mehr geht (richtig?).

    Was ich wollte ist an sich gleich aussehende Sprungzeilen verschieden einzufärben, also z.B. so:

    (gefaked, nicht irritieren lassen ;) .

    Vielleicht gibt es ja eine "style.errorlist.x", mit der man so etwas machen kann (oder anders)?

    Ist kein wirklich dramatisches Problem, im Moment erzeuge ich einfach eine rote Zwischenzeile bei $iErr<>0 und danach überlasse ich die Farben wieder sich selbst. Wäre trotzdem nice-to-have.

    • Offizieller Beitrag

    Danke für die Info - mir fehlt allerdings das Hintergrundwissen zu den Möglichkeiten in SciTEUser.properties. "style.errorlist.3" etc. müssen ja irgendetwas an Programm dahinter haben, vielleicht ist ein"...x" das was ich suche?

    Wofür die einzelnen style.errorlist.n zuständig sind habe ich doch oben detailliert angeführt:

    n = 3 - Sprungmarke Fehler (Standard: rot)

    n = 9 - Sprungmarke Info (Standard: pink)

    n = 4, 10, 11, 12 - abhängig vom ersten Zeichen (z. B. ! - rot)


    Im Normalfall brauchst du daran nichts ändern.


    Ich habe verstanden, dass ich mit dem Voransetzen eines "Farb-Zeichens" wie z.B. "!" zwar eine Farbe in der Zeile beeinflusse, aber dass gleichzeitig die Sprungfunktion damit nicht mehr geht (richtig?).

    Richtig, es gibt nur die 2 oben genannten Sprungmarken, die geparst werden können. Dazu muss deren Muster exakt eingehalten werden.

    Error: 'STRING-oder-INTEGER (ZEILEN-NR[,SPALTE]) := TEXT'

    Info: 'INTEGER-oder-STRING_ohne_Leerzeichen & @TAB & @TAB & ZEILEN-NR'


    Was ich wollte ist an sich gleich aussehende Sprungzeilen verschieden einzufärben, also z.B. so:

    Das ist standardmäßig nicht möglich, da die Farbgebung über den Lexer erfolgt und dieser anhand eines Musters entscheidet, welcher style.errorlist.n vorliegt.


    Wäre dir geholfen mit einer Funktion: ConsoleWriteColor($sText, $iColor) ?

    Sollte m.M. nach nicht allzu schwierig umzusetzen sein mithilfe des SciTEInterface.

  • Wofür die einzelnen style.errorlist.n zuständig sind habe ich doch oben detailliert angeführt:

    n = 3 - Sprungmarke Fehler (Standard: rot)

    n = 9 - Sprungmarke Info (Standard: pink)

    n = 4, 10, 11, 12 - abhängig vom ersten Zeichen (z. B. ! - rot)

    Habe ich verstanden. Idee war nur, dass eine der nicht genannten n noch was Sinnvolles machen könnte. Ich habe gesucht, wo die Dinger definiert sind, aber nicht gefunden.


    Wäre dir geholfen mit einer Funktion: ConsoleWriteColor($sText, $iColor) ?

    Sollte m.M. nach nicht allzu schwierig umzusetzen sein mithilfe des SciTEInterface.

    Damit wäre mir sehr geholfen ;) Ist aber, wie erwähnt, nur ein "Nice-To-Have" und erleichtert mir das Debuggen - falls nicht zu viel Aufwand ... Die müsste aber natürlich "Sprungmarke" beherrschen.

    Ein wenig Hintergrund: ich habe ein sehr umfangreiches Programm unter Nutzung von DanPs Webdriver.udf geschrieben und mit jeder neuen Version des Chromedrivers oder Änderungen auf den genutzten Webseiten tauchen wieder neue ominöse Fehler auf. Ich gebe zu, größtenteils meine ( ;) ) aber manchmal auch nicht.

    • Offizieller Beitrag

    Ich habe gesucht, wo die Dinger definiert sind, aber nicht gefunden.

    In der Source.


    Die müsste aber natürlich "Sprungmarke" beherrschen.

    DAS ist überhaupt kein Problem, dazu kann ich eigene Sprungmarkendefinitionen erstellen. Weitaus problematischer ist die Farbgebung, da das nur mit Lexer möglich ist und ich wohl dazu versuchen müsste die styles umzubiegen.

    Was ich sicher hinbekomme:


    ConsoleWrite($sText, $bErr) ; $bErr=True(rot) / False(blau) bzw. auch die Farben der anderen style.errorlist.

    !@@ Debug(1234) : Text Fehler

    >@@ Debug(1234) : Text Sonstiges


    Ist dann mit Sprungmarke.

  • Das wäre super. Vielleicht noch alternativ $iErr=0 <=> $bErr=False und $iErr<>0 <=> $bErr=True