IntelliJ 插件开发冻结目标 IntelliJ 实例
IntelliJ plugin development freezes target IntelliJ instance
我正在构建一个非常简单的 IntelliJ 插件,并使用 IntellIJ CE (2019.1) 作为我的构建目标 smoke-testing/debugging,通过 OOTB IntelliJ 插件 运行 配置进行部署。
每当我执行 Run/Debug 时,它都会按预期打开 IntelliJ CE(作为主 java 进程),让我 select 打开一个项目。打开项目并加载 IntelliJ UI 后,我有大约 5-10 秒的时间 UI 变得没有响应,我得到了旋转的沙滩球。我注意到 Main java 进程(用于 CE 实例)开始吞噬内存,在接下来的几秒钟内跃升至 5-6GB(在我的 16GB 机器上)。在这一点上,除了停止进程,我无能为力。
最初,我认为这是我的代码(可能创建了一个无意的无限循环),但我注释掉了我的 plugin.xml 除了 fileType 扩展名(基本上是一个 Bean)之外的所有内容,它仍然如此它。我通过从 GitHub 抓取一些其他 IntelliJ 插件项目和 运行ning 那些(未修改)来继续我的调查,达到同样的效果!所以我认为这与我的插件无关。
我获取了 CE 进程的线程转储,但没有任何内容跳出(特别是寻找包含我的包的痕迹)。
最后,我将插件构建为可部署的 Jar,并将其部署到 CE 和 Ultimate 中,它不会冻结任何东西。因此,这似乎与插件部署有关运行配置(我保留了默认参数)。
我在 macOS 上,运行正在使用最新的(截至本 post)IntelliJ 2019.1。我正在 IntelliJ Ultimate 上开发并部署到 IntelliJ CE (2019.1)。
基于 selected 正确答案的屏幕截图解决方案:
创建一个新的 IntelliJ 插件开发 SDK 指向 IntelliJ CE 安装,并设置为项目的 SDK
创建一个指向从 bintray 下载的 RJDK 的新 JDK
将步骤 2 中创建的 JDK 指定为步骤 1 中创建的 Puggin Development SDK 的 JDK(通过 SDKs 选项卡)
设置插件运行 配置以使用 IntelliJ CE SDK。
运行 Plugin运行配置,CE会用插件"hot deployed"打开的!
使用来自 https://bintray.com/jetbrains/intellij-jbr 的 JetBrains Runtime 8 或 11 版本或从您的主 IntelliJ IDE安装到 运行 沙盒 IDE 版本。您可以在插件 Run/Debug 配置的 JRE 字段中指定它。
我正在构建一个非常简单的 IntelliJ 插件,并使用 IntellIJ CE (2019.1) 作为我的构建目标 smoke-testing/debugging,通过 OOTB IntelliJ 插件 运行 配置进行部署。
每当我执行 Run/Debug 时,它都会按预期打开 IntelliJ CE(作为主 java 进程),让我 select 打开一个项目。打开项目并加载 IntelliJ UI 后,我有大约 5-10 秒的时间 UI 变得没有响应,我得到了旋转的沙滩球。我注意到 Main java 进程(用于 CE 实例)开始吞噬内存,在接下来的几秒钟内跃升至 5-6GB(在我的 16GB 机器上)。在这一点上,除了停止进程,我无能为力。
最初,我认为这是我的代码(可能创建了一个无意的无限循环),但我注释掉了我的 plugin.xml 除了 fileType 扩展名(基本上是一个 Bean)之外的所有内容,它仍然如此它。我通过从 GitHub 抓取一些其他 IntelliJ 插件项目和 运行ning 那些(未修改)来继续我的调查,达到同样的效果!所以我认为这与我的插件无关。
我获取了 CE 进程的线程转储,但没有任何内容跳出(特别是寻找包含我的包的痕迹)。
最后,我将插件构建为可部署的 Jar,并将其部署到 CE 和 Ultimate 中,它不会冻结任何东西。因此,这似乎与插件部署有关运行配置(我保留了默认参数)。
我在 macOS 上,运行正在使用最新的(截至本 post)IntelliJ 2019.1。我正在 IntelliJ Ultimate 上开发并部署到 IntelliJ CE (2019.1)。
基于 selected 正确答案的屏幕截图解决方案:
创建一个新的 IntelliJ 插件开发 SDK 指向 IntelliJ CE 安装,并设置为项目的 SDK
创建一个指向从 bintray 下载的 RJDK 的新 JDK
将步骤 2 中创建的 JDK 指定为步骤 1 中创建的 Puggin Development SDK 的 JDK(通过 SDKs 选项卡)
设置插件运行 配置以使用 IntelliJ CE SDK。
运行 Plugin运行配置,CE会用插件"hot deployed"打开的!
使用来自 https://bintray.com/jetbrains/intellij-jbr 的 JetBrains Runtime 8 或 11 版本或从您的主 IntelliJ IDE安装到 运行 沙盒 IDE 版本。您可以在插件 Run/Debug 配置的 JRE 字段中指定它。