SciTE: Schlüsselwörter für Abkürzungen

    • Offizieller Beitrag

    Hi,
    bei der Installation der neuesten SciTE-Version (Version 1.74) wird eine ziemlich 'schmalbrüstige' au3.keywords.abbreviations.properties angelegt.
    Dort sind längst nicht alle Keywords eingetragen.

    Ich habe hier ein Skript erstellt, dass alle vorhandenen Keywords aus der au3abbrev.properties ausliest und daraus die au3.keywords.abbreviations.properties neu erstellt.

    Edit: Auf Anregung von th.meger noch eine kurze Erläuterung.
    Es geht hierbei um Abkürzungen, die in SciTE verwendet werden um Code schneller schreiben zu können.
    So wird bei der Eingabe von for0 und anschließendem Leerzeichen daraus:
    For $i = 0 To

    Es können auch eigene Abkürzungen erstellt werden.
    Siehe auch hier: FAQ

    Es existiert eine Kopie der Abkürzungsdatei unter "..\Dokumente und Einstellungen\USER\abbrev.properties".
    Hier müssen gewünschte Änderungen vorgenommen werden.

    EDIT 2:
    Ich hab noch eine Änderung vorgenommen. Der Pfad verweist jetzt auf die Arbeitskopie im User-Ordner. Somit werden auch für alle eigenen Abkürzungen die Keywords übernommen.
    Wenn man dann mal wieder eigene Abkürzungen erstellt hat, braucht man einfach nur das Skript nochmals laufen lassen und alles ist eingebunden.


    EDIT 3 [17.11.2007]:
    Mit der aktuellen Version von SciTE wurde die abbrev.properties Datei etwas verändert. Sie enthält jetzt vor den eigentlichen Abkürzungen einen Block für Pfad- und Registryabkürzungen. Um das Ende dieses Blocks abzufragen habe ich den Code angepaßt. Somit sollte es auch für künftige Änderungen passen.
    Weiterhin habe ich noch einen Bug gefixt (die letzte Zeile wurde nicht in die Datei geschrieben, außer sie hatte die max. Länge).

    Spoiler anzeigen
    [autoit]

    #include <file.au3>

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

    Dim $Scite = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\SciTe\"
    Dim $path = @HomeDrive & @HomePath & "\abbrev.properties"
    Dim $pathKeyAbb = $Scite & "au3.keywords.abbreviations.properties"
    Dim $startStr = '#endregion - ctrl+b', $start = False
    Dim $ar, $aAbbr[1]=[0], $var

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

    _FileReadToArray($path, $ar)
    For $i = 1 to $ar[0]
    If $ar[$i] == $startStr Then $start = True
    If $start And StringInStr($ar[$i], '=') Then
    $var = StringSplit($ar[$i], '=')
    ReDim $aAbbr[UBound($aAbbr)+1]
    $aAbbr[UBound($aAbbr)-1] = $var[1]
    $aAbbr[0] += 1
    EndIf
    Next

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

    FileMove($pathKeyAbb, $pathKeyAbb & '.BAK',1)
    Dim $fh = FileOpen($pathKeyAbb, 1), $line = 'au3.keywords.abbrev=', $count = 1
    FileWriteLine($fh, @LF & @LF)
    For $i = 1 To $aAbbr[0]
    If $count < 15 Then
    $line &= $aAbbr[$i] & ' '
    Else
    $line &= $aAbbr[$i] & ' \'
    FileWriteLine($fh, $line)
    $line = @TAB & ''
    $count = 0
    EndIf
    If $count < 15 And $i = $aAbbr[0] Then FileWriteLine($fh, $line)
    $count += 1
    Next
    FileClose($fh)
    MsgBox(0, '', 'Neue Abkürzungsdatei erstellt')

    [/autoit]
  • Kam ein Besserwisser wieder und fragte:
    Was heißt denn "Ganz eigentlich" ?^^

    Edit NochBesserWisser: Ist doch klar - Verballhornung der deutschen Sprache, :D
    Edit WiederkehrenderBesserWisser: allet klar^^

    Einmal editiert, zuletzt von Daniel W. (2. Juli 2007 um 21:19)