Diskussion zu: FAQ SciTE Editor

  • Ich denke, ich habe die richtige Version, oder?

    Hehe, das ist wohl Ansichtssache... wenn du mich fragst, dann nein!

    Warum?

    Weil alle Version > 3.7.5 nicht mehr den Export luaL_register haben, und somit die shell.dll nicht mehr eingebunden werden kann. Dadurch laufen dann quasi alle Lua-Scripte von BugFix nicht mehr, und das sind bei mir einige.

    Deshalb benutze ich noch die Version 3.7.5... unter Programme und Features in Windows 10 wird mir diese als SciTE4AutoIt3 19.102.1901.0 angezeigt.

    Also installiert habe ich das aktuelle SciTE4AutoIt3... zumindest halbwegs aktuell, und dann aber die SciTE.exe durch meine alte 3.7.5 ersetzt.

  • Habe ich vor kurzem mit der letzten AutoIt-Version bekommen, die ich hier im Homeoffice neu installiert habe - glaube ich zumindest. Wundert mich jetzt nicht, dass so einiges bei mir anders war. Also SciTE neu aufsetzen - wie am sichersten und richtig?

    :)

  • Habe ich vor kurzem mit der letzten AutoIt-Version bekommen

    Dann hättest du nur die SciTE-Lite... und die kannst du vergessen. Ob dem so ist, siehst du, wenn dir in Windows 10 unter Programe und Features keine SciTE4AutoIt3 angezeigt wird. Denn SciTE4AutoIt3 musst du separat installieren! Hier bekommst du es her: SciTE4AutoIt3 und dort wird auch erklärt, wie du es installieren musst. Wo du die ältere Version findest, kann ich momentan nicht sagen, aber notfalls kannst du sie von mir bekommen.

    Also SciTE neu aufsetzen - wie am sichersten und richtig?

    Das wie war ja schon geklärt... wie am sichersten... schwer zu beantworten, kommt auf deine Installation an, bzw. was du daran geändert hast... aber wenn du folgende Verzeichnisse sicherst, sollte nichts schief gehen:

    Halt, noch besser... hier kannst du sehen, wie ich es mache und hast somit auch gleich die Verzeichnisse... oder du benutzt meinen Batch... musst dann nur die Pfade anpassen.

    Einmal editiert, zuletzt von Bitnugger (3. Oktober 2020 um 15:59)

  • Habe nur auf Deutsch umgestellt und "unused vars" eingefügt - ich habe SciTE immer nur oberflächlich benutzt und gar nicht gewusst, welche nützlichen Funktionen schon implementiert sind :thumbup:

    :)

  • Kannst Du mir auch noch kurz das Versioning erklären? Ich bin im Moment so ins Programmieren vertieft, dass ich die Anleitung dazu, weil nicht sofort verstanden, erstmal beiseite gelegt habe.

    :)

  • Kannst Du mir auch noch kurz das Versioning erklären?

    Hm, ich denke mal, du meinst das hier: Using SVN Versioning on a local Computer

    Ich benutze allerdings eine einfachere Lösung von BugFix , da ich ein Einzelkämpfer bin: TimeStamp - erweitert zu kleiner Versionsverwaltung für (.au3 und .lua) alle Typen

    Das sieht dann etwa so aus:

    Es können folgende Marker gesetzt werden (direkt hinter die aktuelle Versionsnummer):

    - v Subversionsnr. wird um 1 erhöht

    - V Mainversionsnr. wird um 1 erhöht, Subversionsnr. wird auf 0 gesetzt

    - n die autom. Zählung ist nicht aktiv - aber eine per Hand eingetragene Änderung der Versionsnr. wird übernommen

    Steht aber auch alles sehr gut erklärt auf der Seite...

  • Wie kann man in SciTE4AutoIt3 eine weitere Hilfedatei einbinden, z.B. für Lua?

    Die Hilfe soll immer mit F1 aufgerufen werden, also die jeweils entsprechende Hilfe für Au3- und Lua-Scripts.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

  • Ok, ich kriegs nicht gebacken. Damit der Thread hier nicht unnötig aufgebläht wird, werde ich dafür einen eigenen Thread erstellen.

    Im Moment macht mich was anderes fix und fertig: Ich hasse es, wenn ein Programm macht, was ich sage, anstatt was ich meine. Zum Beispiel wenn du jemandem sagst: "schmeiß mal die Fernbedinung rüber" und du dann in Deckung gehen musst.

    Es geht um das Ein-Auskommentieren von Code. SciTE nimmt "Block Comment or Uncomment" viel zu wörtlich und toggled jede einzelne Zeile in einem markierten Block, anstatt den ganzen Block auszukommentieren. Auskommentiere Zeilen kommentiert es ein, einkommentierte Zeilen kommentiert es aus. Das nervt gewaltig!

    Aus

    local sel = props["CurrentSelection"] \

    if sel == "" then manual = "file:///C:/CODE/Lua/doc/lua5.3/manual.html" end \

    #~ shell.exec('"'..chrome..'" "'..manual..sel..'"') 

    #~ os.execute('start "'..WaterFox..'" "'..manual..sel..'"') 

    command.help.subsystem.$(file.patterns.lua)=3

    wird

    #~ local sel = props["CurrentSelection"] \ 

    #~ if sel == "" then manual = "file:///C:/CODE/Lua/doc/lua5.3/manual.html" end \ 

    shell.exec('"'..chrome..'" "'..manual..sel..'"')

    os.execute('start "'..WaterFox..'" "'..manual..sel..'"')

    #~ command.help.subsystem.$(file.patterns.lua)=3

    Wie stelle ich ein, dass es einen ganzen Block auskommentiert, wenn die erste Zeile des markierten Blocks einkommentiert ist?

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

    • Offizieller Beitrag

    Es geht um das Ein-Auskommentieren von Code. SciTE nimmt "Block Comment or Uncomment" viel zu wörtlich und toggled jede einzelne Zeile in einem markierten Block, anstatt den ganzen Block auszukommentieren. Auskommentiere Zeilen kommentiert es ein, einkommentierte Zeilen kommentiert es aus. Das nervt gewaltig!

    Du befindest dich dort in einer *.properties - Datei. Da gibt es keinen Blockkommentar! Jede Zeile wird deshalb mit einem Kommentarzeichen versehen.

    • Offizieller Beitrag

    In Au3 Dateien ist es aber genauso.

    Dann prüfe mal deine Einstellungen. So sollte es in etwa aussehen:

    Code: SciTEUser.properties
    #Comments functions definition
    comment.block.au3=;~
    comment.block.at.line.start.au3=1
    comment.stream.start.au3=#cs
    comment.stream.end.au3=#ce
    comment.box.start.au3=#cs
    comment.box.middle.au3=
    comment.box.end.au3=#ce
  • Leider keine Änderung. Funktioniert es denn bei dir? Beispiel:

    Wenn ich nun den ganzen Block markiere (von While bis WEnd) und den Shortcut für Blockkommentar drücke, wird alles was auskommentiert ist einkommentiert und umgekehrt. Ist das bei dir anders?

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

    • Offizieller Beitrag

    Ist das bei dir anders?

    Ja - obiger Code komplett markiert: Strg+Shift+Q ergibt

    Hast du evtl. deinen Shortcut für Blockkommentar überschrieben?


    Edit:

    Allerdings hat diese Funktion noch nie als Toggle funktioniert - du kannst also nur den Blockkommentar setzen.

  • obiger Code komplett markiert: Strg+Shift+Q ergibt

    Du hast den Befehlt für "Stream Comment" benutzt, nicht "Block Comment!. 8o

    Wenn meine Lua Kenntnisse mal groß genug sind, schreibe ich vielleicht eine Routine, die sich nur an der ersten markierten Zeile orientiert. Ist die erste Zeile einkommentiert, werden alle markierten Zeilen auskommentiert, egal ob sich schon auskommentiert sind, oder nicht.

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.

    • Offizieller Beitrag

    Du hast den Befehlt für "Stream Comment" benutzt, nicht "Block Comment!.

    Genau, weil BlockComment nicht funktioniert. Hatte ich mich gar nicht dran erinnert, dass dem so ist und ich das umgestellt hatte.

    Ich werd mal eine ordentliche Block-Comment-Toggle-Funktion schreiben.

    schreibe ich vielleicht eine Routine, die sich nur an der ersten markierten Zeile orientiert. Ist die erste Zeile einkommentiert, werden alle markierten Zeilen auskommentiert, egal ob sich schon auskommentiert sind, oder nicht.

    Dann wirst du bald merken, dass das kontraproduktiv ist. In 99% aller Fälle (jedenfalls bei mir) kommentierst du Zeilen aus, weil du eine andere Codezeile einfügst und die vorige dann auskommentierst. Du switchst also zwichen den beiden Zeilen (oder auch Zeilenblöcken). Und da ist es natürlich super, wenn du alles markierst und die Kommentierung dann wechselt.

  • Und da ist es natürlich super, wenn du alles markierst und die Kommentierung dann wechselt.

    Das stimmt wohl und kommt auch bei mir häufig vor. Aber ebenso häufig kommt es vor, dass ich beim Testen z.B. eine ganze Funktion dupliziere, die alte auskommentiere und in der neuen arbeite. Die alte kommentiere ich komplett aus und benutze sie als Orientierung, während ich in der neuen Funktion nach herzenslust neues reinschreiben oder altes löschen kann. Wenn ich dann vor lauter testen und recherchieren nicht mehr weiß, wie der Ausgangs-Code war, ist die alte auskommentierte Funktion ja direkt darüber und ich kann nachsehen. ;)

    Ich werd mal eine ordentliche Block-Comment-Toggle-Funktion schreiben.

    Prima! :)

    Wenn jemand sagt: "Das geht nicht!" Denke daran: Das sind seine Grenzen, nicht deine.