SciTE AddOn "ConvertTabsToSpaces" - ersetzt während Eingabe TAB durch Leerzeichen [Baustelle]

    • Offizieller Beitrag

    Man kann zwar in SciTE verschieden Eigenschaften für die TAB einstellen - aber das m.M. nach Wichtigste fehlt: Einfügen von Leerzeichen anstelle der TAB. Dadurch sieht eine in SciTE erstellte Datei in jedem Editor oder Forum anders aus. Das Problem bilden die partiellen TAB, also z.B.: Tabweite ist 4, Cursorposition ist 6. Wenn jetzt ein Tab eingefügt wird steht der Cursor an 8. Aber die Tabweite ist anderen Editoren ja nicht bekannt, sodass hier unterschiedlich ausgefüllt wird. Aus diesem Grund bevorzuge ich die ausschliessliche Verwendung von Leerzeichen.
    Dieses AddOn verbindet nun den Komfort von Tabs (schnell große, fest definierte Abstände einfügen) mit der exakten Darstellung in jedem Editor.
    Werden beim Setzen eines Tab Leerzeichen in der Tabweite eingefügt, so arbeitet das Tool auch analog in der entgegengesetzten Richtung mit Backspace. Sind links vom Cursor ausreichend Leerzeichen, wird jeweils bis zur vorigen Tabposition gelöscht.

    Erstellt in den SciTEUser.properties den Eintrag convert.tabs.to.spaces=1
    Zum Aktivieren die Datei ReplTabWithSpaces.lua zu euren Lua-Dateien kopieren und im LuaStartup-Skript laden:
    Und zwar unbedingt hinter dem Eintrag:
    -- Start up the events (Calls OnStartup()).
    EventClass:BeginEvents()

    LoadLuaFile("ReplTabWithSpaces.lua", "Pfad\\zum\\Ordner\\") - wenn ihr einen eigenen Lua-Ordner habt. Wichtig: Doppelbackslash, auch am Ende!

    • Offizieller Beitrag

    Mir ist gerade aufgefallen, dass ich da etwas zu schnell geschossen habe. Einige Dinge habe ich nicht berücksichtigt.
    - Markierung mehrerer Zeilen und dann Tab zum gemeinsamen Einrücken
    - dasselbe bei Blockmarkierung
    - Verwendung von Shift+Tab zum Ausrücken
    - Tab setzen vor existierendem Text, Cursor muss vor Text bleiben

    Insofern ist das Tool z.Zt. nicht wirklich einsatzbereit. Da muss ich erst mal schauen, wie sich das alles integrieren läßt. Und Tab bei Auto-Indent muß ja auch abgefangen werden.
    Also vorerst: Baustelle.