Sie können die Vervollständigung von Dateinamen für jeden internen oder externen Befehl oder Alias anpassen. Dies ermöglicht TCC die Anzeige von Dateinamen auf intelligente Weise auf der Grundlage des eingegebenen Befehls. So können Sie beispielsweise nur . TXT-Dateien anzeigen lassen , wenn Sie die Dateinamensvervollständigung im Befehl EDIT verwenden. Wenn Sie die Tabulatortaste (oder F9) drücken, TCC wird ein passendes Argument angezeigt.
Die programmierbare Dateinamensvervollständigung ("Tabulator") wird von jeder Skriptsprache unterstützt, die von TCC unterstützt wird (z.B. BTM/CMD, Lua, Python, REXX, Tcl, usw.). Siehe TABCOMPLETE für Details.
Um die Vervollständigung von Dateinamen anzupassen, können Sie die Konfigurationsoptionen für die Vervollständigung von Dateinamen verwenden . Sie können auch die Umgebungsvariable FILECOMPLETION verwenden . Wenn Sie beides verwenden, hat die Umgebungsvariable Vorrang vor der Konfigurationsoption. Es kann sinnvoll sein, die Umgebungsvariable für Experimente zu verwenden und dann mit dem Konfigurationsdialog dauerhafte Einstellungen vorzunehmen.
Das Format sowohl für die Umgebungsvariable als auch für die Direktive ist:
cmd1 [cmd2 ...]:[!]ext1 ext2 ...; cmd2: ...
wobei
cmd1 usw. Befehlsnamen sind
ext1 usw. sind Dateierweiterungen (die Platzhalter enthalten können) oder einer der folgenden Dateitypen:
| DIRS | Verzeichnisse |
| RDONLY | Nur-Lese-Dateien |
| HIDDEN | VersteckteDateien |
| SYSTEM | Systemdateien |
| ARCHIVE | Dateien, die seit der letzten Sicherung geändert wurden |
| FILES | Alles, was kein Verzeichnis ist |
| NORMAL | Es werden keine Attribute gesetzt |
Es gibt vier Typen, die anstelle einer Erweiterung verwendet werden können:
| aliases | Aliase |
| Variablen | Umgebungsvariablen |
| functions | Benutzerdefinierte Variablenfunktionen |
| Bibliotheken | Namen von Bibliotheksfunktionen |
Die Vervollständigung von Dateinamen unterstützt auch eine Positionssyntax:
[n] Passt nur auf die folgenden Erweiterungen, wenn die Anzahl der Argumente gleich n ist
[*n] Die folgenden Erweiterungen werden nur berücksichtigt, wenn die Anzahl der Argumente kleiner als oder gleich n ist
[n*] Trifft nur auf die folgenden Erweiterungen zu, wenn die Argumentennummer größer oder gleich n ist
[/x] Passt nur auf den angegebenen Schalter. Ein übereinstimmendes Schalterargument erhöht nicht den Wert des Arguments .
Die standardmäßige Vervollständigung von ZIP-Dateinamen sieht zum Beispiel so aus:
zip:[1] dirs zip [2*] *
Das bedeutet, dass das erste Argument eines ZIP-Befehls nur auf Unterverzeichnisse oder Dateien mit der Erweiterung .zip passt. Nachfolgende Argumente passen auf jede Datei oder jedes Verzeichnis.
Wenn eine Datei einen der oben aufgeführten reservierten Dateitypnamen als Erweiterung verwendet (z. B.xyz.hidden), wird die Datei so behandelt, als wäre sie von diesem Typ.
Die Vervollständigung von Dateinamen erfolgt in der Reihenfolge, in der die Erweiterungen angegeben sind. Zum Beispiel:
set filecompletion=myeditor:htm html css
wird zuerst versuchen, .htm-Dateien zu finden, dann .html und schließlich .css.
Das Setzen von Optionen in OPTION / Dateinamensvervollständigung oder mit der Umgebungsvariablen FILECOMPLETION setzt die Standardeinstellungen für die Dateinamensvervollständigung außer Kraft, wie z. B. die Optionen "versteckte Dateien/Verzeichnisse vervollständigen" für diesen Befehl. Wenn Sie die Dateinamensvervollständigung anpassen und nach versteckten / Systemdateien suchen möchten, müssen Sie die Erweiterungen HIDDEN und/oder SYSTEM zu den Optionen für die Dateinamensvervollständigung des Befehls hinzufügen.
Sie können eine Erweiterung ausschließen, indem Sie ihr ein !voranstellen .
Der Befehlsname ist der Name des internen Befehls, des Alias oder der ausführbaren Datei (ohne Pfadangabe). Wenn die Dateivervollständigung beispielsweise nur Verzeichnisse für die Befehle CD, CDD und RD und nur . C- und . ASM-Dateien für einen Windows-Editor namens WinEditzurückgeben soll , würden Sie diese Einstellung für die Dateinamensvervollständigung im Konfigurationsdialog verwenden:
cd cdd rd:dirs; winedit:c asm
Um die gleichen Ergebnisse zu erzielen, verwenden Sie die Umgebungsvariable FILECOMPLETION:
set filecompletion=cd cdd rd:dirs; winedit:c asm
Wenn Sie mit dieser Einstellung "CD " eingeben und dann die Tabulatortaste drücken , werden nur Verzeichnisse und keine Dateien zurückgegeben, TCC nur Verzeichnisse zurück, keine Dateien. Wenn SieWINEDIT eingeben und die Tabulatortaste drücken , werden nur die Namen der . C- und . ASM-Dateien angezeigt.
Bei der Prüfung auf eine benutzerdefinierte Dateinamenübereinstimmung, TCC prüft die tatsächliche Befehlszeile, die Sie eingeben (jedoch ohne , und Aliasnamen). Wenn Sie zum Beispiel die obige Definition verwenden und "W" als Alias für "WINEDIT" haben und dann einen "W"-Befehl eingeben, wird die Dateinamensvervollständigung - die sich nur auf "WINEDIT" bezieht - ignoriert. Um die benutzerdefinierte Dateinamensvervollständigung für Aliase zu verwenden, müssen Sie den Aliasnamen eingeben:
FileCompletion=cd cdd rd:dirs; winedit:c asm; w:c asm