Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Code-Formatierung mit dem MSys Delphi Formatter

Nachdem der bisherige Code-Formatierer ab RAD Studio 13 „Florence“ nicht mehr enthalten war, blieb das Interesse der Entwicklergemeinschaft unverändert groß. Das Werkzeug aus RAD Studio 12.3 „Athens“ wurde von vielen regelmäßig genutzt – sowohl für die manuelle als auch für die automatisierte Codeformatierung. Aus der Community, in Webinaren und auf Veranstaltungen gab es dazu regelmäßige Nachfragen.

Es gibt zwar von Embarcadero empfohlene Lösungen von Drittherstellern, die aber nicht immer gut angenommen wurden und die bisherigen Einstellungen in Bezug auf den Code-Stil nicht übernehmen konnten. Diese Notwendigkeit eines Code-Formatierers wurde als Idee der Firma Maenken Systems (https://maenken.systems) in ein neues Projekt übertragen und so entstand in relativ kurzer Zeit der MSys Delphi Formatter (https://maenken.systems/de/delphi-formatter). Aktuell befindet sich der MSys Delphi Formatter noch in der Beta-Phase und lässt sich von der Herstellerseite sowie über GetIt herunterladen. Kundenfeedback ist also ausdrücklich erwünscht (ticket.maenken.systems) und hilft bei dem Prozess, das Endprodukt zu formen. Unterstützt werden aktuell die Sprachen deutsch und englisch sowie die Farbprofile hell und dunkel – je nach Einstellung von RAD Studio passt sich der Delphi Formatter automatisch an.

Überblick

Erreichbar ist der Delphi Formatter wie bis inkl. RAD Studio 12.3 über die Tastenkombination Strg+D und existiert gleichzeitig an denselben Positionen wie früher: im Editor, im Bearbeiten-Menü und im Kontextmenü. Kein Entwickler muss sich umgewöhnen und kann seinen bisherigen Workflow beibehalten.

Da sich Delphi natürlich weiterentwickelt hat, wurde versucht, diesen Fortschritt ebenfalls in den Delphi Formatter zu übertragen. Im Vergleich zum 12.3-Formatter lassen sich folgende Technologieerweiterungen definieren:

Sicherheit

Quellcode ist das geistige Eigentum jedes Projektes und der damit verbundenen Entwickler und Firmen. Daher muss die Sicherheit an erster Stelle stehen und der Delphi Formatter sowie seine enthaltene Engine definiert dahingehend vier Sicherheitssäulen:

Nahtlose IDE-Integration

Die IDE-Integration bleibt weitestgehend so erhalten, wie es beim bisherigen Code Formatter der Fall war. Es werden keine neuen Menüs hinzugefügt und auch keine exotischen Tastaturkürzel erstellt – durch die Reaktivierung der originalen Formatier-Aktionen der IDE bleiben dieselben Einstiegspunkte bestehen, die Delphi-Entwickler seit Jahren in ihren Workflow integriert haben:

Einstellungen

Alle Einstellungen werden mit klarer Priorität zusammengeführt – die nächstgelegene ist maßgeblich:

Beim Umstieg insbesondere von älteren Delphi-Versionen zieht das gewohnte Formatter-Profil einfach mit um. Über die Kategorie “Profile und Status -> Importieren…” werden die klassischen Together-.config-Dateien eingelesen, wie sie Delphi 12.3 und ältere Versionen verwenden. Dabei wird transparent gemeldet, wie viele Optionen übernommen wurden. So lassen sich auch ältere Projektstände und gewachsene Code-Basen mit ihren etablierten Formatierungsregeln direkt in RAD Studio 13 weiterführen.

Ein importierbares Standard-Profil liegt jeder Installation bei und die eigenen Einstellungen lassen sich jederzeit als .config exportieren sowie im Team teilen. Hierbei orientiert sich dieses Standard-Profil am Delphi Object Pascal Style Guide (https://docwiki.embarcadero.com/RADStudio/en/Delphi%E2%80%99s_Object_Pascal_Style_Guide).

Die Einstellungen sind über den Optionsdialog erreichbar und enthalten im linken Navigationsbaum in der Sektion “MSys -> Delphi Formatter” die kategorisierten Optionen. Hier wird unterschieden zwischen Allgemein, Einzug, Schreibweise, Leerzeichen, Zeilenumbrüche, Reflow, Leerzeilen, Ausrichten sowie Profile und Status.

Fazit:

Jeder, der zuvor mit dem Delphi Formatter bis RAD Studio 12.3 gearbeitet hat und ihn vermisst, oder eigenen Code einheitlich formatieren möchte, sollte dem MSys Delphi Formatter eine realistische Chance geben. Beim Schreiben dieser Zeilen Mitte Juli befindet sich dieses Produkt noch in der Beta-Phase und beim Hersteller Maenken Systems ist jedes Feedback ausdrücklich erwünscht (ticket.maenken.systems).

 Technische Daten

Exit mobile version