Разработка плагинов IntelliJ заморозила целевой экземпляр IntelliJ - PullRequest
2 голосов
/ 21 апреля 2019

Я создаю очень простой плагин IntelliJ и использую IntellIJ CE (2019.1) в качестве своей цели для тестирования / отладки сборки, развертывая его с помощью конфигурации запуска OOTB IntelliJ Plugin Run.

Всякий раз, когда я выполняю Run/ Отладка, он открывает IntelliJ CE, как и ожидалось (как основной процесс Java), позволяет мне выбрать проект для открытия.Когда проект открывается и пользовательский интерфейс IntelliJ загружается, у меня остается около 5-10 секунд, прежде чем пользовательский интерфейс перестает отвечать на запросы, и я получаю вращающийся пляжный мяч.Я заметил, что основной Java-процесс (который относится к экземпляру CE) начинает сжимать память, перепрыгивая до 5-6 ГБ в течение следующих нескольких секунд (на моем компьютере с 16 ГБ).На данный момент я ничего не могу сделать, кроме остановки процесса.

Изначально я думал, что это мой код (возможно, создание непреднамеренного бесконечного цикла), но я прокомментировал все из моего plugin.xml, кромеРасширение fileType (которое в основном является Бином), и оно все еще делает это.Я продолжил свое исследование, взяв несколько других проектов плагинов IntelliJ из GitHub и запустив их (без изменений) с тем же эффектом !!Так что я не думаю, что это что-то делать с моим плагином, в частности.

Я взял дампы потока процесса CE, но ничего не выпрыгивает (особенно ищет следы, которые содержат мои пакеты).

Наконец, я создал плагин как развертываемый Jar-файл и развернул его как в CE, так и в Ultimate, и он ничего не зависает.Так что, похоже, это как-то связано с развертыванием плагина RunConfiguration (который я оставил с параметрами по умолчанию).

Я нахожусь на macOS, использую последний (на этот пост) IntelliJ 2019.1.Я работаю над IntelliJ Ultimate и внедряю в IntelliJ CE (2019.1).


Разрешение со скриншотами на основе выбранного правильного ответа:

  1. Создание нового SDK для разработки плагинов IntelliJ, указывающего на установку IntelliJ CE, и установка в качестве SDK проекта enter image description here

  2. Создание нового JDK, который указываетдля RJDK, загруженного из bintray enter image description here

  3. Назначьте JDK, созданный на шаге 2, в качестве JDK для SDK разработки Puggin, созданного на шаге 1 (черезВкладка SDK) enter image description here

  4. Установите конфигурацию запуска подключаемого модуля для использования IntelliJ CE SDK.enter image description here

  5. Запустите конфигурацию запуска плагина, и CE откроется с плагином, «горячо развернутым» к нему!

1 Ответ

1 голос
/ 21 апреля 2019

Используйте версию JetBrains Runtime 8 или 11 из https://bintray.com/jetbrains/intellij-jbr или из основной установки IntelliJ IDEA для запуска версии IDE для песочницы. Вы можете указать это в поле JRE конфигурации запуска / отладки плагина.

...