曾有人要求可以自定义一些 MPS 错误消息。 应我们的某个付费客户要求,我们为这项功能设置了最高优先级状态。 现在,错误报告的所有约束都可以修改。 我们计划在下一版中实现其他类型错误的自定义。
名为“反馈”的新特征可自定义错误文本。
可以在属性值中进行全文搜索。 项目操作中的 Edit–>Find–>Find Text (Ctrl+Alt+Shift+F) 可以查找属性值与指定文本匹配的节点。
测试语言的一个常见用例是检查节点有无错误消息或警告。 MPS 的测试子系统有时无法区分出现在同一节点上的不同错误。 这可能引发误导行为:即使用户在相关测试注释中指定了预期错误,关于此节点的任何其他错误和警告也不会报告为测试违规。
从此版本开始,新的 facade API 是运行类型检查查询的唯一受支持方法。
新 API:请参阅 jetbrains.mps.typechecking.TypecheckingFacade 和相关类。
弃用的 API(旧):jetbrains.mps.typesystem.* 包的层次结构现已弃用。 除了从“typesystem”特征的内容自动生成的代码外,不鼓励在此层次结构中直接使用类。
以下是与 typesystem 支持变化相关的暂定计划。 负责实现 typesystem 的特征和此特征中使用的语言将成为遗产。 随着时间的推移,语言和运行时支持将迁移到单独的插件。
即将引入的一个新特征将基本取代 typesystem 特征的“非 typesystem”部分。 将提供迁移,从遗留 typesystem 特征中提取检查规则。
将引入新的类型检查框架和运行时支持,意味着完全重写旧引擎。
让进程在后台正确运行。 我们一直在努力提高后台运行过程中的 UI 响应能力。 要恢复以前的版本,可以使用一个新 UI 设置来控制所有操作, Preferences–>Project Settings–>Perform in background。
MPS 现在可以在 JDK 11 下运行。 这将影响加载存根模型的机制。 除了在 JDK 11 中重新封装的一些类和字段的罕见用法外,项目的大部分内容都不需要迁移。
在 IntelliJ IDEA 插件中,带 MPS facet 的模块现在应与 JDK 11 相关联。 否则,代码生成将失败。
BaseLanguage 改进是此版本的主要目标之一。 我们修复了许多与 BaseLanguages 相关的问题,从错误到易用性问题。
根据社区反馈,我们为 XML 生成添加了一个新的示例项目。
我们为单行注释、Javadoc 文本和字符串文字提供拼写检查。
我们已将合并驱动程序设置从全局更改为本地(按 git 仓库),现在,合并驱动程序的数量可以和 MPS 安装的数量一样多。