Есть ли способ получить доступ и изменить исходный код плагина Eclipse во время выполнения? - PullRequest
0 голосов
/ 10 июня 2018

Я разрабатываю плагин Eclipse, который имеет пользовательский интерфейс.Мне нужно иметь доступ к коду плагина во время выполнения (загрузить некоторые имена классов из плагина для создания выпадающего списка в пользовательском интерфейсе), а также иметь возможность генерировать класс в исходном коде плагина,таким же образом, во время выполнения.

Есть ли какой-нибудь возможный способ сделать это?

Чтобы получить доступ к коду, я попробовал следующее:

    IWorkspace thisWorkspace = ResourcesPlugin.getWorkspace();
    IWorkspaceRoot thisWorkspacesRoot = thisWorkspace.getRoot();
    IProject thisProject = thisWorkspacesRoot.getProject("MyPluginsNameHere");
    IJavaProject thisJavaProject = JavaCore.create(thisProject);

изатем я анализирую этот IJavaProject и получаю классы.

Проблема в том, что переменная thisWorkspace загружается с рабочей областью приложения eclipse во время выполнения вместо рабочей области плагина.

Эта проблема обсуждалась здесь: https://www.eclipse.org/forums/index.php/t/105604/

Данное решение было:

Я нашел хитрость для определения местоположения рабочей области.Вот мой код: org.eclipse.core.resources.ResourcesPlugin.getWorkspace (). Ge tRoot (). GetLocation ()

Когда я запускаю это для тестирования через «Запуск приложения Eclipse» или «Запуск Eclipse»Кнопки приложения, он возвращает это местоположение: рабочая область: C: / Documents and Settings / rbt / Мои документы / runtime-EclipseApplication

Но когда я экспортирую его как «Развертываемый плагин» (Файл-> Экспорт-> Развертываемые плагины и фрагменты), перезапустите Eclipse и выполните его как развертываемый плагин.На этот раз он возвращает это местоположение: C: / Documents and Settings / rbt / My Documents / workspace

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

Есть ли другой способ сделать это и запустить плагин как приложение Eclipse?

...