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
Ob Supportanfrage, Verbesserungsvorschlag oder neuer Wunsch – über unser Ticketsystem können Sie Ihr Anliegen einfach einreichen und den Bearbeitungsstatus jederzeit nachvollziehen.
Vielen Dank! Dein Ticket wurde erstellt.
Registriere dich für unseren Newsletter zum Thema Formatter und bleibe auf dem neuesten Stand.
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.
|
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.