MPS 2020.1 最新变化

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

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

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

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

了解详情

Light patterns

Light patterns

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

了解详情

工具提示

工具提示

The editor extension of the Tooltips from mbeddr platform has been added to 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 Plugin Marketplace is now available in MPS. 这将带来一系列新机会,您可以将自己的插件商业化。