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

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

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

每当我执行Run / Debug时,它会按预期打开IntelliJ CE(作为主java进程),让我选择要打开的项目。一旦项目打开并且IntelliJ UI加载,我有大约5-10秒的时间UI变得没有响应,我得到旋转的沙滩球。我注意到主java进程(用于CE实例)开始吞噬内存,在接下来的几秒钟内(在我的16GB机器上)跳到5-6GB。在这一点上,除了停止这个过程,我做不了多少。

最初,我认为这是我的代码(可能创建了一个无意的无限循环),但我对plugin.xml中的所有内容进行了评论,除了fileType扩展(基本上是一个Bean),它仍然可以。我继续我的调查,从GitHub抓取一些其他IntelliJ插件项目,并运行那些(未修改),达到同样的效果!所以我不认为它与我的插件有什么关系。

我已经接受了CE进程的线程转储,但没有跳出来(特别是寻找包含我的包的跟踪)。

最后,我将插件构建为可部署的Jar,并将其部署到CE和Ultimate中,并且它不会冻结任何东西。所以它似乎与插件部署RunConfiguration(我已经离开w /默认参数)有关。

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


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

  1. 创建一个指向IntelliJ CE安装的新IntelliJ插件开发SDK,并设置为Project的SDK enter image description here
  2. 创建一个新的JDK,指向从bintray enter image description here下载的RJDK
  3. 将步骤2中创建的JDK分配为步骤1中创建的Puggin Development SDK的JDK(通过SDKs选项卡)enter image description here
  4. 设置插件运行配置以使用IntelliJ CE SDK。 enter image description here
  5. 运行插件运行配置,CE将打开,插件“热部署”到它!
java intellij-idea intellij-plugin
1个回答
1
投票

使用来自https://bintray.com/jetbrains/intellij-jbr或您的主IntelliJ IDEA安装的JetBrains Runtime 8或11版本来运行沙盒IDE版本。您可以在插件运行/调试配置的JRE字段中指定它。

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