Studio 12 正式版发布

版本 12 包含以下重要改动:

重写界面布局设计器

界面布局设计器使用原生的 IntelliJ UI 组件进行了重写。现在的设计器有更好的性能,更快的打开时间。设计器也进行了很多小的改进。
如果对于新的 UI 设计器有任何想法,可以回帖讨论。

可以在界面设计器生成事件处理器或安装代理

除了之前的工具箱标签和属性标签页之外,本次更新加了新的处理器(Handlers)标签页。
这里会显示已有的处理器方法,并可以为组件事件和组件方法代理快速生成新的处理器。
在相应事件的那一行双击即可自动生成方法的桩代码!(在下图所示的窗口双击 <empty>
image

生成各种应用程序事件监听器的脚手架代码

现在可以很容易在应用程序中添加对以下系统事件的响应:

  • 应用程序生命周期事件:启动、停止等。
  • 身份验证钩子:用户登入、登入之前(before login)、用户会话启动等。

有两种方法可以生成事件监听器:

  • 打开 core 模块已有的 Spring Bean,点击源码编辑器顶端的操作面板点击 “Subscribe to event”。
  • 右键点击 CUBA 项目树的 “Middleware” 部分,选择 New -> Event Listener。

生成界面项目级配置选项

影响界面生成的一些选项被抽取出来作为项目级别的 Studio 配置(也可以提交到版本控制系统)。这些配置是在 New -> Screen… 向导中使用。
如果要更改设置,可以点开主菜单的 CUBA -> Settings -> Screen Generation Settings。
目前支持以下设置:

  • 表单字段宽度(默认 450px)- 在实体编辑器使用
  • 编辑界面的操作保留在界面底部 - 以 “全屏” 方式打开的实体编辑界面使用。
  • 强制以模态窗的形势打开编辑界面 - 以 “对话框” 方式打开实体编辑器界面使用。

构建 WAR 和 UberJAR 的 UI 改进

CUBA 项目树中 Deployment 部分的 WAR Settings 和 UberJAR Settings 添加了一些配置子元素。
如果配置了构建 WAR 或者 UberJAR 的话,可以直接双击相应的 “Build WAR” 或 “Build UberJAR” 即可进行构建。
这些工件相关的配置文件(single-war-web.xml,、logback.xml、jetty-env.xml 等)也在 WAR/UberJAR Settings 的边上显示,方便访问。
image

在 “Install delegate” 对话框提示表格的列代理

界面控制器调用的 Install Delegate 对话框中可以为任何列生成 formatter、自定义列生成器或者 value provider。

这次改动从工具本生的 UI 性能提升到新添加的操作面板、事件关联、部署配置等多方面对工具进行了提升,将进一步提升开发效率!