MPS が IntelliJ Platform 2026.1、JDK 25、および Kotlin 2.3 を使用するようになりました。 Build Language に推移的依存関係が加わり、移行の再現性が高まり、Java スタブの品質が大幅に更新されています。 バンドルの Projectional Agent Toolkit プラグインを使用すると、AI コーディングエージェントで MPS モデルの読み書きが可能になるため、MPS 開発者や言語開発者が最先端の開発概念を利用できるようになります。
すべての変更点を以下に掲載しています。
MPS には Model Context Protocol を介して AI コーディングエージェントに MPS のプロジェクション、モデル、および言語ワークベンチを公開する Projectional Agent Toolkit プラグインが付属しています。 Claude Code、OpenAI Codex、JetBrains Junie などのエージェントやその他の MCP 互換クライアントは動作中の MPS インスタンスに接続し、開発者と同じようにモジュールとモデルの操作、プロジェクションエディターを介したノードの読み取りと編集、参照の解決、概念階層の検査、コードの生成、および構成の実行を行うことができます。 .mps ファイルを不明瞭な XML として処理する必要はなくなりました。
Projectional Agent Toolkit は MPS プロジェクトに全面的に対応する複数のツールセットを備えています。
エージェントが可能な限り迅速に生産性を発揮できるようにするため、ツールキットにはスキル一式(ツールに付属する特定の目的に特化したモデル認識型プレイブック)もバンドルされています。 これらは MPS 言語の構成、構造概念の実装方法、エディターとの連携方法、JSON AST 形式での BaseLanguage の記述方法、DSL 固有のメモリを後続のセッション用に記録する方法をエージェントに指示します。 スキルは同じ MCP チャンネルを介して検出可能であるため、新しく接続されたエージェントは編集を開始する前に知っておくべきことを MPS に問い合わせることができます。
IntelliJ ベース IDE 組み込みの各種 AI アシスタントと同じ使用感が言語と DSL 開発にも必然的に適用されました。エージェントは新しい概念の実装、エディターと制約の関連付け、behavior メソッドの追加、DSL コードの作成、その再生成、結果のテストと実行のすべてを MPS セマンティックモデル内で行えます。 これにより、AI 支援機能は言語設計者にとって便利なコード補完機能からプロジェクションを理解する協働作業者へと変わりました。
Projectional Agent Toolkit は実験的機能であるため、将来的に API が変更される可能性があります。 このプラグインはバンドル化されており、デフォルトで有効化されています。 組み込みの MCP サーバーを起動して MCP 対応エージェントを MPS インスタンスに接続するだけで、ツールセットとスキルが自動的に表示されるようになります。
詳細については、Projectional Agent Toolkit ドキュメントをご覧ください。
MPS 2026.1 をもって IntelliJ Platform の最新世代への移行が完了します。 ランタイムは JDK 25 で、組み込みの Kotlin のバージョンは 2.3.0 です。 また、MPS が Kotlin リポジトリから対応する 2.3.0 タグを持つ独自の kotlinx-metadata-klib / kotlin-metadata-jvm アーティファクトをビルドして提供するようになり、最後に公開された kotlinx-metadata-klib:0.0.6 で提供できなくなっていた KLib ベースの Kotlin スタブのサポートが復元されました。
ICheckedNamePolicy を確認する機能
MPS が Grazie 提供の IntelliJ Platform の自然言語サポートを利用するようになりました。 そのため、ICheckedNamePolicy のインスタンス内のインテンション、アクション、ツールといった文字列値が特定の自然言語のルールに従って適切に大文字が使用されているかどうかを確認することができます。
希望する言語の自然言語サポートを MPS にインストールし、IDE で文字列に使用されている言語を検出して単語ごとに適切に大文字が使用されているかどうかを検証できるようになりました。 また、言語検出の仕組みを通さずに希望する言語を明示的に指定することも可能です。
MPS ではデフォルトの Title-case(タイトルケース)の大文字化ルールに加えて、以下の 3 つのオプションも提供されています。
ICheckedNamePolicy 大文字化ルールを使用します。
エディター内で二項演算を含む長い行を分割できるようになりました。 専用のインテンションアクションを使用することで、特定の BinaryOperation のレイアウトを単一行または複数行に切り替えることができます。
read-only-inspector 新しい read-only-inspector スタイルを使用すると、インスペクターのすべてのエディターセルに読み取り専用プロパティが適用されます。 このスタイルがメインエディター内のセルに適用されている場合にこのスタイルが適用されたセルが選択されると、検査対象ノードでインスペクターが読み取り専用になります。 新しいスタイルには以下の特徴があります。
read-only スタイルと同様に継承可能かつオーバーライド可能です。 read-only はインスペクターのエディターセルツリーのさらに下にあるセルでオーバーライドできます。 Build Language で遷移的に到達可能なすべてのビルドスクリプトを dependencies に登録する必要がなくなりました。 つまり、BuildB に依存するビルドスクリプト BuildA が(ビルドスクリプト BuildB が BuildC に依存している場合に限り)明示的に BuildC を登録しなくても BuildB を介して BuildC に到達できるようになりました。 ジェネレーターはこのような場合に ${artifacts.BuildC} Ant プロパティを出力します。また、このプロパティは外部のビルドツール(Gradle、Maven など)から提供することができます。
これにより、すべてのユーザーに依存関係リストの更新を要求することなく大きなビルドをより小さなビルドに分割できるようにしています。 たとえば、サブプロジェクト全体で使用されており、増え続けている外部ライブラリ一式を 1 つの platform ビルドスクリプトでラップすることが可能です。
移行コードはかつては実際のモジュール依存関係に基づいて適用すべき移行を決定し、移行時に収集される言語を使用していましたが、モジュール記述子に記録されている依存関係スナップショットからバージョンを読み取っていました。 この不一致により、モジュールが最後に変更された時点とは異なる状態が移行処理で使用される可能性がありました。
バージョン 2026.1 の移行の仕組みでは現時点で観察される状態ではなく、最後に変更された時点でモジュール記述子に記録された依存関係と使用言語が一貫して使用されるようになっています。 移行チェッカーもそれに合わせてリファクタリングされ、 移行プロセスで必要となった情報をその時点で再計算するのではなく、すでに収集されている情報を再利用するようになっています。
長期にわたって未解決となっていた Java スタブ関連の一連のバグが修正され、インポートされた .jar ファイルと Java Sources モデルのルートに対して生成される BaseLanguage スタブの正確性が目に見えて改善されました。
InnerClasses 属性のあるクラスが BaseLanguage スタブに正しく変換されるようになりました。 シグネチャーの内部クラスの情報とパラメーター化されたオーナーの型が保持され、外部ジェネリクスクラスの内部クラスのフィールドとメソッドが外部クラスに折りたたまれるのではなく、適切な型を表示するようになりました。 java.lang.Object を表示しなくなりました。 MPSProject が IntelliJ IDEA の従来の ProjectComponent からプロジェクトサービスに移行したことにより、MPS を認識する機能に MPSProject の使用可否に関する通知を確実に得る方法が必要になりました。
このバージョンでは MPSProject の起動および停止アクティビティを管理する専用の仕組みが導入され、MPS がそれらのアクティビティのシーケンス、グループ化、順序付け、およびスレッド化を制御できるようになりました。 これは、プラットフォームの ProjectActivity と MPSProjectActivity では提供できなかった仕組みです。
仕組み: 実装側は listenerClass とオプションの priority 整数値を使用する ProjectLifecycleListener.Bean を介して jetbrains.mps.project.lifecycleListener 拡張ポイント(MPSCore.xml で宣言)に登録します。 MPSProject 内の LifecycleEventDispatch.java は以下の項目を発行できます。
projectReady(ノンブロッキング) projectDiscarded(ブロッキング) asyncProjectClosed(ノンブロッキング) MPS がサポート対象の Linux システムで Wayland をデフォルトのディスプレイプロトコルとして提供するようになりました。 Wayland 対応環境で MPS を実行すると、X11 互換性レイヤーを使用する代わりに自動的にネイティブの Wayland バックエンドに切り替わります。これにより、モダンな Linux デスクトップ標準に準拠することができます。
この移行によってシステムとの全体的な統合が改善され、特に HiDPI およびフラクショナルスケーリング環境で Wayland コンポジタ全体の安定性の向上、入力メソッドとドラッグアンドドロップの適切なサポート、およびより一貫したレンダリングが得られます。 ユーザーエクスペリエンスは概して従来と変わりありませんが、Wayland のアーキテクチャによる若干の違い(ウィンドウの配置や外観など)に気付くかもしれません。
MPS 2026.1 には広範なバグ修正が含まれています。 解決された課題の完全なリストは、こちらでご覧ください。
JetBranis MPS 2026.1 では引き続き究極の快適性と人工工学に基づく UI を最優先とすることで、ワークスペースでもコードと同じようなアクセス性とカスタマイズ性を確保できるようにしています。
長く待ち望まれていた IDE のテーマを OS と同期する機能が Linux ユーザーにも提供され、macOS と Windows と同等の機能が実装されるようになりました。 この機能は、Settings(設定)| Appearance & Behavior(外観 & 振る舞い)| Appearance(外観)で有効化できます。
キーボードを使用する Windows ユーザーが Alt キーを押して IDE のメインメニューにフォーカスを移動できるようになりました。 この変更により、スクリーンリーダーユーザーのアクセシビリティが改善しています。
JetBrains は小さいながらも効果の大きな改善に継続的に取り組むことで、手間を軽減しながら日々のワークフローをサポートしています。
Commit(コミット)ツールウィンドウから直接最近のコミットを修正できるようになりました。対話型のリベースを伴う大がかりな作業は必要ありません。 対象のコミットを選択して必要な変更を行って確定するだけで、IDE が残りの処理を行います。
Git ワークツリーに加えて、すべてのリモート変更をプルする Checkout & Update(チェックアウトと更新)アクションを導入によってブランチのワークフローも改善しました。
さらに、変更のフェッチを自動化できるようになりました。個別のプラグインは必要ありません。 Settings(設定)| Git で Fetch remote changes automatically(リモートでの変更を自動でフェッチする)を有効化してください。
コマンドを記憶するのではなく、 発見できるようになります。 ターミナル内での補完により、入力の途中で使用可能なサブコマンドとパラメーターをすぐに調べることができます。 この機能は、Git、Docker、kubectl などの複雑な CLI ツールを使用している場合や独自のスクリプトを使用している場合に有効なオプションをリアルタイムでインテリジェントに提案します。
従来は Bash シェルと Zsh シェルに導入されていた機能ですが、PowerShell でも使用できるようになりました。
各メジャーリリースでは、旧バージョンの MPS から円滑に移行するための手順が用意されています。 更新された移行ガイドをよくご確認ください。