Das ist neu in MPS 2026.1

MPS verwendet jetzt IntelliJ-Plattform 2026.1, JDK 25 und Kotlin 2.3. Build Language unterstützt jetzt transitive Abhängigkeiten, Migrationen sind besser reproduzierbar und Java-Stubs haben ein umfangreiches Qualitätsupdate erhalten. Über das mitgelieferte Plugin Projectional Agent Toolkit können KI-Coding-Agents MPS-Modelle lesen und schreiben. Dies eröffnet MPS-Entwickler*innen und Sprachautor*innen eine Reihe neuer Möglichkeiten.

Die vollständige Liste der Änderungen finden Sie weiter unten.

Projectional Agent Toolkit: KI-Coding-Agents können jetzt direkt mit MPS-Modellen arbeiten

MPS wird mit dem Projectional Agent Toolkit ausgeliefert, einem Plugin, das die MPS-Projektion, das MPS-Modell und die Language Workbench über das Model Context Protocol für KI-Coding-Agents zugänglich macht. Agents wie Claude Code, OpenAI Codex, JetBrains Junie und andere MCP-kompatible Clients können sich mit einer ausgeführten MPS-Instanz verbinden und darin genauso arbeiten wie menschliche Entwickler*innen – durch Module und Modelle navigieren, Knoten im Projektionseditor lesen und bearbeiten, Referenzen auflösen, Konzepthierarchien untersuchen, Code generieren und Konfigurationen ausführen. Damit sind .mps-Dateien für die Agents nicht mehr undurchsichtiges XML.

Das Projectional Agent Toolkit stellt eine Vielzahl von Toolsets für alle Aspekte eines MPS-Projekts bereit:

  • Projekte, Module und Modelle – Diese ermöglichen es Agents, Lösungen, Sprachen und Devkits aufzulisten, Modelle zu öffnen und zu erstellen sowie Abhängigkeiten aufzulösen.
  • Sprachen und Concepts – Diese bieten Agents die Möglichkeit, Concept-Hierarchien, Eigenschaften, untergeordnete Elemente, Referenzen und Vererbungen zu inspizieren sowie Structure-Concepts anhand einer JSON-Vorlage zu implementieren.
  • Root-Knoten und Knoten – Diese ermöglichen es Agents, statt reiner Textmanipulation knotenspezifische Operationen unter Einhaltung von Concept-Constraints zu verwenden, um Knoten zu lesen, zu erstellen, zu aktualisieren, zu verschieben und zu löschen.
  • Referenzen und Scopes – Diese ermöglichen es Agents, gültige Ziele für einen Referenzlink abzufragen, sodass der Agent gleich beim ersten Versuch einen gültigen Referenten auswählen kann.
  • Run-Konfigurationen – Diese bieten Agents die Möglichkeit, die Run-Konfigurationen des Projekts aufzulisten und auszuführen, um eine durchgängige Validierung der Änderungen vorzunehmen.

Um sicherzustellen, dass Agents so schnell wie möglich produktiv werden, enthält das Toolkit auch eine Reihe von Skills – fokussierte, mit Modellkenntnis ausgestattete Playbooks, die mit den Tools ausgeliefert werden. Sie vermitteln dem Agent, wie MPS-Sprachen strukturiert sind, wie Structure-Concepts implementiert werden, wie mit dem Editor gearbeitet wird, wie die BaseLanguage als JSON-AST geschrieben wird und wie ein DSL-spezifisches Gedächtnis für künftige Sitzungen gespeichert wird. Skills sind über denselben MCP-Kanal auffindbar, sodass ein neu verbundener Agent bei MPS erfragen kann, was er wissen sollte, bevor er sich an die Arbeit macht.

Die Nutzungserfahrung mit verschiedenen KI-Assistenten in IntelliJ-basierten IDEs lässt sich jetzt nahtlos auf die Sprach- und DSL-Entwicklung übertragen: Ein Agent kann ein neues Concept implementieren, dessen Editor und Constraints einrichten, Behavior-Methoden hinzufügen, DSL-Code erstellen, diesen neu generieren und das Ergebnis testen und ausführen – und das alles innerhalb des semantischen Modells von MPS. Für Sprachentwickler*innen bedeutet dies, dass die KI-Unterstützung nicht nur eine praktische Code-Completion bietet, sondern als Mitarbeiter agiert, der die Projektion versteht.

