У меня есть плагин Eclipse, который в настоящее время находится в состоянии получить выбранные проекты в рабочей области с помощьюEclipse Plugin: получить содержимое рабочего набора
IStructuredSelection structured = (IStructuredSelection) iServiceServiceObject.getSelection("org.eclipse.jdt.ui.PackageExplorer");
Object[] selectedProjectObjects = structured.toArray();
for (Object projectObj : selectedProjectObjects) {
IAdapterManager adapterManager = Platform.getAdapterManager();
IResource resource = (IResource) adapterManager.getAdapter(projectObj, IResource.class);
if (resource instanceof IProject) {
IProject project = (IProject) resource;
// using the project in some way
Я хотел бы добавить функцию также быть в состоянии выбрать целое рабочий набор и процесс всех проектов в нем. Есть ли способ сказать
if(resource instanceof WorkingSetClass){
WorkingSetClass wsc = (WorkingSetClass)
IProject[] projects = wsc.getProjects()
Проблема заключается в том, док говорит "Все известные Подынтерфейсы (из IResource): IContainer, IFile, IFolder, IProject, IWorkspaceRoot". Я пытался использовать IContainer и его метод members() вместо псевдокодиза WorkSetClass и getProjects(), но instanceof возвращает false.
Короче говоря, как мне получить проекты внутри выбранного рабочего набора в диспетчере пакетов?