MPS 2020.1 最新变化

MPS 2020.1 增强了编辑器、Light 模式语言、存根模型的 Javadocs,BaseLanguage 的改进以及添加了许多新功能!

根据列表位置使用不同的分隔符

根据列表位置使用不同的分隔符

在编辑基数为 (0,n) 或 (1,n) 的节点时,您可以通过实现分隔符查询函数在值之间提供自定义分隔符。 此功能通过将更多参数传递给查询函数(即 prevNode 和 nextNode)扩展了该功能,从而能够为每对值提供自定义分隔符。 在下面的截屏中,“and”和“,”是分隔符。

了解详情

Light patterns

Light patterns

模式语言有助于定义结构模式并将节点与它们匹配。 它使用常规的概念编辑器,这使该模式看起来与其接受的节点类似。 但是,对于某些与概念结构不完全对应的复杂编辑器,使用按字面描述所需结构的 light patterns(模式构建器)会更舒适。

了解详情

工具提示

工具提示

mbeddr 平台工具提示的编辑器扩展已添加到 MPS 中。 此外,还将为 mbeddr 语言提供迁移。

了解详情

转换/替换菜单:合并命名和默认菜单

转换/替换菜单:合并命名和默认菜单

这是一项功能增强,通过移除命名 (SubstituteMenu_Named) 和默认 (SubstituteMenu_Default) 编辑器菜单的自定义概念,简化了 Transformation 和 Substitution 菜单。 这两个概念已合并到其父级 (SubstituteMenu) 中。 现在,可以在菜单编辑器中选择菜单类型。 相同的重构已应用于 Transformation 菜单。

损坏编辑器的错误检测

如果语言的编辑器方面的代码引发异常,将为使用该语言编写的模型中的相应单元格显示默认编辑器。 从 2020.1 开始,如果在编辑器中打开这种损坏的单元格,Messages 工具窗口中将显示错误。 可以从错误中获取堆栈跟踪并导航至问题单元格。

了解详情

改写现有文本

改写现有文本是一项新功能,可使投影编辑器更像文本编辑器。 在文本单元格中输入内容时,如果您刚刚输入的字符已经存在于光标位置,则光标将挪开,就好像您刚刚覆盖了现有字符一样。 只有无法妥善处理按键操作时才会触发此功能,否则此功能将被忽略(例如在常量单元格中)或使单元格内容无效。

此功能默认开启,您可以在 Settings / Editor / General 中将其关闭。

了解详情

消除不必要的语言扩展

现在,生成器可以检测其他语言的编辑器扩展,并生成显式表示依赖关系的代码。 这意味着,语言设计人员无需担心不同语言之间的这种特殊依赖关系。 激活编辑器扩展时,不再需要语言模块之间的 'extends' 依赖关系。

了解详情

Java 存根模型中的 Javadoc 注释

有一种新的机制可以指定一个包含库的源以及库 jar 的 zip。 现在,MPS 能够从源中提取 javadoc 并将其与从类文件中提取的信息一起呈现。

了解详情

BaseLanguage 中的多行注释

SingleLineComment 的功能已得到小幅增强,并且新的 MultiLineComment 概念已引入 BaseLanguage 中,以便使用与 Java 相同的方式为以 /* … */ 符号分隔的注释提供支持。

灵感来自 Java 语言的 BaseLanguage 功能增强

BaseLanguage 现在包括 try-with-resources,可以捕获多个异常、局部变量类型推理以及默认和私有接口方法。 为了与需要特定 Java 语言级别的构建过程兼容,可以将每个解决方案配置为禁止与该级别不兼容的语言功能。 局部变量类型推理功能需要 j.m.baseLanguage.varVariable,除此功能外,这些功能都不需要任何其他语言导入。

查看迁移指南

其他改进

非模态提交接口

为了简化提交流程,我们开发了一个新的提交工具窗口,用于处理所有与提交相关的任务。 这为修改的文件和差异的列表提供了更多空间,支持将就绪的更改添加到提交,以迭代方式编写提交消息,以及选择暂存更改对应的提交。

默认情况下未启用,如果您想尝试一下,请在 Preferences/Settings | Version Control | Commit 中选择 “Use non-modal commit interface” 。

Zen 模式

通过结合"全屏模式"和"免打扰模式",此新模式可帮助您专注于代码。 要试用 Zen 模式,请转到 View | Appearance | Enter Zen Mode

从 IDE 安装 Git

您无需再手动预装 Git。 在您克隆现有的 Git 存储库时,IDE 将在计算机中查找 Git 可执行文件。如果无法找到,IDE 将自动下载并设置该文件。

配置文件路径

请注意,在 MPS 2020.1 中,配置文件的路径已更改。

了解详情

JetBrains Mono 作为默认字体

MPS 现在默认使用全新的 JetBrains Mono 字体 (Preferences / Settings | Editor | Font)。 在我们的网站上查看这款对开发者友好的新字样的所有详细信息。

Marketplace 登陆 MPS

JetBrains 插件 Marketplace 现已在 MPS 中提供。 这将带来一系列新机会,您可以将自己的插件商业化。