Das Projectional Agent Toolkit ist ein experimentelles Feature, dessen API sich ändern kann. Es befindet sich im Lieferumfang und ist standardmäßig aktiviert. Starten Sie einfach den integrierten MCP-Server und verweisen Sie Ihren MCP-fähigen Agent auf die MPS-Instanz – die Toolsets und Skills werden automatisch erkannt.

Eine vollständige Beschreibung finden Sie in der Dokumentation zum Projectional Agent Toolkit.

Migration auf die IntelliJ-Plattform 2026.1, JDK 25 und Kotlin 2.3

MPS 2026.1 schließt den Wechsel zur aktuellen Generation der IntelliJ-Plattform ab. Die Laufzeitumgebung ist JDK 25, und die integrierte Kotlin-Version ist 2.3.0. Darüber hinaus kompiliert und liefert MPS jetzt eigene kotlinx-metadata-klib/kotlin-metadata-jvm-Artefakte aus dem Kotlin-Repository mit dem passenden 2.3.0-Tag, wodurch die KLib-basierte Kotlin-Stubs-Unterstützung wiederhergestellt wird, die im letzten öffentlichen kotlinx-metadata-klib:0.0.6 nicht mehr enthalten war.

Prüfung von ICheckedNamePolicy anhand bestimmter natürlicher Sprachen

MPS nutzt jetzt die in der IntelliJ-Plattform implementierte Unterstützung natürlicher Sprachen, die von Grazie bereitgestellt wird. Dadurch können Sie prüfen, ob Zeichenfolgen in Instanzen von ICheckedNamePolicy, z. B. Intentions, Actions oder Tools, gemäß den Regeln einer bestimmten natürlichen Sprache eine korrekte Großschreibung verwenden.

Sie können jetzt in MPS die Unterstützung Ihrer bevorzugten natürlichen Sprachen installieren; die IDE erkennt in Zeichenfolgen die verwendete Sprache und überprüft, ob die einzelnen Wörter korrekt großgeschrieben sind. Sie können die automatische Spracherkennung auch umgehen und Ihre gewünschte Sprache explizit angeben.

Zusätzlich zu den standardmäßigen Title-case-Großschreibungsregeln bietet MPS drei weitere Optionen:

  • Sentence-case gemäß den Regeln der IntelliJ-Plattform
  • Inherited – hier werden die Großschreibungsregeln aus der nächsten übergeordneten ICheckedNamePolicy übernommen
  • No capitalization rules (Keine Großschreibungsregeln)

Aufteilung binärer Operationen auf mehrere Zeilen

Im Editor können Sie jetzt lange Zeilen mit binären Operationen aufteilen. Mit einer speziellen Kontextaktion können Sie bei einer bestimmten BinaryOperation zwischen einzeiliger und mehrzeiliger Darstellung wechseln.

Neuer boolescher Editorstil: read-only-inspector

Der neue Stil read-only-inspector wendet die Read-only-Eigenschaft auf alle Editor-Zellen im Inspector an. Wird dieser Stil auf eine Zelle im Haupteditor angewendet, ist der Inspector für den inspizierten Knoten schreibgeschützt, wenn die Zelle mit diesem Stil ausgewählt ist. Der neue Stil hat folgende Eigenschaften:

  • Er ist standardmäßig deaktiviert.
  • Der Stil ist vererbbar und überschreibbar, genau wie der Stil read-only.
  • Er hat keine Auswirkungen auf Zellen im Haupteditor.
  • Der auf diese Weise gesetzte read-only-Stil kann in jeder Zelle, die sich weiter unten in der Editor-Zellenbaumstruktur des Inspectors befindet, überschrieben werden.

Transitive Abhängigkeiten in Build Language

Build Language erfordert nicht mehr, dass jedes transitiv erreichbare Build-Skript in dependencies aufgeführt wird. Das bedeutet Folgendes: Build-Skript BuildA, das von BuildB abhängt, kann jetzt über BuildB auch BuildC erreichen, ohne BuildC explizit aufzuführen (vorausgesetzt, BuildB hat eine Abhängigkeit von BuildC). Der Generator gibt in solchen Fällen die Ant-Eigenschaft ${artifacts.BuildC} aus, und diese Eigenschaft kann vom äußeren Build-Tool (Gradle, Maven usw.) bereitgestellt werden.

