MPS 2020.3 最新变化

MPS 2020.3 提供了新的生成器宏、动态用法高亮显示、具有全新外观的欢迎屏幕和许多其他新功能待您试用

新的生成器宏

新的生成器宏

有一个名为 $CALL-SITE$ 的新宏,它有助于将具有 SWITCH/CALL 宏特性的节点插入到所调用模板中的指定位置。 更改之前,通常会忽略附带 SWITCH/CALL 宏的模板节点。 现在,如果调用的模板/switch 尝试使用“调用点节点”,则会将该节点作为常规模板进行处理,并将结果作为可插入到所需位置的隐式参数提供给调用的模板/switch。

编辑器中的动态用法高亮显示

编辑器中会高亮显示动态用法

期待已久的动态高亮显示功能终于来了。 此功能与现有的 Highlight Usages 操作 (Ctrl/Cmd+Shift+F7) 非常相似。 不同之处在于,动态高亮显示会在您输入或浏览代码时自动执行。 光标下节点的引用几乎会立即在编辑的文档中高亮显示。 当您离开当前选择的节点时,仍然可以使用原来的 Highlight Usages 操作“固定”该节点的用法。 完成后,动态高亮显示将继续高亮显示光标下的节点。

可以在 MPS 编辑器设置中使用 Highlight selected node 复选框打开或关闭此功能。

改进的 BaseLanguage 中的 switch 语句

改进了 BaseLanguage 中的 switch 语句

除了对编辑器进行了一些改进外,switch 概念现在还支持将多个 case 用于同一条语句。

项目窗格上的错误栏

项目窗格上的错误栏

我们将引入一种新方法,可在 Project 窗格中显示错误、警告和消息。 错误栏有助于组织 Project 窗格上的消息。 您可以通过 Logical View 设置按钮将其禁用。

更改了模块 facet 的处理方式

MPS 不再强制您将任何特定的模块 facet 与给定的模块一起使用。 与模块关联的 facet 记录在模块描述符文件中,此文件现在是信息的最终来源。 在历史版本中,我们已经使 Tests facet 完全可选,现在不再强制执行最后一个Java。 但是请注意,取消选中语言模块属性中的 Java 模块 facet 会将语言从类加载机制中排除,从而呈现出完全不同的体验。 我们实施了这一更改,以便为 Java 以外的目标语言提供渐进式支持。

VCS 中改进的根注释

改进了 VCS 中的根注释

旧的根注释算法使用从模型文本文件获得的注释结果。 它仅适用于文本持久化模型,并且在大多数情况下并不总是正确的。 使用新方法,通过比较不同修订版的模型来构建注释。

了解详情

在 Diff 对话框窗口中跟踪移动的节点

在 Diff 对话框窗口中跟踪移动的节点

用于计算两个模型之间更改的原有算法无法检测到某些类型的更改。 节点移动被检测为两个独立的更改:插入和删除。 现在可以将节点移动显示为一次移动。 此外,还可以检测移动片段内的内部更改。

了解详情

新的欢迎屏幕

新的欢迎屏幕

我们更新了欢迎屏幕的外观。 现在,它不仅包括项目选择,还包括各种对话框,可帮助您根据需要自定义 IDE。 首先,Projects 页面上有更多空间,可以容纳额外的项目。 从搜索字段中搜索所需的项目也更加容易。 Customization 页面将引导您完成主要界面设置,例如颜色主题、IDE 字体、导入操作和共享偏好设置。

其他改进

VCS 菜单重新排列

VCS 菜单重新排列

将根据您当前使用的版本控制系统重命名 VCS 菜单。 我们保留了对项目进行版本控制最有用的操作,使菜单变得更加简洁、清晰。 现在,您可以轻松访问不再隐藏在子菜单中的关键 Git 功能。 例如,如果您的项目仅使用 Git,则 VCS 菜单现在如下所示:

Commit and Push 按钮

Commit 屏幕上现在明确显示了两个最热门的按钮 - CommitCommit and Push…。 您可以在提交后立即将更改推送到远程仓库,而不必再滚动下拉列表来寻找 Commit and Push 按钮。

改进了分支

此版本为各个分支提供了多个增强功能。 IDE 现在可以自动更正新分支名称中未被接受的符号,您现在可以看到与当前分支相关的所有操作。

通过拖放标签页拆分编辑器

在开发大型项目时,打开多个标签页自然会带来方便。 使用 MPS 2020.3,可以通过将标签页拖放到所需位置来水平或垂直拆分主编辑器屏幕。 拖动标签页时,编辑器将高亮显示可以将其放置的位置。 IDE 在标签页栏的开头显示固定的标签页。