我正在开发 Eclipse 插件。在项目资源管理器中有几个项目,我已将这些项目存储在不同的工作空间中(我已添加新项目但不同的工作空间)。为了获取所选项目的工作区,我使用以下代码
ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
但它总是返回我第一次打开项目时选择的工作区。有没有办法从项目资源管理器中获取与不同项目选择相对应的不同工作区。
最佳答案
在您的项目选择监听器中,您可以执行类似的操作。我希望您指的是标准 Eclipse 项目资源管理器。
ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
IStructuredSelection structured = (IStructuredSelection) service.getSelection(IPageLayout.ID_PROJECT_EXPLORER);
if (structured instanceof IStructuredSelection)
{
Object selectedObject = ((IStructuredSelection) structured).getFirstElement();
if (selectedObject instanceof IAdaptable)
{
IResource resource = (IResource) ((IAdaptable) selectedObject).getAdapter(IResource.class);
if (resource != null)
{
IProject project = resource.getProject();
IPath location = project.getLocation();
}
}
}
关于java - 如何获取与项目选择对应的不同工作空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36858098/