Dadurch können Sie große Builds in kleinere aufteilen, ohne alle Benutzer*innen zum Aktualisieren der Abhängigkeitslisten zu zwingen. Zum Beispiel kann ein einzelnes platform-Buildskript eine laufend ergänzte Sammlung von externen Bibliotheken kapseln, die dann in Unterprojekten verwendet werden können.

Zuverlässigere Migrationen durch hinterlegte Abhängigkeiten

Im Migrationscode wurde bisher anhand der zum Migrationszeitpunkt erfassten tatsächlichen Modulabhängigkeiten und verwendeten Sprachen entschieden, welche Migrationen anzuwenden sind, während die Versionen aus dem Abhängigkeits-Snapshot herausgelesen wurden, der im Modul-Deskriptor hinterlegt war. Diese Diskrepanz konnte dazu führen, dass Migrationen einen anderen Zustand zugrunde legten als den, der bei der letzten Änderung des Moduls verwendet wurde.

In Version 2026.1 verwendet der Migrationsmechanismus durchgängig die im Modul-Deskriptor zum Zeitpunkt der letzten Änderung hinterlegten Abhängigkeiten und verwendeten Sprachen, nicht den aktuell beobachtbaren Zustand. Der Migrationsprüfer wurde entsprechend refaktoriert. Er verwendet jetzt die bereits für den Migrationsprozess gesammelten Informationen, statt sie bei Bedarf neu zu berechnen.

Verbesserte Java-Stubs

Eine Reihe von länger bestehenden Java-Stubs-Fehlern wurde behoben, was die Korrektheit der für importierte .jar-Dateien und Java Sources-Modell-Roots erzeugten BaseLanguage-Stubs deutlich verbessert:

  • MPS-33174 (seit 2021 offen) – Klassen mit InnerClasses-Attributen werden jetzt korrekt in BaseLanguage-Stubs umgesetzt. Die InnerClass-Informationen und parametrisierten Owner-Typen der Signatur werden beibehalten, sodass Felder und Methoden von inneren Klassen in generischen äußeren Klassen jetzt den korrekten Typ anzeigen, anstatt auf die äußere Klasse reduziert zu werden.
  • MPS-39375 – Bei Typvariablen in generischen Methoden von inneren Klassen zeigen Methoden, die Typvariablen der äußeren Klasse referenzieren, nicht mehr java.lang.Object anstelle der tatsächlichen Typvariablen an.
  • MPS-39007 – Der fälschlicherweise angezeigte Fehler Java imports annotation is present erscheint nicht mehr bei jedem Root eines Java-Source-Stub-Modells.
  • MPS-39565 – Java-Source-Stub-Roots verschwinden nicht mehr, wenn Änderungen an den Eigenschaften des enthaltenden Moduls vorgenommen werden, sodass Referenzen aus dem Projektcode auf diese Roots erhalten bleiben, wenn Moduleigenschaften geändert werden.

Modernisierter Projektlebenszyklus

Nachdem MPSProject von einem veralteten IntelliJ-IDEA-ProjectComponent auf einen Projekt-Service umgestellt wurde, benötigen MPS-fähige Features eine zuverlässige Methode für den Erhalt von Benachrichtigungen, wenn ein MPSProject bereitgestellt oder entfernt wird.

Diese Version führt einen dedizierten Mechanismus zur Verwaltung der Startup- und Shutdown-Aktivitäten von MPSProject ein, der MPS die Kontrolle über Sequenzierung, Gruppierung, Sortierung und Threading dieser Aktivitäten gibt. Diese Möglichkeiten konnten durch die plattformeigenen Konstrukte ProjectActivity und MPSProjectActivity nicht bereitgestellt werden.

So funktioniert es: Implementierer registrieren sich am Erweiterungspunkt jetbrains.mps.project.lifecycleListener (deklariert in MPSCore.xml) über eine ProjectLifecycleListener.Bean mit einer listenerClass und einer optionalen ganzzahligen priority. LifecycleEventDispatch.java im MPSProject kann folgende Ereignisse auslösen:

  • projectReady (nicht blockierend)
  • projectDiscarded (blockierend)
  • asyncProjectClosed (nicht blockierend)

Wayland als Standard

Auf unterstützten Linux-Systemen bietet MPS jetzt Wayland als Standard-Anzeigeprotokoll an. Bei Ausführung in einer Wayland-fähigen Umgebung wechselt MPS automatisch zu einem nativen Wayland-Backend, um diesen modernen Linux-Desktop-Standard zu verwenden, statt weiterhin auf X11-Kompatibilitätsschichten zurückzugreifen.

