锁定老帖子 主题:IDEA9 的超酷新DSL支持
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-13
最后修改:2009-11-25
原帖:http://groovy.dzone.com/articles/custom-groovy-dsl-support
作者想秀一下IDEA9的新功能,并取得一些反馈。 上图就是在IDEA9中写groovy代码时写下数字加点的代码提示,竟然是币种提示。这是怎么出来的呢?
只要在项目classpath下加入后缀为gdsl的groovy文件,就可以实现这种效果。比如把以下代码存入一个.gdsl:
def ctx1 = context(ctype: "java.lang.Number") contributor(ctx1) { property name: "eur", type: "test.Money" property name: "usd", type: "test.Money" property name: "chf", type: "test.Money" property name: "rur", type: "test.Money" }
就实现了上面数字后的币种代码提示。
方法提示
除了上面例子里的property提示,还可以加入方法提示。
比如我们给ReentrantLock注入一个withLock的方法,该方法接受一个闭包,在运行闭包内代码前加锁,运行完后解锁。
ReentrantLock.metaClass.withLock = {nestedCode -> delegate.lock() try { nestedCode() } finally { delegate.unlock() } } 在.gdsl文佳内加入以下代码
def ctx2 = context(ctype: "java.util.concurrent.locks.ReentrantLock") contributor(ctx2) { method name: 'withLock', type: 'void', params: [closure: { } ] } 在IDEA9中就会出现代码提示和自动补全:
这个新功能还在试验中,想了解更多的话请去 JetBrains wiki 以及 mrhaki's blog. 如果大家有什么想法的,联系作者 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-11-17
看来用IDEA玩groovy的人太少了。。。咋都看贴不回贴捏
|
|
返回顶楼 | |
发表时间:2009-11-17
我还是第一次听到这个东西
|
|
返回顶楼 | |
发表时间:2009-11-17
说实话,现在Eclipse系列已经占据我的思想。记得之前用纯记事本,后来JCreator,然后一直用Eclipse了。NetBeans也不习惯使用。
|
|
返回顶楼 | |
发表时间:2009-11-17
leejon 写道 说实话,现在Eclipse系列已经占据我的思想。记得之前用纯记事本,后来JCreator,然后一直用Eclipse了。NetBeans也不习惯使用。
多数人都是习惯用第一次接触的IDE,刚工作就是用的IDEA,后来用eclipse用是能用,就是不喜欢。 |
|
返回顶楼 | |
发表时间:2009-11-18
helian 写道 leejon 写道 说实话,现在Eclipse系列已经占据我的思想。记得之前用纯记事本,后来JCreator,然后一直用Eclipse了。NetBeans也不习惯使用。
多数人都是习惯用第一次接触的IDE,刚工作就是用的IDEA,后来用eclipse用是能用,就是不喜欢。 多用用,各有各的好处。 |
|
返回顶楼 | |
发表时间:2009-11-18
IDEA切换中英文输入法,经常莫名其妙的关闭,害的重新启动,打开时又要重新编译,尤其这个重新编译,耗时太长了,不知LZ遇到此问题没?
|
|
返回顶楼 | |
发表时间:2009-11-18
swen00 写道 IDEA切换中英文输入法,经常莫名其妙的关闭,害的重新启动,打开时又要重新编译,尤其这个重新编译,耗时太长了,不知LZ遇到此问题没?
以前用搜狗拼音在eclipse下会莫名的关闭,换了个输入法就好了。应该是ide和输入法的冲突造成的。 |
|
返回顶楼 | |
发表时间:2009-11-18
swen00 写道 IDEA切换中英文输入法,经常莫名其妙的关闭,害的重新启动,打开时又要重新编译,尤其这个重新编译,耗时太长了,不知LZ遇到此问题没?
关闭没遇见过。有时google输入法会跟ctrl+space快捷键冲突,导致我最喜欢的代码提示出不来,改改快捷键就好了。 IDEA启动已经比以前快多了。当然如果非正常关闭导致引用很多jar包的项目重新建索引的话是很慢。 |
|
返回顶楼 | |
发表时间:2009-11-18
leejon 写道 说实话,现在Eclipse系列已经占据我的思想。记得之前用纯记事本,后来JCreator,然后一直用Eclipse了。NetBeans也不习惯使用。
同样的经历啊,记得刚开始编写代码就是用的记事本,然后敲命令编译和运行。这种情况持续了近半年,不得不佩服自己的毅力。半年下来之后好多类和类的方法记得清清楚楚,也算锻炼了 IDEA 一直永不习惯,不知道为什么,感觉就是对不上头。 |
|
返回顶楼 | |