MSys Delphi Formatter
Vorteile
Mehr Einstellmöglichkeiten
Versteht modernes Delphi
Respektiert Ihr Layout
Strg+D ist zurück als Addon
Der MSys Delphi Formatter bringt die Quelltext-Formatierung zurück in RAD Studio 13 — verlustfrei, konfigurierbar, ganz nach Ihren Regeln.
RAD Studio 13 hat den eingebauten Formatter entfernt. Dieses Plugin schließt die Lücke — und geht deutlich weiter, als sein Vorgänger es je tat.
Wer kennt es nicht aus früheren Delphi-Versionen? Kurz Strg+D gedrückt — und der Quelltext stand da, wie er stehen soll: sauber eingerückt, einheitlich geschrieben, angenehm zu lesen. Ein Handgriff, tief im Muskelgedächtnis jedes Delphi-Entwicklers, so selbstverständlich wie F9 zum Kompilieren.
Mit RAD Studio 13 war dieser Handgriff plötzlich Geschichte: Der eingebaute Quelltext-Formatter ist nicht mehr an Bord. Was das bedeutet, spürt jedes Projekt schnell — uneinheitliche Schreibweise, wildes Leerzeichen-Layout, Einrückung nach Tagesform. Und Code-Reviews, die sich mit Kosmetik statt Inhalt beschäftigen.
Strg+D funktioniert wieder — an denselben Stellen wie früher: im Editor, im Bearbeiten-Menü, im Kontextmenü. Kein Umgewöhnen, kein neuer Workflow. Einfach weiterarbeiten, als wäre der Formatter nie weg gewesen.
So fühlt sich das Plugin in der IDE an: Drücken Sie Strg+D direkt hier auf der Seite — oder klicken Sie den Knopf.
Das Standardprofil in Aktion: Schlüsselwörter, Leerzeichen, Einzug, Typen-Schreibweise und Kommentar-Abstände — der Zeilenaufbau bleibt erhalten.
Drei Beispiele aus der Praxis — jede Regel einzeln schaltbar.
// Vorher
BEGIN
X:=A+B;
FOO(a,b,C1); {init}
end;
// Nachher (Standardprofil)
begin
X := A + B;
FOO(a, b, C1); { init }
end;// "Wie erstes Vorkommen": ein Bezeichner, eine Schreibweise - unit-weit // Vorher MyVar := 1; myvar := 2; MYVAR := 3; // Nachher MyVar := 1; MyVar := 2; MyVar := 3;
// "uses: eine Unit pro Zeile" = Umbrechen // Vorher uses System.SysUtils, System.Classes, System.Generics.Collections; // Nachher uses System.SysUtils, System.Classes, System.Generics.Collections;
Ein Formatter arbeitet an Ihrem wertvollsten Gut — dem Quellcode.
Nur Layout und Schreibweise ändern sich. Die Semantik bleibt in jedem Fall unangetastet.
Der Lexer erfasst jedes Zeichen — String-Inhalte und Kommentare werden wortgetreu durchgereicht.
Format(Format(x)) = Format(x). Bereits formatierter Code bleibt stabil.
Bei fehlerhaftem Quelltext passiert: nichts. Der Editorinhalt bleibt exakt, wie er war.
Plug-In für Delphi RAD Studio 13
Einstellungen werden mit klarer Priorität zusammengeführt — die nächstgelegene gewinnt.
Die Formatier-Regeln wandern mit dem Repository. Standard-Schlüssel plus eigener delphi_*-Namespace. Perfekt für Teams.
Die persönlichen Einstellungen unter Tools > Optionen > MSys > Delphi Formatter
Ein bewusst konservatives Profil, das sofort gute Ergebnisse liefert — ohne den Code umzukrempeln.
— Standard bezeichnet das eingebaute Maenken-Profil. —
Die Basis-Hygiene jeder Datei: Einzug, Zeilenenden, Leerzeichen am Zeilenende, Schlussumbruch — entspricht den klassischen EditorConfig-Grundwerten. Bob
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Einzugzeichen
|
Leerzeichen / Tabulator
|
Leerzeichen
|
Womit eingerückt wird
|
|
Einzugbreite
|
Ganzzahl
|
2
|
Spalten pro Einzugstufe
|
|
Trailing-Whitespace entfernen
|
An / Aus
|
An
|
Entfernt Leerzeichen am Zeilenende
|
|
Trailing-Whitespace entfernen
|
Spalten pro Einzugstufe
|
Spalten pro Einzugstufe
|
Spalten pro Einzugstufe
|
|
Schluss-Umbruch sicherstellen
|
An / Aus
|
An
|
Genau ein Zeilenumbruch am Dateiende
|
|
Zeilenende
|
System / CRLF / LF / CR
|
System
|
Normalisiert die Zeilenumbruch-Art
|
Wie tief stehen Blockinhalte, Case-Zweige und Fortsetzungszeilen? Das Standardprofil rückt Blöcke und den Deklarationsteil sauber ein — tiefere Varianten sind Opt-in.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Einzugzeichen
|
An / Aus
|
An
|
Inhalte von begin/end, try, case, repeat
|
|
Case-Inhalte / Case-Marken
|
An / Aus
|
An
|
Case-Zweige und -Labels einrücken
|
|
Nach Sektionen einrücken
|
An / Aus
|
Aus
|
interface/implementation zusätzlich einrücken
|
|
Fortsetzungs-Einzug
|
Ganzzahl
|
2
|
Einrückung umbrochener Zeilen
|
|
Kein Einzug ab Spalte
|
Ganzzahl
|
40
|
Deckelt die Einzugsspalte bei tiefer Verschachtelung
|
Delphi ist case-insensitiv — das Auge nicht. Getrennt wählbare Regeln für Schlüsselwörter, Direktiven, Zahlen, Typen und Bezeichner.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Reservierte Wörter
|
Unverändert / GROSS / klein / Erster groß
|
klein
|
BEGIN → begin
|
|
Compiler-Direktiven
|
Unverändert / GROSS / klein / Erster groß
|
GROSS
|
{$ifdef} → {$IFDEF} (Argumente unberührt)
|
|
Zahlen (Hex / Exponent)
|
Unverändert / GROSS / klein / Erster groß
|
GROSS
|
$1abc → $1ABC, 1e5 → 1E5
|
|
Eingebaute Typen
|
… / Pascal (kanonisch)
|
Pascal
|
integer → Integer, nativeint → NativeInt
|
|
Sonstige Bezeichner
|
… / Wie erstes Vorkommen
|
Unverändert
|
Vereinheitlicht unit-weit auf das erste Vorkommen
|
Mikro-Typografie: der Abstand um Kommas, Operatoren, Doppelpunkte und Kommentar-Klammern — mit definiertem Tie-Breaker bei Regelkonflikt.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Komma / Semikolon / Doppelpunkt
|
Keine / davor / danach / beides / unverändert
|
Nur danach
|
Foo(a,b) → Foo(a, b)
|
|
Zuweisung / binäre Operatoren
|
Keine / davor / danach / beides / unverändert
|
Beides
|
x:=1+2 → x := 1 + 2
|
|
Unäre Operatoren
|
Keine / davor / danach / beides / unverändert
|
Keine
|
- 1 → -1 (not bleibt getrennt)
|
|
Klammer-Kommentar { }
|
Keine / innen / außen / beides
|
Innen und außen
|
{x} → { x }
|
|
Innenabstand Klammern / Generics
|
An / Aus
|
Aus
|
TList → TList
|
Der wichtigste Schalter des Formatters: „Benutzer-Umbrüche beibehalten“ (Standard: an) lässt den Zeilenaufbau unangetastet. Erst wenn er aus ist, greifen die Umbruch-Regeln — vom begin-Stil bis zur uses-Liste.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Benutzer-Umbrüche beibehalten
|
An / Aus
|
An
|
Master-Schalter für alle Umbruch-Regeln
|
|
Platzierung von begin
|
Wie eingegeben / K&R / Allman
|
Wie eingegeben
|
begin am Zeilenende oder auf eigener Zeile
|
|
uses: eine Unit pro Zeile
|
Wie eingegeben / Zusammenziehen / Umbrechen
|
Wie eingegeben
|
Umbruch nach jedem Komma der uses-Liste
|
|
end und else zusammenführen
|
An / Aus
|
An
|
end + else → end else
|
Parameter je Zeile, Vererbungslisten, Property-Accessoren — und der intelligente Modus „Wenn zu lang“: umgebrochen wird nur, was über den rechten Rand hinauslaufen würde.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Parameter je Zeile (Aufruf / Definition)
|
Wie eingegeben / Zusammenziehen / Umbrechen
|
Wie eingegeben
|
Ein Parameter pro Zeile
|
|
Vererbungsliste / Array-Init
|
… / Wenn zu lang
|
Wie eingegeben
|
Umbruch nur bei Überlänge
|
|
Rechter Rand (Spalte)
|
Ganzzahl
|
120
|
Schwelle für die „Wenn zu lang"-Automatik
|
Vertikaler Rhythmus: Die Faltungs-Obergrenze räumt gehäufte Leerzeilen immer auf; Struktur-Separatoren schaffen bei aktivem Reflow gezielt Luft.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Max. aufeinanderfolgende Leerzeilen
|
Ganzzahl
|
1
|
Faltet Leerzeilen-Folgen (wirkt immer)
|
|
Max. aufeinanderfolgende Leerzeilen
|
Ganzzahl
|
1
|
Leerzeilen zwischen Methoden
|
|
Max. aufeinanderfolgende Leerzeilen
|
Ganzzahl
|
1
|
Luft um Unit-Sektionen
|
Der Feinschliff für Freunde spaltiger Ordnung — komplett Opt-in: Zuweisungen, Typnamen, Konstanten und Zeilenend-Kommentare fluchten in einer Spalte.
|
Einstellungen
|
Werte
|
Standard
|
Wirkung
|
|---|---|---|---|
|
Zuweisungen / Konstanten / Typnamen …
|
An / Aus
|
Aus
|
Spaltige Ausrichtung je Kategorie
|
|
Zeilenend-Kommentare ausrichten
|
An / Aus
|
Aus
|
Nachgestellte Kommentare in einer Spalte
|
|
Max. Spalte
|
Ganzzahl
|
60
|
Obergrenze der Ziel-Ankerspalte
|
Der Feinschliff für Freunde spaltiger Ordnung — komplett Opt-in: Zuweisungen, Typnamen, Konstanten und Zeilenend-Kommentare fluchten in einer Spalte.
|
Einstellungen
|
Wirkung
|
|---|---|
|
Formatierung aktivieren
|
Globaler Ein-/Ausschalter für Strg+D, Menü und Kontextmenü
|
|
Importieren… (.config)
|
Liest Together-Profile aus Delphi 12 und älter — mit transparentem Import-Report
|
|
Exportieren… (.config)
|
Eigene Einstellungen als .config teilen
|
Weitere spannende Werkzeuge aus unserer Hand zum entdecken
MSys Tool Suite sind eine modulare Plugin-Suite für RAD Studio 13. Sie erweitert die Delphi-IDE um projektbezogene Aufgabenverwaltung, eine KI-Schnittstelle über MCP, automatische SBOM-Erzeugung und produktive IDE-Helfer.
Ein zentrales Dashboard für SBOM-Management, Schwachstellen-Monitoring und Compliance — in Ihrer Infrastruktur.