Dieser Wechsel verbessert die allgemeine Integration in das System, mit einer höheren Stabilität bei verschiedenen Wayland-Compositors, einer ordnungsgemäßen Unterstützung für Eingabemethoden und Drag-and-Drop sowie einem verlässlicheren Rendering – insbesondere auf HiDPI-Systemen und bei fraktionalen Skalierungseinstellungen. Die Nutzungserfahrung bleibt zwar weitgehend unverändert, aufgrund der Wayland-Architektur können jedoch einige Unterschiede (z. B. bei der Fensterpositionierung oder -dekoration) zu sehen sein.

Zahlreiche Fehlerkorrekturen

MPS 2026.1 enthält zahlreiche Fehlerkorrekturen. Die vollständige Liste der Fehlerkorrekturren finden Sie hier.

Plattform-Updates

UI-Updates

Bei JetBrains MPS 2026.1 standen einmal mehr höchster Komfort und eine ergonomische Bedienoberfläche im Vordergrund, um sicherzustellen, dass Ihre Arbeitsumgebung genauso leicht zugänglich und anpassbar ist wie Ihr Code.

Die lang erwartete Möglichkeit, das IDE-Design mit dem Betriebssystem zu synchronisieren, steht nach macOS und Windows jetzt auch unter Linux zur Verfügung. Die Einstellung kann unter Settings | Appearance & Behavior | Appearance aktiviert werden.

Wenn Sie unter Windows gerne mit der Tastatur arbeiten, können Sie jetzt das Hauptmenü der IDE mit der Alt-Taste aktivieren. Diese Änderung verbessert auch die Barrierefreiheit bei der Nutzung von Screenreadern.

Updates für Versionsverwaltungen

Wir nehmen immer wieder kleine, aber wirkungsvolle Verbesserungen vor, die Ihren Arbeitsaufwand reduzieren und Ihre täglichen Arbeitsabläufe unterstützen.

Sie können jetzt kürzlich vorgenommene Commits direkt im Commit-Toolfenster mittels amend ändern – ein aufwendiges interaktives Rebasing ist nicht mehr erforderlich. Wählen Sie einfach den Ziel-Commit und die notwendigen Änderungen aus und bestätigen Sie die Auswahl – die IDE kümmert sich um den Rest.

Neben Git-Worktrees haben wir Branch-Workflows durch die Einführung der Aktion Checkout & Update verbessert – mit dieser Aktion können Sie alle Remote-Änderungen abrufen.

Darüber hinaus kann das Abrufen von Änderungen mittels fetch jetzt automatisiert werden; ein separates Plugin ist nicht erforderlich. Die Einstellung kann unter Fetch remote changes automatically unter Settings | Git aktiviert werden.

Terminal-Updates

  • Sie müssen sich Befehle nicht mehr auswendig merken. Sie werden Ihnen einfach eingeflüstert. Die Completion im Terminal schlägt Ihnen verfügbare Unterbefehle und Parameter direkt während der Eingabe vor. Ganz gleich, ob Sie mit komplexen CLI-Tools wie Git, Docker oder kubectl arbeiten oder Ihre eigenen Skripte verwenden – diese Funktion schlägt Ihnen auf intelligente Weise gültige Optionen in Echtzeit vor.

    Nachdem diese Funktion bereits für die Shells Bash und Zsh eingeführt wurde, ist sie jetzt auch in PowerShell verfügbar.

  • Wir haben das Verhalten von Esc korrigiert – der Tastendruck wird jetzt von der Shell verarbeitet, statt den Fokus auf den Editor zu legen, sodass ein KI-Agent-Workflow nicht unterbrochen wird. Außerdem kann jetzt mit Shift+Enter eine neue Zeile eingefügt werden, was das direkte Schreiben mehrzeiliger Prompts und Befehle erleichtert. Dieses Verhalten kann unter Settings | Advanced Settings | Terminal deaktiviert werden.

Migrationsleitfaden

Für jede Hauptversion bieten wir eine Anleitung für die Migration von älteren MPS-Versionen, um einen reibungslosen Umstieg zu gewährleisten. Bitte überprüfen Sie sie sorgfältig im aktualisierten Migrationsleitfaden.