T
traeai
登录
返回首页
The JetBrains Blog

MPS 2026.1早期访问计划已启动

8.5Score
MPS 2026.1早期访问计划已启动

TL;DR · AI 摘要

JetBrains MPS 2026.1 EAP引入了多项改进,包括迁移到IntelliJ Platform 2026.1、支持自然语言检查和多行二元运算。

核心要点

  • MPS迁移至IntelliJ Platform 2026.1,支持JDK 25与Kotlin 2.3。
  • 新增对自然语言的检查功能,可验证字符串值的大小写规则。
  • 编辑器支持将长二元运算符拆分为多行以提高代码可读性。

结构提纲

按章节快速跳转。

  1. 介绍JetBrains MPS 2026.1 EAP发布。

  2. 描述迁移到IntelliJ Platform 2026.1及运行时更新。

  3. 新增对特定自然语言大小写规则的检查功能。

  4. 支持二元运算符多行显示及只读检查器样式。

  5. 移除对显式传递依赖的需求并改进迁移机制。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • MPS 2026.1 EAP
    • Platform Migration
      • IntelliJ Platform 2026.1
    • Natural Language Support
      • Grazie Integration
    • Editor Improvements
      • Binary Operations Splitting
    • Build Language Optimization
      • Transitive Dependencies

金句 / Highlights

值得收藏与分享的关键句。

#JetBrains#MPS#DSL#IntelliJ 平台
打开原文
Image 1: Mps logo

用于创建特定领域语言(Domain-Specific Languages)的语言工作台

发布信息

MPS 2026.1 早期访问计划 (EAP) 已启动

Image 2: Vaclav Pech

2026年5月7日

MPS 2026.1 早期访问计划(EAP)今天正式启动。请下载首个 2026.1 EAP 版本并试用!

下载 MPS 2026.1 EAP

除了大量的错误修复,此版本还引入了几项关键改进。

迁移到 IntelliJ 平台 2026.1、JDK 25 和 Kotlin 2.3

此 MPS 2026.1 EAP 构建完成了向最新一代 IntelliJ 平台的迁移。运行时环境为 JDK 25,嵌入的 Kotlin 版本为 2.3.0。此外,MPS 现在从 Kotlin 仓库中构建并分发与 2.3.0 标签匹配的 _kotlinx-metadata-klib_ / _kotlin-metadata-jvm_ 艺术品,恢复了基于 KLib 的 Kotlin 存根支持,而之前的公共 _kotlinx-metadata-klib:0.0.6_ 已无法提供这种支持。

支持针对特定自然语言检查 ICheckedNamePolicy

MPS 现在使用 IntelliJ 平台提供的自然语言支持(由 Grazie 提供)。这意味着您可以检查 _ICheckedNamePolicy_ 实例中的字符串值(例如意图、操作或工具)是否根据特定自然语言的规则正确大写。

Image 3: 大写不正确的文本说明

通过这一更改,您可以在 MPS 中安装选定语言的自然语言支持,IDE 将检测字符串中使用的语言,并验证每个单词是否正确大写。您还可以绕过语言检测机制并明确指定所需的语言。

除了默认的 _Title-case_ 大写规则外,MPS 还提供了另外三种选项:

  • _Sentence-case_,遵循 IntelliJ 平台的规则
  • _Inherited_,使用最近的祖先 _ICheckedNamePolicy_ 的大写规则
  • _No capitalization rules_

二元运算符可以拆分为多行

在编辑器中,现在可以将包含二元运算符的长行拆分为多行。一个专门的意图操作允许您在单行布局和多行布局之间切换给定的 _BinaryOperation_。

Image 4: 长二元表达式拆分为多行

新的布尔编辑器样式:read-only-inspector

新的 _read-only-inspector_ 样式会在检查器中的所有编辑器单元格上强制执行只读属性。当此样式应用于主编辑器中的某个单元格时,选择该样式的单元格后,检查器对所检查的节点变为只读。新样式具有以下属性:

  • 默认情况下禁用。
  • 样式可继承且可覆盖,类似于 _read-only_ 样式。
  • 对主编辑器单元格无影响。
  • 通过此机制设置的 _read-only_ 样式可以在检查器编辑器单元格树中更远的任何单元格中被覆盖。

构建语言中的传递依赖

构建语言不再需要将所有传递可达的构建脚本列在 _dependencies_ 中。这意味着,如果构建脚本 _BuildA_ 依赖于 _BuildB_,那么它可以通过 _BuildB_ 访问 _BuildC_(前提是 _BuildB_ 依赖于 _BuildC_),而无需显式列出 _BuildC_。生成器会为此类情况发出 _${artifacts.BuildC}_ Ant 属性,这些属性可以从外部构建工具(如 Gradle 或 Maven)提供。

