Перезагрузить целевую платформу в затмении динамически из плагина - PullRequest
0 голосов
/ 09 августа 2011

Я пишу плагин для затмения, в котором мне нужно перезагрузить активную целевую платформу в определенный момент времени.- так же, как Preferences -> Plug-In Development -> Target Platform -> Reload.button, но, конечно же, динамически из моего плагина.

Я бы мог представить, что так будет, но я могунайти вход / MagicProvider:

MagicProvider.getTargetPlatforms().getActive().reload();

Надеюсь, некоторые из вас знают хитрость:)

Ответы [ 2 ]

5 голосов
/ 31 августа 2011

Попробовал подход Макса, но, похоже, он не сработал.После поиска в источнике затмения я обнаружил, что ITargetDefinition - это просто рабочая копия, и ее необходимо сохранить.Таким образом, код будет:

org.eclipse.pde.internal.core.target.provisional.ITargetPlatformService service = org.eclipse.pde.internal.core.PDECore.getDefault().acquireService(ITargetPlatformService.class.getName());
org.eclipse.pde.internal.core.target.provisional.ITargetDefinition target = service.getWorkspaceTargetHandle().getTargetDefinition();
target.resolve(IProgressMonitor);
org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob.load(target);

Но кредиты Максу за руководство.:)

Если кому-то еще нужна информация, я рекомендую взглянуть на

org.eclipse.pde.internal.ui.preferences.TargetPlatformPreferencePage около строки 771 - 812 и метод handleReload () и org.eclipse.pde.internal.ui.editor.targetdefinition.TargetEditor около строки 231

3 голосов
/ 10 августа 2011

Вот, пожалуйста:

org.eclipse.pde.internal.core.target.provisional.ITargetPlatformService service = org.eclipse.pde.internal.core.PDECore.getDefault().acquireService(ITargetPlatformService.class.getName());
org.eclipse.pde.internal.core.target.provisional.ITargetDefinition target = service.getWorkspaceTargetHandle().getTargetDefinition();
target.resolve(IProgressMonitor);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...