Shift6 for IBM i – Wie aus einem Praxisproblem ein Werkzeug für die Community wurde
Aus einem konkreten Praxisproblem in der IBM-i-Entwicklung entstand bei Portolan die Idee für Shift6 for IBM i. Wir zeigen hier, wie durch ein innovationsfreundliches Umfeld und praxisnahe Entwicklung ein Werkzeug entstand, das moderne Arbeit mit Visual Studio Code und klassische IBM-i-Werkzeuge wie PDM sinnvoll verbindet.
Die Herausforderung: Moderne Entwicklung trifft auf klassische Werkzeuge
Die Arbeit mit IBM i verbindet bewährte, stabile Technologien mit modernen Entwicklungsansätzen. Immer häufiger kommt dabei Visual Studio Code in Kombination mit der Code for IBM i-Schnittstelle zum Einsatz. Diese Verbindung eröffnet neue Möglichkeiten – bringt jedoch auch ganz eigene Herausforderungen mit sich.
Eine davon betrifft ein Detail, das im Alltag schnell zur echten Hürde wird: die korrekte Formatierung von RPG-Free-Code.
Das Ausgangsproblem
Wer im VS Code mit der Code for IBM i–Schnittstelle arbeitet, stößt im Zusammenspiel mit PDM auf eine zentrale Einschränkung:
Die ersten fünf Spalten eines Source Members werden dort nicht angezeigt. Um Code vollständig lesen und pflegen zu können, ist daher ein zusätzlicher Einrückungs-Offset notwendig.
In der Praxis bedeutet das:
Zum Ausgleich der fünf nicht sichtbaren Spalten müssen fünf führende Leerzeichen gesetzt werden – ergänzt um ein weiteres Leerzeichen, das die Lesbarkeit des Codes deutlich verbessert.
Dieser sogenannte „5+1-Offset“ stellt sicher, dass RPG-Free-Code in PDM vollständig und strukturiert dargestellt wird.
Gerade im IBM-i-Umfeld ist dieser Punkt entscheidend. In vielen Unternehmen ist es weiterhin Standard oder sogar Vorgabe, dass Quellcode auch mit nativen Werkzeugen wie PDM gelesen und gepflegt werden kann. VS Code ist nicht überall im Einsatz – sei es aus organisatorischen Gründen, aufgrund von Sicherheitsvorgaben oder weil Produktionssysteme bewusst und vollständig vom Internet abgeschottet sind.
Das manuelle Einhalten dieses Offsets – häufig Zeile für Zeile – ist jedoch zeitaufwendig und fehleranfällig. Schon kleine Unachtsamkeiten führen dazu, dass Code im VS Code korrekt aussieht, in PDM jedoch schwer oder gar nicht wartbar ist.
Genau aus diesem sehr konkreten Praxisproblem entstand die Idee zu Shift6.
Die Idee hinter Shift6
Der Name „Shift6“ ist dabei bewusst gewählt:
Er steht sinnbildlich für das automatische Einrücken um sechs Zeichen – fünf zur Kompensation der in PDM nicht sichtbaren Spalten und ein zusätzliches Leerzeichen für bessere Lesbarkeit.
Ziel war es, eine VS-Code-Erweiterung speziell für IBM i zu entwickeln, die diesen notwendigen, aber lästigen Arbeitsschritt vollständig automatisiert.
Entwicklerinnen und Entwickler sollen sich auf die Fachlogik konzentrieren können – nicht auf manuelle Formatierungsarbeit.
Mehr als nur Einrückungen
Shift6 for IBM i ist dabei nicht als simples Indent-Tool gedacht.
Die Extension formatiert RPG-Free-Code gezielt so, dass er klar, konsistent und wartbar bleibt – und gleichzeitig vollständig IBM-i-konform ist.
Dazu gehören unter anderem:
- automatische Anwendung des notwendigen 5+1-Offsets
- strukturierte Einrückung von Code-Blöcken
- saubere Aufteilung von Statements
- Korrektur häufiger kleiner Tippfehler (z. B. doppelte Semikolons)
- Vermeidung unnötiger Änderungen an bereits korrekt formatiertem Code
Das Formatierungswerkzeug schlägt damit eine Brücke zwischen moderner Entwicklung im VS Code und klassischer IBM-i-Praxis – ohne Kompromisse auf einer der beiden Seiten.
Resonanz aus der Community
Obwohl es sich um ein sehr spezialisiertes Nischenthema handelt, hat Shift6 for IBM i schnell Aufmerksamkeit in der IBM-i-Community erhalten.
Ein Reddit-Beitrag zur Extension erreichte am Veröffentlichungstag Platz 1 im entsprechenden Subreddit und verzeichnete inzwischen rund 2.900 Aufrufe.
Auch die Nutzungszahlen zeigen, dass das Tool im Alltag ankommt:
- rund 340 GitHub-Clones
- aktuell 35 aktive Nutzer:innen im VS Code Marketplace
Gerade im IBM-i-Umfeld sind dies aussagekräftige Zahlen.
Auch ohne formale Feature-Anfragen oder gemeldete Issues zeigt das Nutzungsverhalten: Der Bedarf ist real – und die Lösung wird in der Praxis eingesetzt.
Noch keine Stable-Version – bewusst
Aktuell ist Shift6 for IBM i noch nicht als „stable“ gekennzeichnet.
Der Grund dafür liegt jedoch nicht in fehlender Funktionalität, sondern in einem bewussten Qualitätsanspruch.
Es gibt Überlegungen, die Extension künftig um Mixed-Format-Unterstützung zu erweitern. Solche Erweiterungen sollen jedoch nur dann umgesetzt werden, wenn sie sich sauber in bestehende IBM-i-Workflows integrieren lassen.
Stabilität und Vorhersagbarkeit stehen dabei klar im Vordergrund.
Portolan als Ermöglicher
Portolan hat den Rahmen geschaffen, in dem ein solches Projekt entstehen konnte – mit Offenheit für neue Ideen, Vertrauen in eigenverantwortliche Entwicklung und dem Anspruch, praxisnahe Lösungen für reale Probleme zu ermöglichen.
Das Projekt zeigt, wie sich traditionelle IBM-i-Stärken mit modernen Entwicklungswerkzeugen verbinden lassen – und wie gezielte Nachwuchsförderung zu Mehrwerten für die gesamte Community führen kann.
Ausblick
Shift6 for IBM i bleibt ein praxisorientiertes Werkzeug.
Der Fokus liegt darauf, reale Probleme im Entwicklungsalltag zu lösen und die Wartbarkeit von Code langfristig sicherzustellen – unabhängig davon, ob moderne Editoren oder klassische IBM-i-Werkzeuge zum Einsatz kommen.
Der vollständige Quellcode ist öffentlich verfügbar:
https://github.com/lakdogan/shift6foribmi