这使得您可以将大型构建拆分为更小的部分,而无需强迫每个用户更新依赖列表。例如,一个单一的 _platform_ 构建脚本可以封装跨子项目使用的不断增长的外部库集合。

更可靠的迁移通过记录的依赖关系

以前的迁移代码根据实际模块依赖关系和迁移时收集的使用语言来决定应用哪些迁移,但它会从模块描述符中记录的依赖快照中读取版本。这种不匹配可能导致迁移使用与模块最后一次修改时不同的视图。

在此 2026.1 EAP 构建中,迁移机制始终使用模块描述符在最后一次修改时记录的依赖关系和使用语言,而不是当前可观察的状态。迁移检查器已相应重构。它现在重用为迁移过程已经收集的信息,而不是按需重新计算。

改进的 Java 存根

一组长期存在的 Java 存根问题已得到修复,显著提高了为导入的 _.jar_ 文件和 _Java Sources_ 模型根生成的 BaseLanguage 存根的准确性:

  • MPS-33174 – 带有 _InnerClasses_ 属性的类现在可以正确转换为 BaseLanguage 存根(自 2021 年开放)。签名的内部类信息和参数化所有者类型得以保留,因此泛型外部类的内部类的字段和方法现在显示正确的类型,而不会折叠为外部类。
  • MPS-39375 – 内部类的泛型方法中的类型变量现在已得到处理,因此引用外部类类型变量的方法不再用 _java.lang.Object_ 替代实际的类型变量。
  • MPS-39007 – 不再在每个 Java 源存根模型的根节点上出现错误的“Java 导入注解存在”错误。
  • MPS-39565 – 在更改包含模块的属性时,Java 源存根根节点不再消失,因此当模块属性更改时,项目代码对这些根节点的引用保持完整。

现代化的项目生命周期

随着 _MPSProject_ 从旧版 IntelliJ IDEA 的 _ProjectComponent_ 转移到项目服务,MPS 相关功能需要一种可靠的方式来接收关于 _MPSProject_ 可用性和关闭的通知。

此版本引入了一种专门用于管理 _MPSProject_ 启动和关闭活动的机制,使 MPS 能够控制这些活动的排序、分组、顺序和线程。这是平台的 _ProjectActivity_ / _MPSProjectActivity_ 所无法提供的功能。

工作原理:实现者通过 _ProjectLifecycleListener.Bean_(带有 _listenerClass_ 和可选的整数 _priority_)注册到 _jetbrains.mps.project.lifecycleListener_ 扩展点(在 _MPSCore.xml_ 中声明)。_MPSProject_ 内部的 _LifecycleEventDispatch.java_ 可以触发以下事件:

  • _projectReady_(非阻塞)
  • _projectDiscarded_(阻塞)
  • _asyncProjectClosed_(非阻塞)

默认使用 Wayland

MPS 现在在支持的 Linux 系统上默认提供 Wayland 作为显示协议。在具备 Wayland 功能的环境中运行时,MPS 会自动切换到原生 Wayland 后端,而不是依赖 X11 兼容层,从而与现代 Linux 桌面标准保持一致。

这一过渡改进了系统整体集成性,提供了更好的稳定性,支持各种 Wayland 合成器,正确支持输入法和拖放操作,并且在 HiDPI 和分数缩放设置下渲染更加一致。尽管用户体验基本保持熟悉,但由于 Wayland 的架构,某些差异(例如窗口定位或装饰)可能会变得明显。X11 仍然完全支持,并且可以在需要时用作回退选项,确保在所有 Linux 环境中的兼容性。

您可以在此处查看完整的修复问题列表 here.

您的 JetBrains MPS 团队

[](http://blog.jetbrains.com/mps/2026/05/the-mps-2025-2-eap-has-started-2/#)

  1. 迁移到 IntelliJ Platform 2026.1, JDK 25 和 Kotlin 2.3
  2. 针对特定自然语言检查 ICheckedNamePolicy 的能力
  3. 二元运算符可以拆分为多行
  4. 新的布尔编辑器样式:只读检查器
  5. Build Language 中的传递依赖
  6. 通过记录依赖关系实现更可靠的迁移
  7. 改进的 Java 存根
  8. 现代化的项目生命周期
  9. 默认使用 Wayland

发现更多

AI 可能会生成不准确的信息,请核实重要内容