#java #eclipse #eclipse-plugin
#java #eclipse #eclipse-плагин
Вопрос:
Может кто-нибудь, пожалуйста, скажите мне, как получить текущий или активный рабочий набор, а также получить все проекты в рабочем наборе в IProject type? Я пытаюсь достичь этого, используя приведенный ниже код —
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
IWorkingSetManager manager = window.getWorkbench().getWorkingSetManager();
IWorkingSet[] workingSets = manager.getWorkingSets();
Это даст мне все рабочие наборы, которые присутствуют в eclipse? IWorkingSet.getElements() предоставляет все детали проекта в типе IAdaptable, который я не могу привести в IProject?
Заранее благодарю вас!
Ответ №1:
Вы преобразуете IAdaptable
значение в IProject
:
IProject project = (IProject)adaptable.getAdapter(IProject.class);
Я не уверен, предоставляет ли элемент working set адаптер напрямую IProject
, вам может потребоваться использовать:
IResource resource = (IResource)adaptable.getAdapter(IResources.class);
if (resource instanceof IProject)
{
}
Комментарии:
1. Спасибо @greg-449. Это сработало отлично. Я многому учусь у вас. Активный рабочий набор должен присутствовать в первом списке рабочих наборов, возвращаемых функцией getRecentWorkingSets(), по крайней мере, в соответствии с теорией, представленной в библиографии eclipse, но он не работал. В любом случае, большое вам спасибо за вашу своевременную помощь.
2.
IWorkbenchPage
имеетgetWorkingSet
, но это устарело, поскольку глобальный рабочий набор теперь не рекомендуется, вместо этого отдельные представления имеют отдельный активный рабочий набор.3. Извините за задержку ответа.. Конечно, теперь я понимаю.. vogella rcp tutorials — хорошее начало для этих тем