Befehle
- FoxPro Formatter: Formatiert die aktive Datei im Editor.
- FoxPro Formatter (Folder): Formatiert rekursiv alle unterstützten Dateien in einem ausgewählten Ordner.
Was der Formatter macht
- Ersetzt Tabulatoren durch 3 Leerzeichen.
- Für
SCAN- undWITH-Blöcke gilt: 3, 4 oder 5 Leerzeichen Einrückung sind erlaubt, innerhalb eines Blocks darf aber nicht gemischt werden, und die erste Codezeile bestimmt die Einrückung des gesamten Blocks. - In
FOR-Blöcken sind 3 oder 4 Leerzeichen erlaubt. - Wenn die erkannte Einrückung bei
FOR,WITHoderSCANdavon abweicht, wird standardmäßig mit 3 Leerzeichen eingerückt. - Kommentare auf derselben Einrückungsebene wie
CASEsind erlaubt. - Bei Zeilen, die mit Semikolon enden, wird die Einrückung der nächsten Zeile nicht neu erzwungen.
- Wenn mehr
FUNCTIONalsENDFUNCTIONgefunden werden, wird die Formatierung abgebrochen und eine Warnung ausgegeben. Dadurch werden fehlerhafte Auto-Korrekturen vermieden.
Ordner-Formatierung
- Unterstützte Dateiendungen:
.prg,.vca,.sca,.trr - Rekursiver Durchlauf durch Unterordner.
- Bestimmte Ordner werden ausgelassen (Blockliste), z. B.
reportoutput,reportbuilder,system,foxref,convert.
Einstellungen
codeFormatter.removeCommentedOutCode
Entfernt Zeilen, die mit *!* markiert sind, komplett aus der Datei.
true: Diese Zeilen werden beim Formatieren gelöscht.false: Diese Zeilen bleiben erhalten (Default).
codeFormatter.removeWhiteSpace
Steuert den Umgang mit unnötigen Leerzeichen im Code. Es löscht keine Leerzeichen die zur Einrückung gehören.
true: Löscht unnötige Leerzeichen.false: Unnötige Leerzeichen bleiben unverändert (Default).
codeFormatter.ifnDefIndentOnSameLevel
Spezialregel für #IFNDEF-Blöcke.
true: Rückt den Inhalt nur dann ein, wenn#IFNDEFbereits auf der erwarteten Basis-Ebene steht.false: Keine zusätzliche Gleich-Ebenen-Pruefung für#IFNDEF(Default).
Beispiel (settings.json)
{
"codeFormatter.removeCommentedOutCode": true,
"codeFormatter.removeWhiteSpace": false,
"codeFormatter.ifnDefIndentOnSameLevel": true
}