IntelliJ 插件模板不知道 PsiJavaFile

问题描述 投票:0回答:2

我有一个 IntelliJ 插件,它是从 github 模板创建的,无法解析 com.intellij.psi.PsiJavaFile 类。

还有其他人遇到过这个问题并弄清楚需要配置什么吗?

我是 IntelliJ 插件开发新手。我按照https://plugins.jetbrains.com/docs/intellij/github-template.html中详细的说明创建了一个插件。

我将生成的插件导入到 IntelliJ 中,一切似乎都正常。没有编译警告等...,但是当我尝试使用 com.intellij.psi.PsiJavaFile 类时,IntelliJ 说它无法解析该类。

我想我在某处缺少一个配置,告诉 IntelliJ 要导入哪些库,但我在文档中没有找到它。

intellij-plugin
2个回答
1
投票

您可能缺少对 Java intellij 插件的依赖,该插件默认情况下未启用,因为您不需要每个自定义插件都需要它。

com.intellij.java
添加到
platformPlugins
文件的
gradle.properties
部分:

# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
platformPlugins = com.intellij.java

为了解决 IDE 无法具体解析

PsiJavaClass
的问题,我认为它不存在。您在寻找 PsiJavaFilePsiClass


0
投票

对于像我这样尝试创建一个与 Java PSI 文件一起使用的新插件的人(我使用的是 Intellij Idea v.2023.3.x 社区版),直到我将

PsiJavaFile
添加到构建中后才找到
"com.intellij.java"
intelliJ 块中的 .gradle.kts 以及依赖项列表。

// Configure Gradle IntelliJ Plugin
// Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
    version.set("2023.1.5")
    type.set("IC") // Target IDE Platform

    plugins.set(listOf("com.intellij.java"))
}

由于另一个答案适用于OP,但不适用于我,我在 IntelliJ 文档中搜索了 java 插件,并找到了插件列表中列出的 com.intellij.java 插件 ID,所以我按照我在该文件上找到的说明进行操作页面将其添加到我的插件的 gradle 中: https://plugins.jetbrains.com/docs/intellij/plugin-dependency.html

© www.soinside.com 2019 - 2024. All rights reserved.