groovy 2.5.4_Groovy-Eclipse 2.5.0的新功能是什么?

groovy 2.5.4

Groovy-Eclipse团队刚刚发布了版本2.5.0 。 在这次采访中,JAXenter向Groovy-Eclipse项目负责人Andrew Eisenberg讲解了最新更新,Groovy-Eclipse团队面临的挑战以及即将于6月底发布的即将发布的2.5.1最终版本。

JAXenter: Groovy-Eclipse 2.5.0中引入的DSL描述符支持如何帮助Groovy DSL用户?

Andrew Eisenberg: Groovy DSL几乎在所有Groovy库以及整个核心GDK中都使用。 到目前为止,在Groovy-Eclipse内部仅显式支持这些DSL中的极少数。 为了获得这些DSL的内容帮助,导航支持,搜索和其他编辑支持,必须使用Eclipse插件API手工开发Groovy-Eclipse扩展。 因此,到目前为止,只有很少的支持。

从2.5.0开始,Groovy-Eclipse支持DSL描述符(DSLD),允许所有用户通过Groovy脚本创建自己的自定义DSL编辑支持。 格里芬已经有DSLD,Gaelyk即将推出。 这些框架的DSLD由社区创建,这显示了此功能的优势之一。 由于任何人都可以创建DSLD,因此我们不仅可以期望图书馆设计者做出贡献,还可以期望最终用户做出贡献。 最终结果是使编辑器更加智能,并为最终用户带来更好的体验。

JAXenter:对于2.5.0版本,大纲视图如何进行了改进?

Andrew:在此Groovy-Eclipse版本中,脚本的大纲视图已变为“ Groovier”。 在2.5.0之前的版本中,脚本文件的大纲视图仅显示了一个虚拟类,几个方法和一些构造函数,而实际上它们都不存在于源代码中。 该轮廓是直接从脚本的Eclipse Java模型生成的,这对于某些用户可能会造成混淆。

但是,在2.5.0版本中,大纲视图现在在脚本中显示了一些内部Groovy结构。 Eclipse Java模型已被丢弃,而是显示了脚本变量和方法声明。 这为浏览脚本提供了一种更好的方法。

此功能是社区提交的补丁程序。 JSpresso团队希望确保他们可以对大纲视图进行编程控制,以便可以以特定于域的方式显示其DSL。 因此,他们提交了此补丁。 我们很高兴我们在Groovy-Eclipse中有强大的社区参与。 这有助于保持项目
向前进。

JAXenter:做Groovy-Eclipse最具挑战性的任务是什么?

Andrew:到目前为止,最大的挑战是使Eclipse Java开发工具(JDT)了解非Java源代码(在本例中为Groovy)。 JDT是一个经过精心设计的编译器和工具集,专门针对Java开发而设计。 编译器和工具(重构,搜索,内容辅助等)都没有被设计为多语言(即,使用多种语言进行工作)。

大约两年前,我们通过Groovy-Eclipse 2.0.0的初始版本解决了基本的集成问题。 在该发行版中,我们提供了修补的JDT编译器和修补的Groovy编译器,它们能够使用增量编译一起编译Java代码和Groovy代码。 修补后的编译器的一个优点是,它不会为Groovy代码生成Java存根,而这是在命令行上编译Groovy / Java联合项目的方式。

尽管在编译器级别上解决了该问题,但我们仍在应对工具缺乏灵活性的问题。 例如,使用JDT进行的重命名重构期望所有要重命名的标识符都相同。 但是,可以使用不带get / set前缀的属性名称来访问Groovy中的getter和setter方法,这在重构时违反了JDT约定。 即使JDT确实在重构框架中提供了一些可扩展性,但它在我们所需的方式中并不是完全可扩展的。 因此,我们将需要针对这个问题推出自己的解决方案。

与JDT团队合作,我们一直在探索如何开放Java开发工具以使其更适合于其他语言,但这仍然是早期工作。 我们现在面临的主要问题是如何为JDT贡献一些Groovy-Eclipse补丁,同时仍然保持向后兼容并且不破坏API。 确实是一个重大挑战。

JAXenter: Groovy-Eclipse 2.5.1最终版计划于6月底发布。 用户从此版本可以期待什么?

安德鲁:我们有一些令人兴奋的功能。

首先,我们计划为Maven正式发布groovy-eclipse-compiler插件。 这个maven插件已经有一段时间了,但是它只有一个粗糙的快照版本,没有针对Groovy 1.8的东西。 但是,最近,社区更加关注GMaven在Groovy / Java联合项目上生成存根的问题,这可能是不可思议的,并给某些用户带来极大的头痛。 由于Groovy-Eclipse不需要存根,因此可以避免这些问题。

我们还计划发布完整的UI支持,以向Groovy类型添加动态方法和属性,从而使在编辑器中自定义类型推断更加容易。 当编辑者无法确定引用的类型信息,而用户可以确定时,此功能将有助于避免使人烦恼的下划线。

DSLD支持也将得到改善。 我们目前正在与IntelliJ进行讨论,以研究DSLD支持与其GDSL支持之间的通用性(与我们类似的功能,该功能已在不久前发布)。

此外,我们正在计划对内容辅助,类型推断和类路径管理进行一些较小的改进。 请继续关注所有细节。


翻译自: https://jaxenter.com/whats-new-in-groovy-eclipse-2-5-0-103256.html

groovy 2.5.4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值