繁体   English   中英

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

[英]IntelliJ plugin development freezes target IntelliJ instance

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

每当我执行运行/调试时,它都会按预期打开 IntelliJ CE(作为 Main java 进程),让我选择要打开的项目。 打开项目并加载 IntelliJ UI 后,我有大约 5-10 秒的时间在 UI 变得无响应并且我得到旋转的沙滩球之前。 我注意到 Main java 进程(用于 CE 实例)在接下来的几秒钟内(在我的 16GB 机器上)开始吞噬内存,跃升至 5-6GB。 在这一点上,除了停止该过程之外,我无能为力。

最初,我认为这是我的代码(可能是无意中创建了一个无限循环),但是我将 plugin.xml 中的所有内容都注释掉了,除了 fileType 扩展名(基本上是一个 Bean),它仍然这样做。 我通过从 GitHub 上抓取其他一些 IntelliJ 插件项目并运行这些(未修改的)来继续我的调查,以达到同样的效果!! 所以我认为这与我的插件没有任何关系。

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

最后,我将该插件构建为一个可部署的 Jar,并将其部署到 CE 和 Ultimate 中,它不会冻结任何内容。 所以看起来这与插件部署 RunConfiguration (我留下了默认参数)有关。

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


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

  1. 创建一个新的 IntelliJ 插件开发 SDK 指向 IntelliJ CE 安装,并设置为项目的 SDK 在此处输入图片说明

  2. 创建一个指向从 bintray 下载的 RJDK 的新 JDK 在此处输入图片说明

  3. 分配在第 2 步中创建的 JDK,作为在第 1 步中创建的 Puggin 开发 SDK 的 JDK(通过 SDKs 选项卡) 在此处输入图片说明

  4. 设置插件运行配置以使用 IntelliJ CE SDK。 在此处输入图片说明

  5. 运行插件运行配置,CE 将打开插件“热部署”到它!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM