
ABAP Tools - VS Code (ABAP Cleaner)
Ein Punkt den wir in Visual Studio Code vermissen, ist der ABAP Cleaner. Dieser wurde nun zur Verfügung gestellt. Schauen wir uns einmal die Installation, Konfiguration und Nutzung an.
Inhaltsverzeichnis
In diesem Artikel schauen wir uns den ABAP Cleaner für VS Code an und was du brauchst, damit du wie gewohnt arbeiten kannst und alle Vorteile genießt. Danke an Thomas Fiedler fürs Aufmerksam machen.
Einleitung
Als der ABAP Cleaner Mitte 2023 freigegeben wurde, hat sich einmal die Welt des ABAP Entwicklers geändert. Der ABAP Cleaner nimmt sehr viel Arbeit bei der Formatierung von Quellcode ab und automatisiert auch gleich einige Modernisierungsaufgaben, wenn es um Clean ABAP geht. 100+ Regeln mit nur einer Tastenkombination, was einem Entwickler sehr viel Zeit erspart und in einem Team ein gemeinsames Bild auf ABAP Code gibt. Weniger individuelle Formatierungsstile erleichtern das Lesen von Quellcode ungemein. Mit dem Release von ADT für VS Code war nun die Frage, kommt der ABAP Cleaner auch in den Editor und vor allem wann? Seit dem 02.07. ist das Plugin nun auch für VS Code verfügbar.
Installation
In diesem Abschnitt beschreiben wir die Installationsschritte, um den ABAP Cleaner in deiner Installation zum Laufen zu bringen.
Plugin
Das Plugin findest du wieder im Extension Marketplace von VS Code. Wechsel dazu das Tool auf der linken Seite im Editor und suche nach "ABAP cleaner". Über den "Install" Button kannst du dann die Installation vornehmen und das Plugin im Editor integrieren.
SAP Machine
Im Hintergrund startet das Plugin dann in einer Java Umgebung und VS Code wird sich gegen den Service verbinden. Setzt du vor allem auf die Eclipse Version zum Entpacken und ohne weitere Installation, dann kann es sein, dass kein Java SDK auf deinem Rechner installiert und registriert ist. Entsprechend erhalten wir eine Fehlermeldung.
Hier kannst du einen Blick in die Beschreibung des Plugin werfen, hier sind weitere Installationsschritte und Anforderungen beschrieben. Grundsätzlich können wir hier eine eigene SapMachine installieren oder wir registrieren die Java Laufzeit, die mit den ABAP Development Tools für Eclipse ausgeliefert wird. Dazu mehr im nächsten Abschnitt.
Registrierung
Du hast eine Java Umgebung installiert oder möchtest die ausgelieferte Umgebung verwenden, dann musst du nun den Pfad auf diese Umgebung setzen, damit der ABAP Cleaner die Java Installation findet. Dazu kannst du einfach die Umgebungsvariablen für den aktuellen User anpassen. Dies sollte keine Admin Berechtigungen erfordern und sollte für jeden Nutzer möglich sein. Suche nach "Umgebungsvariable", aber nur für das Konto und nicht das System:
Für dein Konto findest du bereits bestehende Variablen und hast vielleicht bereits eine "Path" Variable. Ist diese nicht vorhanden, legst du eine neue an, ansonsten ergänze den neuen Pfad. Vorsicht das du bestehende Pfade nicht löscht, da sonst andere Anwendungen auf dem Rechner nicht mehr funktionieren.
Nun benötigst du den Pfad zur Installation bzw. zur "java.exe" in deinem System. Bei der Installation der SapMachine suche in diesem Ordner nach der Datei. Willst du die ausgelieferte Version in im Eclipse Bundle verwenden, dann findest du den Pfad hier. Grundsätzlich kann der Pfad sich durch Updates der Version und der IDE verändern. Schaue dazu einfach in die Plugins, um die richtige Version und Installation zu finden.
...\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.11.v20260515-1531\jre\bin
In diesem Fall ergänzen wir den neuen Pfad und fügen diesen zusätzlich bei uns ein (letzter Pfad). Wie oben beschrieben sollte der "bin" Ordner als letztes stehen und darin die "java.exe" enthalten sein, dann ist der Pfad korrekt.
Hinweis: Nach der Registrierung solltest du dein VS Code neustarten, damit der Server/Plugin noch einmal neu gestartet wird.
Formatter
Führst du den ABAP Cleaner das erste mal mit "STRG + 4" aus, dann wird das System nun feststellen, dass es mehrere Formatter gibt, den Standard Pretty Printer und den ABAP Cleaner.
Über den Button "Configure..." starten wir dann die Konfiguration des Standard Formatters und wählen den ABAP Cleaner als neuen Standard aus.
Möchtest du die Eigenschaft anpassen oder kontrollieren, dann kannst du das in deinen persönlichen Einstellungen des Editors machen. Gehe dazu in die Einstellungen und du findest im oberen Teil einen Button zum Öffnen der lokalen Einstellungen, wie Theme, MCP Server oder auch den Standard Formatter.
Hier solltest du nun einen neuen Eintrag finden, sodass für den Dateitype ".abap" immer der ABAP Cleaner verwendet wird. Willst du die Einstellungen noch einmal anpassen, dann musst du nur das JSON ändern oder den Eintrag komplett entfernen.
{
"[abap]": {
"editor.defaultFormatter": "SAPOSS.abap-cleaner"
}
}
Nutzung
Schauen wir uns die Nutzung des ABAP Cleaner in VS Code einmal an und ob es Unterschiede zur Eclipse Version gibt. Dabei gehen wir kurz auf die Konfiguration ein und schauen uns das Tool in Aktion an.
Konfiguration
Über "STRG + SHIFT + 4" starten wir den interaktiven Modus, wo wir auch weitere Einstellungen vornehmen können und auch bestehende Varianten einbinden können. Das UI ist hier komplett gleich wie in Eclipse, da auch die Komponenten wiederverwendet werden. In diesem Beispiel haben wir bereits die Konfiguration in Eclipse vorgenommen und der ABAP Cleaner zieht diese auch bereits, sodass wir keinen Aufwand haben.
Cleaner
Dazu verwenden wir einen kleinen Dummy Code, den wir auch für unsere YouTube Serie erstellt haben. Wir haben eine Dummy Struktur und eine Ausgabe, die entsprechend schlecht formatiert sind, um gleich en ABAP Cleaner zu testen.
CLASS zcl_bs_demo_ai_hello DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES: if_oo_adt_classrun.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_bs_demo_ai_hello IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
data(test) = value I_BusinessPartner(
AcademicTitle = 'Dr.'
BusinessPartnerFullName = 'John Doe'
).
out->write(
`Hello ADT!` ).
ENDMETHOD.
ENDCLASS.
Wir gehen nun in den Code und führen mit "STRG + 4" den ABAP Cleaner ohne UI aus. Der Quellcode wird sauber nach unseren Regeln formatiert. Auch die nicht genutzte Variable wird durch den ABAP Cleaner angemerkt, sodass wir auch wissen, dass die Information vom ABAP Cleaner kommt.
Fazit
Der ABAP Cleaner ist nun auch für VS Code verfügbar. Die Konfiguration ist zwar etwas mit Aufwand verbunden und auch läuft das Plugin nicht nativ in VS Code sondern benötigt noch eine Java Runtime, doch all die wichtigen Funktionen stehen erst einmal zur Verfügung, was einen großen Teil der Community glücklich machen wird.









