- 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
#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
_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
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')