最近发布的 STS 2.3.3 M2 引入了我们对 Eclipse 的 Grails 支持的一系列增强功能。在本文中,我将讨论如果您尝试它(在此获取:SpringSource Tool Suite),您可以期待找到什么。
Groovy-Eclipse
Grails 工具实际上基于并扩展了 Groovy-Eclipse 支持,该支持由 SpringSource 的同一团队开发。今年早些时候,Groovy-Eclipse 工具在
Eclipse-Con 2010 上赢得了“最佳开源开发者生产力工具”奖。您可以在此阅读有关最近 Groovy-Eclipse 2.0.2 版本中最新增强功能的更多信息:
新特性与注意事项。我在这里不打算重点介绍 Groovy-Eclipse,但该版本的一些亮点包括
- 重构支持:现在支持提取方法、提取常量、提取局部变量
- 代码格式化和缩进方面的改进
现在,开始介绍 Grails!
获取新透视图
现在有一个新的 Grails 透视图,可以更好地组织我们添加到 STS 中的视图和小部件。您可以通过正常方式打开透视图(
窗口>打开透视图>Grails)。在新透视图中,首先要注意的是打开的是 Eclipse 项目资源管理器,而不是包资源管理器。项目资源管理器使用自定义内容提供程序,该提供程序显示了一个 Grails 项目视图,对于 Grails 开发者来说应该更熟悉
新的标签和图标已到位,用于表示类似实体的组:领域对象、控制器、视图等。然而,最大的变化是新的 plugins 文件夹。以前,在处理 Grails 项目时,插件依赖项在 UI 中很难看到,它们隐藏在类路径容器和一些 Eclipse 链接的源文件夹条目中。现在在项目资源管理器中,应用程序的依赖项更加清晰明了。
此外,与插件相关的是,我们有了一个新的 Grails 插件项目向导。这与 Grails 项目向导非常相似,但它不运行create-app,而是会运行create-plugin命令。有了这个新向导以及我们对本地(inplace)插件的新支持,遵循插件导向架构开发应用程序变得容易得多。
这里是一个使用本地/inplace 插件配置的示例
在该截图您可以看到两个 Eclipse 项目。主要的 Grails 应用程序 'MyFirstGrailsApp' 和一个插件项目 'MyFirstGrailsPlugin'。通过编辑主应用程序中的 BuildConfig.groovy 文件,已经表达了对插件项目的依赖。
grails.plugin.location.MyFirstGrailsPlugin="../MyFirstGrailsPlugin"
指定该依赖项并在应用程序上运行 'Refresh Dependencies' 后,'plugins' 文件夹已更新(参见上面的截图),其中包含我的新依赖项的新条目以及一种不同类型的图标,表明它是不同类型的插件依赖项。
命令行
为了让用户更高效,命令行提示已得到增强。它现在允许选择项目,并且可以固定到位(这样就不会意外关闭),但最重要的是它现在有了历史记录功能。历史记录使您能够快速重新运行相同的命令或运行类似的命令。要访问提示,您可以使用相同的“爪形”组合键(
Alt+Shift+Ctrl+G在我的 Windows 机器上),或者如果您的手不适合那样按,您可以使用 Grails 透视图工具栏上的新 Grails 图标来启动它。Grails 图标旁边的下拉菜单提供了另一种访问命令历史记录的途径,显示了命令及其运行的项目
选择下拉历史记录中的任何条目都将打开预填充该命令的提示符,可以在执行前进行编辑或直接重新运行。如果提示符已打开,则访问历史记录的另一种途径是只需按下向上箭头键
为了加快在应用程序中的导航速度,STS 现在包含了许多针对 Grails 项目的新键盘快捷键。当在控制器、服务、标签库或领域类中时,您可以使用 Alt+G,然后按 D、C、S、T 中的一个键,即可跳转到编辑器中相关的领域类/控制器/服务/标签库。也可以通过点击工具栏上的新图标进行跳转:

管理插件
为了更容易组织项目使用的插件,我们有一个新的 Grails 插件管理器。您无需记住想要插件的名称,而是可以打开管理器(通过上下文菜单
右键点击>Grails 工具>Grails 插件管理器...,或通过组合键
Alt+G,M),并浏览可用插件
插件管理器使您能够
它还提供详细说明以及任何可用的文档链接。
可用插件列表已缓存,但您可以按下刷新以确保您使用的是最新列表。默认情况下,管理器会显示所有可用插件,但向下滚动时,您会看到已安装的插件(已安装的插件旁边有绿色对勾)。重要的是,如果任何已安装插件有更新发布,UI 会向您指示,您可以根据需要进行更新(蓝色向上箭头图标表示有可用更新)。由于安装/卸载插件不是即时的操作(Grails 需要几分钟才能实际完成),当您与 UI 交互并标记要安装/更新等的插件时,您基本上是在调度一系列 Grails 命令运行。您请求的更改实际上要等到您按下“确定”按钮关闭管理器后才会执行。如果在任何时候您认为操作有误,您可以取消管理器(或重置管理器),您的项目将恢复到原始状态。
GSPs
除了许多小修复之外,通过增加标签库的代码辅助功能,GSP 编辑得到了改进
在这里您可以看到我有一个新的标签库,叫做
TextInserter定义了一个标签
alphabet,在 GSP 编辑器中我可以对该标签进行代码完成。(遵循当前 JSP 编辑的模型,代码辅助
Ctrl+Space必须在键入之前执行)。
动态查找器
这并没有真正适合上面的部分,但这是一个很好的改进。Groovy 编辑器现在将识别动态查找器的用法并在代码辅助中提供它们
在这里您可以看到,对于我的
Song对象(它只有标题和时长),任何使用无效查找器的尝试都会在编辑器中以下划线标记,并且代码辅助会提供有效的选择。
就是这样!STS M2 的变化相当多 - 现在去获取一份并试试看:SpringSource Tool Suite
欢迎任何反馈。调试方面的改进是我们近期将关注的重点,但如果您希望提出新的需求或对现有问题发表评论,请参阅 STS 问题跟踪器。