原帖: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. 如果大家有什么想法的,联系作者
分享到:
相关推荐
在标题提到的"idea(IntelliJ IDEA)支持yml文件"中,我们主要探讨的是IntelliJ IDEA如何处理和编辑YAML(YAML Ain't Markup Language)格式的文件。 YAML是一种数据序列化语言,常用于配置文件,如在服务器配置、...
IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),由JetBrains公司开发。随着新版本的不断更新,用户可能需要将旧版本的...此外,如果你在旧版本中使用了一些不再支持的插件,可能需要在新版本中寻找替代方案。
【标题】"IntelliJ IDEA 设置详解 - idea9" 【正文】 IntelliJ IDEA,作为一款广受欢迎的Java集成开发环境(IDE),以其强大的代码智能提示、高效的项目管理和丰富的插件支持深受开发者喜爱。在idea9这个版本中,...
- **安装IntelliJ IDEA**:首先,你需要下载并安装IntelliJ IDEA,这是一个功能强大的Java IDE,支持多种语言和框架,对于E9开发提供了丰富的插件和工具支持。 - **配置JDK**:在IDEA中,确保已经正确配置了JDK...
虽然描述中提到的是compileflow-idea-designer-1.0.17版本,但根据插件的惯例,通常会不断更新以支持新版本的IDEA。如果需要其他版本的插件支持,可以在相关社区或资源平台留言寻求帮助。 6. 插件的优势 - 提高效率...
这里我们遇到了一个关于Idea9的常见问题,即“开机jvm无法启动”的错误。这个问题可能阻碍了用户正常使用IDE,但不用担心,我们可以通过一些步骤来解决它。 首先,我们需要理解什么是JVM(Java Virtual Machine)。...
Ecology9是泛微E9开发环境搭建的核心组件,本文将指导您如何使用IDEA搭建E9开发环境。 知识点1:SVN下载最新的Ecology9代码 在开始之前,需要从SVN上下载最新的Ecology9代码,这一步骤非常重要,因为它将影响后续...
- **插件市场**:IntelliJ IDEA支持广泛的插件扩展,用户可以根据需要安装额外的功能组件。 - **特定插件案例**:例如JRebel插件,用于实现Java应用程序的热部署,无需重启即可查看更改效果。 #### 十一、高级特性 ...
9. **插件更新**:IntelliJ IDEA拥有丰富的插件生态系统,新版本可能会对一些流行插件进行升级,或者推出新的插件以扩展IDE的功能。 10. **教学与学习资源**:对于初学者,IDEA通常会提供教程和引导,帮助他们快速...
**IDEA TFS支持组件-idea-tfs-203** 在软件开发过程中,源代码管理工具扮演着至关重要的角色,而Team Foundation Server (TFS) 和 IntelliJ IDEA 是两个广泛使用的工具。TFS 是微软提供的一个强大的版本控制系统,...
3. **动态SQL支持**:MybatisX插件还支持动态SQL标签的智能提示和高亮显示,如`if`, `choose`, `when`, `otherwise`, `trim`, `where`, `foreach`等,让开发者在处理复杂的条件判断和循环逻辑时更加得心应手。...
1. **自动支持React语法**:Idea React模板插件的核心特性是能够识别并自动高亮显示React的JSX语法。JSX是JavaScript的一个扩展,允许在JavaScript中书写类似HTML的结构,以声明式的语法创建React组件。插件对JSX的...
标题中的“IDEA新版本2020.3的TFS插件”指的是IDEA 2020.3版本中针对TFS的专门插件,该插件旨在帮助用户无缝地在IDEA环境中与TFS进行交互,实现代码的版本控制、变更跟踪、分支管理等功能。描述中的"IDEA TFS支持...
2. **JDK14支持**:IDEA 2020支持JDK14,并且能够识别和处理新引入的语法,比如record,这可以帮助开发者更好地利用新语言特性。 3. **数据流分析辅助调试**:在调试器中引入了数据流分析,使开发者能更清晰地理解...
该插件特别强调支持IDEA的2021.3版本,这意味着它已经针对该版本的IDEA进行了优化和适配,确保了与最新版本的兼容性和稳定性。对于使用IDEA 2021.3的用户来说,安装并启用Rainbow Fart插件可以享受到更多定制化的...
内容涵盖IDEA的下载安装、创建新项目、编写和运行代码、使用版本控制、使用Maven或Gradle、配置数据库、调试代码、使用插件、使用Terminal、使用Live Templates、代码自动完成、代码重构、代码片段、性能监控、云端...
在IT行业中,IntelliJ IDEA是一款非常流行的Java集成开发环境(IDE),被广泛用于编写Java应用程序和其他支持的语言,如Kotlin、Groovy等。当我们谈论"idea导入项目"时,通常指的是将现有的代码仓库或者代码结构引入...
6. **项目模板**:自定义的新建项目模板,便于快速启动新项目。 "DarkPurpleTheme.jar"是一个颜色主题文件,用于改变IDEA的界面颜色。暗紫色主题可能提供了一种舒适、低对比度的视觉体验,减轻长时间编码的视觉疲劳...
"IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题解决方案" 本文主要介绍了IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题的解决方案。这篇文章详细介绍了 IDEA最新版2020.1的maven工程本地依赖仓库...
idea原生代码片段管理插件Live Templates无法可视化管理,...snippets插件支持右键快速添加、目录树的管理、代码插入,目录树支持右键维护,同时代码片段支持鼠标拖拽。就让snippets IDEA插件开启你的收藏代码之旅吧!