JetBrains MPS 2026.2 发布:支持 Linux ARM64,AI 编程代理能力大幅增强
MPS 现在可在 Linux ARM64 上运行,编程智能体能够以更低的成本完成更多工作。UI 支持按虚拟包对节点分组,多个对话框的界面已重新设计,编辑器测试支持自定义节点匹配功能,此外还有更多改进。
新功能
以下是最值得关注的新功能:
构建与分发
支持 Linux ARM64
MPS 现在可用于 ARM64(AArch64)上的 Linux,并捆绑匹配的 JetBrains Java 运行时。
你也可以为 Linux ARM64 构建基于 MPS 的独立应用(RCP)。构建脚本向导现在会在其生成的构建脚本中,与现有平台分发版本一同包含 Linux ARM64 分发版本。
构建语言中的 TAR 导入
构建语言现在支持使用新增的 import files from tar 和 files from tar 条目,将归档内容直接导入分发布局。
你可以从普通 TAR 归档或使用 gzip 或 bzip2 压缩的归档中导入文件。源可以是归档文件,也可以是构建脚本中定义的另一 TAR 布局。
导入 TAR 布局时,会保留符号链接和文件权限。这在打包平台特定插件和原生库时尤其有用,因为符号链接会保持为链接,而不会变成其目标文件的重复副本。
归档打包变更
MPS 2026.2 在打包平台特定插件时会保留符号链接和文件权限。此前,符号链接有时会被替换为其目标文件的副本,导致大型原生库被多次包含,尤其在 macOS 上。
macOS 归档分发版本现在使用 .tar.gz 而不是 .zip,以保留符号链接。构建脚本向导会为独立 macOS 应用生成相同的归档格式。
启动配置与 IntelliJ 平台保持一致
MPS 2026.2 更新了启动脚本和产品元数据的组装方式。MPS 构建工具现在将平台提供的启动类路径与 MPS 专用扩展类路径分开。它还会将更多 JVM 参数作为 MPS 启动脚本配置的一部分暴露出来。
这种分离使 MPS 分发版本可以沿用匹配的 IntelliJ 平台构建所定义的启动类路径和 JVM 选项,同时仅添加 MPS 特有的库和设置。因此,整合平台更新时所需的手动维护更少,启动器配置过时的风险也更低。
生成的启动器还会更精确地应用平台访问选项。共享的 --add-opens 选项来自平台元数据,而操作系统特定的包只会添加到对应操作系统的启动器中。这使启动配置在 macOS、Linux 和 Windows 上保持一致,并有助于防止因 JVM 参数过时或范围过宽而导致的启动问题。
这些变更共同使 MPS 启动器在底层平台演进时更具韧性,并为构建自定义 MPS 分发版本的团队提供更清晰的扩展点。
Projectional Agent Toolkit 增强
Projectional Agent Toolkit 在性能和能力方面均有大幅提升。
性能
你的 AI 智能体现在可以在 DSL 建模或实现语言定义等常见任务中减少 token 用量。在我们使用 Claude Code(Opus 5 和 5.5)进行的测量中,节省超过 50%。
这一改进源于对 MPS MCP API 的大幅重构,其中实现了以下改进:
- 一致的参数命名、null 和默认值处理以及错误报告。
- 更精确的技能和更详细的工具描述。
- 在收益最大的场景中提供批量操作,并用紧凑摘要代替庞大的数据载荷。
- 简短的读取结果直接包含在响应中,仅在需要时才将大型转储写入文件。
- 一次性模型验证,无需往返开销即可检查完整模型。
- 使用轻量、仅含结构的元数据视图而非完整 AST 转储来快速发现概念。
- 快速失败检查,拒绝无效的搜索范围和变更输入,而不是返回不完整结果。
- 技能中附带辅助脚本,使智能体减少重复实现常见 MPS 任务的时间。
- 在打开多个 MPS 或 IDE 项目时更清晰地确定目标项目。
类型系统 MCP 工具
类型系统 MCP 工具使智能体能够:
- 理解节点类型和类型系统消息。
- 比较类型,并确定某个角色所期望的类型。
- 跟踪类型计算并调试类型系统规则。
- 识别导致所报告类型系统错误的类型系统规则。
[LOADING...]
其他新增 MCP 工具
除类型系统 MCP 工具外,我们还新增了多个 MCP 工具,覆盖 MPS 开发的其他核心方面。新工具使智能体能够:
- 调用意图操作和快速修复。
- 自动使其技能数据库与所连接的 MPS 实例保持同步。
- 读取并筛选 MPS 日志内容。
- 打开、关闭和创建 MPS 项目。
- 自动修正已解析 Java 语句中的 SModel 表达式,帮助智能体编写概念函数和行为方法。
[LOADING...]
UI 增强
查找用法结果中的虚拟包
查找用法结果树现在支持按虚拟包分组。启用后,用法结果会嵌套在各自根节点虚拟包对应的文件夹节点下,与项目窗格中显示的结构保持一致。这样在包含许多虚拟文件夹的大型模型中更容易定位根节点。
带点的虚拟包名称(例如 com.example.ui)会按每个段展开为一个树层级,因此查找用法中的嵌套结构与项目视图中的嵌套虚拟文件夹相匹配。
新的按虚拟包分组开关出现在查找用法工具栏上,与现有的分组选项(模块、模型、根节点等)并列。它在查找用法中默认启用。其他显示用法结果的工具窗口——模型检查器、TODO、依赖关系查看器和重构视图——保留其通常的默认分组选项。
[LOADING...]
更自然的节点列表选择方式
现在,使用向上选择(Ctrl+Up)在 MPS 编辑器中选择模型中较大的片段更加容易。当光标位于节点列表内部时——例如行为方法或约束中的语句序列——向上选择现在会将该列表识别为有意义的选取单元。
该操作不会直接从某个节点跳到其父节点,而是先选中列表中的所有同级节点。下一步才会选中父节点。这为选择过程提供了一个直观的中间层级,并使复制粘贴一整组语句等常见操作更快、更可靠。
当当前选择已经是一个节点范围时,这一行为也能正确工作,因此重复执行向上选择会提供一条一致的路径:从单个节点,经过其所在列表,再到外围结构。
重新设计的导入对话框:选择要导入的模型和语言
导入对话框经过了大幅改造,以修复功能问题,并使其外观与平台其他部分保持一致。
- 在模型之间粘贴代码时,只会导入你在对话框中实际选中的模型和语言。此前,对话框会忽略你的选择。
- 如果对话框只提供一个建议,你现在可以取消选择它。此前,唯一的建议无法取消选择。
- 模型列表和语言列表现在都包含针对各个条目的复选框,以及用于全选或取消全选所有条目的表头复选框。当只选中部分条目时,表头复选框会显示半选状态。
差异对话框和标签页改进
我们做了不少小幅调整,使差异对话框的外观和体验与平台其他部分保持一致。
- 当对话框或编辑器调整大小时,滚动条上的更改标记现在会保持在正确位置。此前,标记有时会跳到无关位置。该修复位于共享的编辑器边栏中,因此常规编辑器中的错误和警告标记问题也一并得到修复。
- 我们修复了此前引入的合并后子项排序改进所导致的回归。现在,即使子项需要重新排序,应用已解决的冲突也能成功。
测试
编辑器测试:灵活的结果匹配
当编辑器测试不需要精确匹配预期结果时——例如子节点顺序或属性值无关紧要时——你现在可以告诉 MPS 要忽略哪些差异。
有两种自定义结果匹配的方式:
- 节点匹配规则:声明自定义匹配规则。你可以指定哪些包含角色应比较、忽略或排除,以及哪些属性或引用不应比较。
- 单节点标记:当例外仅适用于一个节点时,使用意图操作菜单将标记直接添加到结果夹具中的该节点。
[LOADING...]
无论采用哪种方式,你不关心的部分都不再导致误报失败——而当测试确实失败时,消息现在会直接指向负责的节点和单元格,因此不再需要翻查原始断言来排查问题。
这一改进源于客户的直接请求。它可减少脆弱的编辑器测试,并减少对测试夹具的繁琐维护。
信息更丰富的测试失败消息
编辑器测试失败消息——例如选择错误、编辑器单元格 ID 不匹配或选择范围错误——现在会准确描述是哪个节点和单元格导致问题,而不是只报告一个简单的断言失败。失败消息中提到的每个节点都会连同其呈现形式、概念名称和节点 ID 一起显示,从而更容易在结果夹具中定位有问题的节点,而无需在调试器中复现失败。
[LOADING...]
在新功能页面查看所有新功能。
已修复问题的完整列表可在此处找到。
试用这些新功能,并告诉我们你的想法。
JetBrains MPS 团队