如何让 IntelliJ 将 Gradle 源与 build.gradle 相关联?

Dor*_*old 6 intellij-idea gradle

在为我的 Java 项目编写 Gradle 脚本时,特别是在编写build.gradle文件时,IntelliJ 无法识别 Gradle API。

例如,Gradle 方法调用,如applydependencies configure在它们下面出现一条黑线,并且无法导航到方法声明,没有自动完成等。

我设法通过添加compile gradleApi()到构建dependencies块来解决这个问题。但是,我不想在我的代码中有这种显式依赖。

我尝试编辑 IntelliJ 的项目结构并向我的模块添加对 Gradle 库的依赖(尝试gradle-coregradle-all),但这似乎没有效果。

有没有办法让 IntelliJ 将所有build.gradle文件与 Gadle 源相关联?

dkb*_*dkb 8

我解决了这个问题如下:

  1. 正如已经发布的答案中所述,配置 gradle
  • update gradle/wrapper/gradle-wrapper.propertiesfile
    change binto allin distributionUrl ie
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
    to
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip OR
    [optional] 如果您使用旧版本的gradle wrapper 并想升级,则执行

    ./gradlew wrapper --gradle-version 6.8.3 --distribution-type all
    
    Run Code Online (Sandbox Code Playgroud)
  • 更新gradle 任务(如果存在于构建文件中)

    wrapper {
        gradleVersion = '6.8.3'
        distributionType = Wrapper.DistributionType.ALL
    }
    
    Run Code Online (Sandbox Code Playgroud)
  1. 在导入之前该项目的IntelliJ-理念IDE,更新build.gradle,添加javaidea插件的插件列表
plugins {
    id "java-library"
    id "idea"
}
Run Code Online (Sandbox Code Playgroud)
  1. 从终端,执行./gradlew clean build idea或简单地./gradlew idea
  2. 将项目导入 IntelliJ idea。
    Preferences--> build,Execution,Deployment--> BuildTools-->Gradle
    就可以看到可供选择的选项
  3. 重启 IntelliJ idea IDE。

所以上面我们已经配置了两个选项,所以选择其中一个,除了指定的位置选项。就是这样。

前

后

答案中提到的自动完成功能。

自动完成


小智 0

当我在IDEA中选择build.gradle并打开它时,IDE会提示

You can configure Gradle wrapper to use distribution with sources. It will provide IDE with Gradle API/DSL documentation.
Run Code Online (Sandbox Code Playgroud)

我选择Ok, apply suggestion!

项目刷新后我可以使用代码完成 在此输入图像描述