Maenken Systems Components

MSys Delphi Formatter

MSys Component

MSys Delphi Formatter Smarte Formatierung in Delphi RAD Studio

Strg+D ist zurück als Addon

MSys Delphi Formatter

Quelltext-Formatierung Plug-In für RAD Studio 13

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.

Plug-In für RAD Studio

MSys Delphi Formatter

Strg+D — ein Handgriff, den niemand verlernt

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.

Der MSys Delphi Formatter schließt genau diese Lücke.

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.

MSys Delphi Formatter

Vorteile

Probieren Sie es aus

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.

Demo.pas unformatiert

    

Das Standardprofil in Aktion: Schlüsselwörter, Leerzeichen, Einzug, Typen-Schreibweise und Kommentar-Abstände — der Zeilenaufbau bleibt erhalten.

Vorher / Nachher

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;

MSys Delphi Formatter

Sicherheit zuerst

Ein Formatter arbeitet an Ihrem wertvollsten Gut — dem Quellcode.

 

Bedeutungserhaltend

Nur Layout und Schreibweise ändern sich. Die Semantik bleibt in jedem Fall unangetastet.

Verlustfrei

Der Lexer erfasst jedes Zeichen — String-Inhalte und Kommentare werden wortgetreu durchgereicht.

Idempotent

Format(Format(x)) = Format(x). Bereits formatierter Code bleibt stabil.

Abbruch statt Risiko

Bei fehlerhaftem Quelltext passiert: nichts. Der Editorinhalt bleibt exakt, wie er war.

MSys Delphi Formatter

Zentrale Funktionen

  • über 80 Einstellungen auf neun Optionsseiten
  • mehrzeilige Strings, Generics, anonyme Methoden, Inline-Deklarationen, Attribute
  • der Formatter reaktiviert die nativen IDE-Aktionen
  • ein File im Repository und das ganze Team formatiert identisch
  • die Oberfläche folgt automatisch der IDE-Sprache

MSys Delphi Formatter

Jetzt kostenlos downloaden

Plug-In für Delphi RAD Studio 13

 

MSys Delphi Formatter

Konfiguration mit System

Einstellungen werden mit klarer Priorität zusammengeführt — die nächstgelegene gewinnt.

Projekt — .editorconfig

Die Formatier-Regeln wandern mit dem Repository. Standard-Schlüssel plus eigener delphi_*-Namespace. Perfekt für Teams.

Global — Optionsdialog

Die persönlichen Einstellungen unter Tools > Optionen > MSys > Delphi Formatter

Eingebauter Standard

Ein bewusst konservatives Profil, das sofort gute Ergebnisse liefert — ohne den Code umzukrempeln.

MSys Delphi Formatter

Referenz der Einstellmöglichkeiten

Alle Optionen im Überblick

— 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

Delphi Plug-In

Developer Tools by Maenken Systems

Weitere spannende Werkzeuge aus unserer Hand zum entdecken

MSys Tool Suite

MSys Tool Suite

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.

Developer Tools

SBOM Monitor

Ein zentrales Dashboard für SBOM-Management, Schwachstellen-Monitoring und Compliance — in Ihrer Infrastruktur.