SciTE - Array: Indexwerte automatisch setzen & statische Zuweisungen erstellen

  • Ich kann mich erinnern, dass wir vor langer Zeit festgestellt hatten, dass NPP ein nettes Feature besitzt:

    - Rechteckige Markierung (also Cursormarkierung in einer Spalte über mehrere Zeilen, <Shift+Alt+Arrow up/down>)

    - Aufruf Funktion

    - Eintragen Startwert und Schrittweite

    - Ausfüllen an allen Cursorpositionen

    EDIT v 0.3

    • Einrückungsposition der Arrayvariable wird übernommen
    • Dialogsprache (Standard EN u. GER, Erkennung anhand der "locale.properties"), kann auf weitere Sprachen ergänzt werden
    • Fehler bei falschen oder ungültigen Ubound-Werten beseitigt

    EDIT v 0.2

    Der Funktionsumfang wurde nun erweitert, die Operationen werden anhand der Markierung vorgenommen (ein Hotkey für alles) .

    • Eintragen von Index mit Auswahl von Start und Schrittweite bei Rechteckmarkierung (s.o.)
    • Erstellen von statischen Zuweisungen für 1D/2D-Arrays mit indexwerten anhand der Deklarationszeile. Es braucht nur die Arravariable markiert werden. Es wird immer getestet, ob davor Global/Local/Dim steht.
    • Erstellen von statischen Zuweisungen für 1D/2D-Arrays mit indexwerten anhand abgefragter Werte per Strip-Dialog bei Arrayvariablen ohne Deklarations-Keywort
    • To-Do: mögliche Einrückungen berücksichtigen

    Bsp. rechteckige Auswahl

    vorher ("|"=Cursor):

    AutoIt
    $array[|]
    $array[|]
    $array[|]
    $array[|]

    Starwert=0, Schrittweite=1

    nachher:

    AutoIt
    $array[0]
    $array[1]
    $array[2]
    $array[3]

    Bsp. Markierung Array-Deklaration

    vorher:

    AutoIt
    Global $arTest[3][2]

    nachher:

    AutoIt
    Global $arTest[3][2]
    $arTest[0][0] = |
    $arTest[0][1] =
    $arTest[1][0] =
    $arTest[1][1] =
    $arTest[2][0] =
    $arTest[2][1] =

    Bsp. Markierung Array ohne Deklaration

    vorher:

    AutoIt
    $arTest[0][0]

    nachher (Abfrage Anzahl Elemente im Strip-Dialog):

    AutoIt
    $arTest[0][0] = |
    $arTest[0][1] =
    $arTest[1][0] =
    $arTest[1][1] =
    $arTest[2][0] =
    $arTest[2][1] =

    Wir hatten damals auch eine AutoIt Variante dafür erstellt.

    Hier nun meine Lua-Lösung.

    Die Schrittweite kann kombiniert werden mit - * /, + ist die Voreinstellung.

    Zur Eingabe wird der Strip-Dialog von SciTE verwendet.

      

    Das Skript speichern und einer Tastenkombination zuweisen.

  • Zeige bitte mal wie/wo man eine Tastenkombination zuweisen muss.

    OK, habe das schon so oft beschrieben, dass ich dachte es kommt euch zum Hals raus. :rofl:

    Eine freie Kommandonummer auswählen und einen freien Shortcut zuweisen:

    Code: SciTEUser.properties
    # 13 Set Array Index
    command.name.13.*=Set Array Index
    command.13.*=dofile( "_DEIN_PFAD_\\SetArrayIndex.lua")
    command.mode.13.*=subsystem:lua,savebefore:yes
    command.shortcut.13.*=Ctrl+Shift+F9
  • BugFix 2. Dezember 2021 um 15:42

    Hat den Titel des Themas von „SciTE - Array: Indexwerte automatisch setzen“ zu „SciTE - Array: Indexwerte automatisch setzen & statische Zuweisungen erstellen“ geändert.