Я работаю над плагином Eclipse, у которого есть страница настроек, метод performOk()
которого изменяет настройки нескольких других плагинов, чтобы учесть изменения.Пока работает хорошо.
Однако, если пользователь изменяет файл prefs моего плагина вручную или обновляет плагин, он должен перейти на страницу настроек и вручную нажать «ОК», иначе настройки другого плагина будутбыть устаревшим.
Я бы хотел избежать этой проблемы, настраивая параметры других плагинов при каждом запуске Eclipse.Я заставил свой класс плагина реализовать интерфейс IStartup
и его метод earlyStartup()
для изменения настроек, но у меня есть две проблемы с этим:
Мне нужно прочитатьустановка из моего собственного плагина перед изменением предпочтений других, но метод getPreferenceStore()
не работает в методе earlyStartup()
.Я смог обойти эту проблему, реализовав earlyStartup()
пустой и делая то, что я хочу в методе start()
плагина. Надежно ли это поведение?получить доступ к исключениям при действительном изменении настроек в методе start()
.Я читал, что start()
выполняется своей собственной работой, могут ли задания изменять предпочтения?
Если есть альтернативный способ добиться того, чего я хочу, я, естественно, тоже хотел бызнать.