Java IntelliJ插件开发冻结目标IntelliJ实例

Java IntelliJ插件开发冻结目标IntelliJ实例,java,intellij-idea,intellij-plugin,Java,Intellij Idea,Intellij Plugin,我正在构建一个非常简单的IntelliJ插件,并使用IntelliJ CE(2019.1)作为构建冒烟测试/调试的目标,通过OOTB IntelliJ插件运行配置进行部署 每当我执行运行/调试时,它都会按预期打开Intellice(作为主java进程),让我选择要打开的项目。一旦打开一个项目并加载IntellijUI,我有大约5-10秒的时间让UI变得无响应,我就会得到旋转的海滩球。我注意到,主java进程(用于CE实例)开始在接下来的几秒钟内(在我的16GB机器上)占用5-6GB的内存。在这一

我正在构建一个非常简单的IntelliJ插件,并使用IntelliJ CE(2019.1)作为构建冒烟测试/调试的目标,通过OOTB IntelliJ插件运行配置进行部署

每当我执行运行/调试时,它都会按预期打开Intellice(作为主java进程),让我选择要打开的项目。一旦打开一个项目并加载IntellijUI,我有大约5-10秒的时间让UI变得无响应,我就会得到旋转的海滩球。我注意到,主java进程(用于CE实例)开始在接下来的几秒钟内(在我的16GB机器上)占用5-6GB的内存。在这一点上,除了停止进程,我无能为力

起初,我认为这是我的代码(可能是无意中创建了一个无限循环),但我对plugin.xml中的所有内容都进行了注释,除了文件类型扩展(基本上是一个Bean),它仍然这样做。我继续我的调查,从GitHub抓取了一些其他IntelliJ插件项目,并运行它们(未经修改),达到了相同的效果!!因此,我不认为这与我的插件有什么特别的关系

我已经对CE进程进行了线程转储,但没有跳出任何内容(特别是查找包含我的包的跟踪)

最后,我将插件构建为一个可部署的Jar,并将其部署到CE和Ultimate中,它不会冻结任何内容。因此,这似乎与插件部署RunConfiguration(我留下了w/default参数)有关

我在macOS上运行最新的IntelliJ 2019.1(截至本文)。我正在开发IntelliJ Ultimate并部署到IntelliJ CE(2019.1)


基于所选正确答案的屏幕截图的分辨率:

  • 创建一个指向IntelliJ CE安装的新IntelliJ插件开发SDK,并设置为项目的SDK

  • 创建一个指向从bintray下载的RJDK的新JDK

  • 将步骤2中创建的JDK分配为步骤1中创建的Puggin开发SDK的JDK(通过SDK选项卡)

  • 设置插件运行配置以使用IntelliJ CE SDK。

  • 运行插件运行配置,CE将打开“热部署”插件


  • 使用主IntelliJ IDEA安装中的JetBrains Runtime 8或11版本来运行沙盒IDE版本。您可以在插件运行/调试配置的JRE字段中指定它。

    这有什么区别?它包含普通JRE没有的修复程序。我从下载了Runtime和Runtime SDK v226.7。。解压缩它们,并将我的插件JRE字段指向~/jbr/Contents/Home和~/jbrsdk/ContentHome。。但是它的构建说明:错误:找不到或加载主类com.intellij.idea.main请确保构建在没有错误的情况下完成。尝试重建。您需要将其添加为
    JDK
    ,并将其设置为
    IJ平台插件SDK
    作为
    内部Java平台
    ,而不是
    JRE
    中的
    Run Configuration
    。如果您运行的不是plugin,而是
    intellij社区
    本身,那么JRE字段将起作用。