Gradle 尝试在 IntelliJ 插件项目中使用 PsiMethod 构建 class 失败
Gradle fails trying to build class using PsiMethod in IntelliJ Plugin project
我有一个 Intellij 插件项目,我可以在不使用 PsiMethod 的情况下成功构建它 class。我使用 intellij plugin guide
生成了这个项目
只要我使用 PsiMethod 添加代码 class
(来自Intellij SDK code_samples directory)
智能感知找不到 class 的任何 GOTO 信息。
然后我可以将我的项目设置模块从 JAVA_1.8.0 切换到
通过将其添加到平台设置 SDK 中:
这现在添加了智能感知,让我能够通过 CMD+单击导航到 PsiMethod class。
但是,如果我尝试 运行 我的 "plugin" gradle 配置。它因错误停止 运行ning :运行Ide.
运行 来自 bash 的 compileJava 命令我得到:
$ ./gradlew compileJava
> Task :compileJava FAILED
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
^
symbol: class PsiMethod
location: class ParticleContainerManager
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
^
symbol: class PsiMethod
location: class ParticleContainerManager
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
intellij中的gradle源集如下:
当我 CMD+单击 PsiMethod class 时,它显示以下 JAR 源:
此源位于以下父文件夹中:
如何将此源添加到我的 gradle 配置中?它不应该自动检测我的项目智能感知正在利用什么吗?
我是否需要更改项目目录中 gradle.* 文件中的某些内容?
编辑:
使用 Yann 的回答:
我已将以下行添加到我的 build.gradle 文件中:
intellij {
version '2019.2'
plugins 'java'
}
而且有效!
请确保将 Java
插件添加为单独的依赖项。从 2019.2 开始,现在必须这样做:https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin/
我有一个 Intellij 插件项目,我可以在不使用 PsiMethod 的情况下成功构建它 class。我使用 intellij plugin guide
生成了这个项目只要我使用 PsiMethod 添加代码 class (来自Intellij SDK code_samples directory)
智能感知找不到 class 的任何 GOTO 信息。
然后我可以将我的项目设置模块从 JAVA_1.8.0 切换到
通过将其添加到平台设置 SDK 中:
这现在添加了智能感知,让我能够通过 CMD+单击导航到 PsiMethod class。
但是,如果我尝试 运行 我的 "plugin" gradle 配置。它因错误停止 运行ning :运行Ide.
运行 来自 bash 的 compileJava 命令我得到:
$ ./gradlew compileJava
> Task :compileJava FAILED
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
^
symbol: class PsiMethod
location: class ParticleContainerManager
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
^
symbol: class PsiMethod
location: class ParticleContainerManager
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
intellij中的gradle源集如下:
当我 CMD+单击 PsiMethod class 时,它显示以下 JAR 源:
此源位于以下父文件夹中:
如何将此源添加到我的 gradle 配置中?它不应该自动检测我的项目智能感知正在利用什么吗?
我是否需要更改项目目录中 gradle.* 文件中的某些内容?
编辑: 使用 Yann 的回答:
我已将以下行添加到我的 build.gradle 文件中:
intellij {
version '2019.2'
plugins 'java'
}
而且有效!
请确保将 Java
插件添加为单独的依赖项。从 2019.2 开始,现在必须这样做:https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin/