当前位置: 首页 > 知识库问答 >
问题:

如何在开发IntelliJ插件的同时导入IntelliJ类?

艾浩广
2023-03-14

如何在IntelliJ插件中导入com.IntelliJ.psi.javapsifacade类?

我正试图开发一个IntelliJ插件。我一直在遵循这里的入门指南,并使用Gradle和Groovy构建脚本。

我得到了要运行的“Hello World”示例。我的下一步是尝试使用Java PSI。当我使用一些类(例如com.intellij.psi.delegatepsitarget),而不是其他类(例如com.intellij.psi.javapsifacade)时,我的项目将成功构建。

我的印象是,要使用某些类,我需要将它们的源代码添加到我的build.gradle类中。然而,我还没有很好地弄清楚如何跟踪哪个来源会提供它,以及一旦找到该来源如何添加该来源。

以下是我到目前为止的build.gradle文件:

plugins {
    id 'java'
    id 'org.jetbrains.intellij' version '0.4.13'
}

apply plugin: 'org.jetbrains.intellij'
apply plugin: 'idea'
apply plugin: 'java'

version '1.0'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
    version '2019.2.4'
}
patchPluginXml {
    changeNotes """
      Add change notes here.<br>
      <em>most HTML tags may be used</em>"""
}

共有1个答案

谷梁向荣
2023-03-14

当我在写这个问题的时候,我终于发现了我的问题。

因为我使用的是Java API,所以我需要声明我对Java插件的依赖关系,这分为两个部分:

    build.gradle文件中向我的 intellij对象添加 plugins=['java']
  1. com.intellij.modules.java 添加到我的plugin.xml文件中。

希望这能帮助其他人避免我走过的漫长道路。如果其他人有更多的输入,请随意添加额外的答案。

 类似资料:
  • 我有个愚蠢的问题。如何将Intellij插件项目导入Intellij?我为intellij插件开发了一些代码,我将更改推送到git(在这台计算机上,intellij将项目视为插件项目,我可以轻松地运行它,调试它)。现在我想继续在家里工作,所以我检查了git中的outed存储库,并将intellij项目导入intellij(同一版本)。在项目树中,我看到带有插件的META-INF文件夹。xml,我为

  • 在开发Intellij Idea插件时,可以使用创建java类,它根据文件模板创建。有什么方法可以用类似的方法创建kotlin类吗?

  • 我想开发一个idea intellij插件就像“Maven Helper”。我必须得到“MavenProject”对象,然后才能做一些商业逻辑。但是我发现MavenProjectsManager是空的(我在maven项目中使用它。)?有人能给我一些关于这个的开发指南吗?谢了!

  • 当我运行我开发的插件时,我得到了一个插件异常。 大概是缺少了一些东西,或者没有绑定什么的--我使用的是基本的build.gradle文件和一个非常普通的plugins.xml文件,所以我不确定哪里出了问题? (另外,如果有人想做一个插件教程,老实说,我现在只需要花很多钱就可以了,实际的文档是垃圾!)

  • 我还是IntelliJ的新手,还在学习如何使用它。基本上,我之前已经创建了一个程序,我只想使用IntelliJ中现有的.java文件。我在IntelliJ的intro屏幕上尝试了import/open选项,但当我打开.java文件时,没有任何菜单,没有任何功能,你根本无法运行程序,它似乎只是打开了我的.java文件的一个选项卡文本编辑器。所以我尝试创建一个新的项目,然后打开.java文件,但没有骰

  • 我想在Intellij中的项目中添加一个库。在项目设置中添加外部库后,Intellij识别该库,并告诉我在尝试从外部类实例化对象时导入它。 但是当我尝试从外部库导入一个类时,Intellij不接受它,说“无法解析符号”。