MPS 2025.3 では、JavaDoc 言語の大幅な見直し、ジェネレータープランへの大幅な変更、Reflective Editor の大規模な更新が行われています。 また、Logical(論理)ビューでのキーボード操作が可能になり、TextIcon でライトテーマとダークテーマに視覚的な違いを与えられるようになりました。
すべての変更点を以下に掲載しています。
JavaDoc 言語がテキストの表現と編集に jetbrains.mps.lang.text 言語を使用するように全面的に移行されました。 この変更による全体的なユーザーエクスペリエンスへの影響は最小限だと予測されますが、 多数の問題が修正されます。
jetbrains.mps.lang.text を使用する他の MPS 言語とまったく同じように編集できるようになりました。 テキスト編集の詳細については、Documentation(ドキュメント)ファセットページをご覧ください。 jetbrains.mps.lang.text が使用されているその他の場所をまたいでコピーし、貼り付けられるようになりました。 プレーンテキストのコピーと貼り付けも可能です。 上記と同時に JavaDoc 言語に関連する以下の問題が解決されています。
jetbrains.mps.lang.text を使用するように変更され、同じ編集/コピー/貼り付け/スタイル機能をブロックタグ内で使用できるようになりました。 {@literal ...} インラインタグが追加されました。 CodeSnippet 内のコードがローカル変数を正しく解決するようになりました。 NodeWrapper が格納されているノードのテキストを正しく生成するようになりました。 改良された JavaDoc 言語では、既存の Paste as Java Statement(Java ステートメントとして貼り付け)と Paste as Class Content(クラスコンテンツとして貼り付け)アクションに加えて、テキスト形式の JavaDoc コードを BaseLanguage に簡単に貼り付ける新しいアクションがサポートされています。 何よりも重要なのは、この新しいアクションによって JavaDoc コードが JavaDoc のテキスト行、ブロックタグ、およびインラインタグに適切に解析されるようになったことです。(@param タグや {@link } タグなどの)潜在的な参照の解決も行われます。
この新しい Paste as JavaDoc(JavaDoc として貼り付け)アクションは、クリップボードのテキストを解析し、それをカーソル位置の JavaDoc コメントに貼り付けます。 カーソルが既存の JavaDoc コメント内にない場合は、このアクションによって解析済みの JavaDoc 要素が次のフィールド/メソッド/クラス定義の JavaDoc に解析され、必要に応じて新しい JavaDoc ファイルが作成されます。
ジェネレータープランを大幅に改善し、複雑なモデル変換を行う際のユーザーエクスペリエンスを強化しました。 新しい PlanContribution の概念が優先され、過去に 2024.1 で導入された実験的な fork as 機能が完全に置き換えられます。
また、追加のモデル属性でブランチのモデル(プランまたはプランへの貢献から生じたブランチ)を示す仕組みも追加されました。 この機能のユースケースとしては、言語/プランデザイナーが後続の処理を行う目的でカスタムモデル属性を追加し、特定ブランチの結果を識別する場合が考えられます。 MPS によって使用される属性の 1 つは targetFacet(jetbrains.mps.generator.extensions.common モデルを参照)であり、この属性はモデルの適切な出力場所を決定する際にどの GenerationTargetFacet/ModuleFacet を照会すべきかを <mps.make> に示します。
ジェネレータープランの fork ステップと PlanContribution はいずれも条件付き有効化をサポートしており、 特定の基準を満たした場合にのみプランの特定ブランチを有効化できるようになりました。 現時点の MPS には、指定された plan parameters の値をチェックする条件ステートメントが備わっています。 JetBrains はジェネレータープランの厳格な解釈(プランに BaseLanguage コードを含めないこと)を維持しつつ、最終的にはステートメントを拡張し、論理演算(and/or)やその他の演算もサポートしたいと考えています。
言語デザイナーはカスタムの ParameterDeclaration クラスを提供できます。 このようなパラメーターの値は、PlanParameterContributor 拡張ポイントを使用して貢献可能です。 MPS には初期状態ですぐに使用できる事前定義済みのパラメーターがいくつかあります。そのようなパラメーターの詳細については、jetbrains.mps.generator.extensions.common モデルをご覧ください。
TextIcon のレイヤーをライトとダーク、または両方のカラーテーマに適用するように構成できるようになりました。 また、TextIcon の定義に含まれるカラーリテラルにより、ライトとダークのカラーテーマに異なる値を使用できるようになりました。
Reflective Editor(デフォルト)の外観が新しくなりました。 読み取り専用のデフォルトのエディターが Reflective Editor と統合され、これら 2 つのエディターを取り違えることがなくなりました。
Project(プロジェクト)ビューの Logical(論理)ペインでキーボードショートカットを使用して新しい要素を作成する手順が大幅に改善されました。 新しいモジュール、モデル、およびノードがマウスを使用せずに挿入できるようになっています。
キャレット位置にあるノードの使用箇所について、実際にエディター内で表示されている参照のみがハイライトされるように制限されました。 ノードのエディターが実際に表示していないノード内の使用箇所はハイライトされません。
MPS 2025.3 には広範なバグ修正が含まれています。 解決された課題の完全なリストは、こちらでご覧ください。
MPS 2025.3 では新しい Islands テーマがバンドルされ、デフォルトで有効化されています。
各メジャーリリースでは、旧バージョンの MPS から円滑に移行するための手順が用意されています。 更新された移行ガイドをよくご確認ください。