Gradle IDE 支持

Gradle IDE support

我正在尝试深入研究 gradle 的任务和 gradle 作为构建系统。

例如我有以下任务

task copyDocs(type: Copy) {
    from 'gradle/1.txt'
    into '.'
    doLast {
        println 'THIS IS QUITE LEVEL' }
}
tasks.named("build") { finalizedBy("copyDocs") }

但是当我尝试使用我的 Spring eclipse 工具套件时,没有自动完成也没有建议使用 Ctrl+space

我已经尝试使用 eclipse marketplace 安装,gradle IDE pack 和 groovy 开发工具,仍然无法自动完成或提示。

例如,doLastfinalizedBy,我不知道它们的存在,有一次我看到过,用谷歌搜索了一下,现在我使用了它们。

有没有办法自动完成或显示建议?

如果没有,除了我目前唯一的来源是官方文档之外,我知道在哪里可以阅读有关任务和可用操作的信息。

这给出了有关如何扩展编辑器以支持 Spring 工具套件(又名 Eclipse IDE)中的 gradle 脚本的类型推断和代码完成的想法。在这里进一步讨论:https://github.com/groovy/groovy-eclipse/issues/1125

先决条件:

  1. 导入GradleAPI个jar
  2. 安装Groovy开发工具
  3. 添加~/.groovy/greclipse/global_dsld_support

在 dsld 支持目录中创建 Gradle.dsld 文件,内容如下:

def isBuildScript = fileExtension('gradle') & (~fileName('settings.gradle'))

contribute(isBuildScript & isThisType()) {
  delegatesTo 'org.gradle.api.Project'
}

contribute(isBuildScript & isThisType() & enclosingCallName('task') & inClosure()) {
  delegatesTo 'org.gradle.api.Task'
}

右键单击您的 build.gradle 文件并选择 打开方式 > Groovy 编辑器。使用这样的描述符,您将获得:

如您所见,它绝不是完整的。但是您可以添加到 DSLD,随着时间的推移,您可以从编辑那里获得相当多的帮助。如果您通过问题单(从上面)分享,社区也可以受益。