Kommentare hinter Scriptzeilen "ausrichten"? Hat das schon jemand gemacht?

  • Hi,
    Ich verwende regelmäßig Tidy, um Scripte "in Form" zu bringen. Was mich allerdings stört, ist das dabei die Kommentare nach den eigentlichen Scriptzeilen mit einem Leerzeichen Abstand hinter das letzte Zeichen des AutoIt-Befehls gehängt werden. Aus den per Tab untereinander ausgerichteten Kommentaren (wieso werden die hier im Forum bei Verwendung der AutoIt-Tags nicht exakt ausgerichtet, bzw wie kann ich das beeinflussen?)

    [autoit]

    for $i=1 to 22 ;Kommentar
    $e=stringtobinary($i) ;Kommentar, die in Scite exakt per Tab untereinander ausgerichteten Kommentare werden hier in der Darstellung "zerpflückt"
    Consolewrite($e&@crlf) ;Kommentar
    next ;Kommentar

    [/autoit]

    wird nach Tidy

    [autoit]

    For $i = 1 To 22 ;Kommentar
    $e = StringToBinary($i) ;Kommentar
    ConsoleWrite($e & @CRLF) ;Kommentar
    Next ;Kommentar

    [/autoit]

    Ziel ist:

    [autoit]

    For $i = 1 To 22 ;Kommentar
    $e = StringToBinary($i) ;Kommentar
    ConsoleWrite($e & @CRLF) ;Kommentar
    Next ;Kommentar

    [/autoit]

    wobei ich den Zwischenraum zw. Code und den Kommentaren im letzten Beispiel mit Leerzeichen "per Hand" angepasst habe, damit es hier im Forum "ausgerichtet" dargestellt wird.

    Die Ausrichtung innerhalb von Scite bekomme ich per Script hin, aber wie funktioniert das mit der Ausrichtung hier im Forum? Ich benutze fürs Editieren eines Beitrags immer den "Quellcode"-Modus.

  • Und was ist jetzt genau dir Frage? Das Ausrichten in Scite hast ja scheinbar hinbekommen:


    Die Ausrichtung innerhalb von Scite bekomme ich per Script hin

    Und das Ausrichten im Forum ist etwas das halt in dem Forenplugin nicht vorgesehen ist.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Zitat

    Und das Ausrichten im Forum ist etwas das halt in dem Forenplugin nicht vorgesehen ist.

    oki, das ist mal ne Ansage, dann brauche ich mir über Formatierungen garkeine Gedanken machen!

  • Musst mal »Gun-Food« sagen, weil so wie ich das sehe ist die Autoit-Formatierung selbst erstelltes Formatierungsschema für TinyMCE.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hmm, da gibt es einige Fallstricke ...

    Das einfachste wäre es die Tabs im Code/Text in Leerzeichen umzuwandeln.
    Da die Tabweite variieren kann, ist das wohl der beste Weg.
    Ich benutze z.B. eine Tabweite von 5 Leerzeichen, das Plugin scheint 4 zu nutzen ...


    Gruß
    Greenhorn


  • Zitat

    Hmm, da gibt es einige Fallstricke ...

    So siehts aus, bei einer proportionalen Schrift, wie sie hier im Forum verwendet wird, ist das sowieso hinfällig und müsste komplett angepasst werden!

  • So siehts aus, bei einer proportionalen Schrift, wie sie hier im Forum verwendet wird, ist das sowieso hinfällig und müsste komplett angepasst werden!


    Der AutoIt-Codeblock wird mit einer nichtproportionalen Schrift dargestellt. Da jedoch einige Zeichen Fett und andere normal dargestellt werden, könnte sich das ganze trotzdem verschieben, ich hab aber noch nichts bemerkt.

    [autoit]

    $test = 12 ; nach 20 Zeichen
    For $i = 1 To 2 ; nach 20 Zeichen

    [/autoit]
  • Hi,

    Zitat

    Da jedoch einige Zeichen Fett und andere normal dargestellt werden, könnte sich das ganze trotzdem verschieben, ich hab aber noch nichts bemerkt.

    Das liegt daran, dass bei deinem Beispiel so gut wie alle Zeichen Fett sind^^

    [autoit]

    #AutoIt3Wrapper_UseUpx=n ;Aufgefüllt mit Leerzeichen
    #AutoIt3Wrapper_UseUpx=n ;Aufgefüllt mit Tabs
    iiiiiiiiiiiiiiiiiiii ;20xi und 60 Leerzeichen
    aeklpfjopaoghpaijerhfpkjdfnpvkjbnapvj.. ;40 zufällige Zeichen und 40 Leerzeichen

    [/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode", 1) ;Leerzeichen
    Local $hWnd, $hGraphic, $hBitmap, $hBackbuffer, $hBrush ;Leerzeichen
    Opt("GUIOnEventMode", 1) ;Tab
    Local $hWnd, $hGraphic, $hBitmap, $hBackbuffer, $hBrush ;Tab
    For $i=1 to 20 ;Tabulatoren

    [/autoit]

    Was funktioniert ist das Auffüllen mit Leerzeichen zwischen Code und Kommentar, dann wird beim "zurückkopieren" aus der Forendarstellung nach Scite wenigstens dort "richtig" ausgerichtet (Scite ist bei mir nichtproportional...)

  • Hmm, bei mir wird auch in deinem Beispiel alles richtig ausgerichtet angezeigt (bis auf die Tabs)
    Schrift ist Courier New, bei manuell eingestelltem Consolas funktioniert es nicht.

  • Hmm, bei mir wird auch in deinem Beispiel alles richtig ausgerichtet angezeigt (bis auf die Tabs)
    Schrift ist Courier New, bei manuell eingestelltem Consolas funktioniert es nicht.

    Du hast das Beispiel von Andy nach Scite kopiert, dort alle Kommentare exakt untereinander ausgerichtet und beim zurückkopieren ins Forum bleibt diese exakte Anordnung bei dir bestehen?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Du hast das Beispiel von Andy nach Scite kopiert, dort alle Kommentare exakt untereinander ausgerichtet und beim zurückkopieren ins Forum bleibt diese exakte Anordnung bei dir bestehen?


    Das Beispiel von Andy ist bereits exakt ausgerichtet. Sowohl in SciTE als auch im Forum. (nur die Zeilen mit Tabs stimmen nicht)

  • Vorgehensweise des Beispiels:
    In Scite erstellt, Kommentare per Leerzeichen / Tabs ausgerichtet, in den Foreneditor kopiert, von der Forensoftware "rendern" lassen und per "Code kopieren" Button nach Scite zurückkopiert.(Die Tabs werden dabei automatisch durch Leerzeichen ersetzt).

    Da es aber durchaus vorkommen kann, dass "halbe" oder "viertel" Tabs bis zum nächsten Tabstop durch die volle Anzahl der Leerzeichen ersetzt werden, verschiebt sich der Text auch beim Zurückkopieren.
    Daher werde ich in Zukunft "wild" Kommentare setzen und einfach per Script vor dem Posten zwischen Code und Kommentar mit Leerzeichen auffüllen. Somit ist wenigstens nach dem zurückkopieren der Quellcode richtig ausgerichtet. Wie das im Forum aussieht ist zweitrangig, da sowieso nicht ohne weiteres anpassbar.
    Alternative wäre, sowohl ein ein "Ausrichten-Script" fürs Forum und eins für Scite zu erstellen, dann kann jeder machen was er will^^. Schaumamal...

  • Die Ausrichtung innerhalb von Scite bekomme ich per Script hin ...


    Das würde mich interessieren, da ich das selbe Problem habe.
    Kann man tidy dazu bringen, die Kommentare nicht zu verändern oder braucht es da ein anderes Hilfsmittel?

  • Über die "neue" Version (beta) von Tidy bin ich überhaupt darauf gekommen, evtl. wäre es mal Zeit, Jos zu fragen ob man diese Funktion in Tidy integrieren könnte.
    Allerdings könnte man auch einfach in den SciteUser.propreties ein Ctrl+T auf ein Batch umleiten, dass zuerst Tidy, und im Anschluss daran den "Kommentarausrichter" aufruft.

    Zzt. habe ich ein quick&dirty-Script, welches die einzelnen Längen der Zeilen analysiert und daraufhin eine Position für den Kommentar errechnet. Somit kann man sich sparen, eine feste Position vorzugeben.
    Bissl Kleinkram ist noch zu tun, wenn ich damit zufrieden bin, geht es online^^

  • Cool - danke!