Почему нам нужно перезапускать Intelij IDEA после добавления нового плагина?

Каждый раз, когда мы добавляем новый плагин в Intelij IDEA, он требует перезапуска.

Плагины или расширения - это то, что нужно подключать и отключать, не затрагивая основное приложение. Например. Google Chrome не требует перезагрузки после установки расширения.

В Java также есть механизм загрузчика классов, поэтому он может загружать и использовать новые классы после запуска приложения. Так в чем же причина того, что Intelij IDEA все еще требуется перезапуск?

разве вы не должны спросить об этом на форуме Jetbrains? intellij-support.jetbrains.com/hc/en-us/community/topics

Edwin 04.04.2018 16:39

почему тогда переполнение стека имеет тег intellij-idea?

AdamSkywalker 04.04.2018 16:40

пометить IDE, когда у вас возникла проблема с настройкой, прямо сейчас, прямо из моей головы, но не спрашивать, почему этот инструмент создан таким или другим способом. Для этого я думаю, что лучший вариант - спросить прямо на их форуме / в службе поддержки. (PS: а зачем вообще есть тег Java? Почему не хром)

Edwin 04.04.2018 16:43

почему ява? - потому что IDEA написана на java, и эта проблема может быть связана с платформой java.

AdamSkywalker 04.04.2018 16:52

о, тогда имеет смысл. Спасибо, что прояснили это.

Edwin 04.04.2018 16:57

Какая «проблема»? Определенно проще выполнить перезагрузку, чтобы убедиться, что в виртуальной машине нет старой грязи. Может, они решили пойти по легкому пути.

Kayaman 04.04.2018 17:01

Мое предположение: ему нужен перезапуск, потому что добавленный вами плагин может быть предназначен для того, чтобы повлиять на работу вашей IDE при инициализации. Тогда добавление такого плагина в произвольное время будет означать, что этот плагин не будет работать правильно. У IDE нет возможности узнать об этом, поэтому они выбрали общий подход, который будет работать наверняка, а не подход, который может работать или не работать.

M. Prokhorov 04.04.2018 18:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
7
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Комментарий @M. Прохоров в принципе прав. Многие плагины выполняют настройки или регистрируют компоненты, которые необходимо выполнить во время запуска IDE. Технически возможно проанализировать определенные плагины и определить, можно ли их установить без перезапуска IDE, но эта работа никогда не была приоритетной.

(JetBrains MPS, который также основан на платформе IntelliJ, поддерживает загрузку и выгрузку плагинов без перезапуска IDE, но для MPS это гораздо более важная часть рабочего процесса, и у них не было никаких ограничений с точки зрения совместимости с существующими Плагины IntelliJ IDEA.)

Привет. Спасибо за ответ. Можете ли вы привести пример функции плагина, которая должна запускаться только при запуске и не может быть подключена к работающей среде IDE? это в основном ограничение платформы, а не ошибка плагина?

AdamSkywalker 04.04.2018 20:36

Например, если плагин заменяет некоторые внутренние компоненты IDEA, а другие компоненты зависят от заменяемых компонентов, такая замена не будет работать после запуска IDE. Если плагин регистрирует расширения только для четко определенных точек расширения, он почти всегда может быть загружен динамически.

yole 05.04.2018 08:01

Другие вопросы по теме