在 Project Explorer (Eclipse) 中查找项目位置
Find Project locations in Project Explorer (Eclipse)
我在上下文菜单中添加了一个按钮,仅当您在 Project Explorer 中右键单击时才执行 window。我希望能够在 Project Explorer window 中抓取每个项目并抓取 ProjectName 和 ProjectLocation 并将其单独放入一个对象和 return 新的对象数组中。
我找不到访问所需信息的方法。
plugin.xml
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
<command commandId="helloworld.sample"
label="Hello World" style="push">
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.commands">
<command defaultHandler="helloworld.handler.samplehandler"
id="helloworld.sample" name="Sample">
</command>
</extension>
samplehandler.java
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IWorkbenchPart viewpart = page.findView("org.eclipse.ui.navigator.ProjectExplorer");
Tree tree = (Tree) ((TreeViewer) viewpart.getSite().getSelectionProvider()).getControl();
TreeItem[] selTree = tree.getSelection();
我觉得好像tree 或selTree 会有我想要的信息,但我找不到。有帮助吗?
使用选择提供者的选择数据:
IStructuredSelection sel =
(IStructuredSelection)viewpart.getSite().getSelectionProvider().getSelection();
Object selObj = sel.getFirstElement();
IProject project =
(IProject)Platform.getAdapterManager().getAdapter(selObj, IProject.class);
... might return null if selection is not the project
String name = project.getName();
IPath location = project.getLocation();
要获取所有项目,请使用:
IWorkspace workspace = ResourcesPlugin.getPlugin().getWorkspace();
IProject [] projects = workspace.getRoot().getProjects();
我在上下文菜单中添加了一个按钮,仅当您在 Project Explorer 中右键单击时才执行 window。我希望能够在 Project Explorer window 中抓取每个项目并抓取 ProjectName 和 ProjectLocation 并将其单独放入一个对象和 return 新的对象数组中。
我找不到访问所需信息的方法。
plugin.xml
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
<command commandId="helloworld.sample"
label="Hello World" style="push">
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.commands">
<command defaultHandler="helloworld.handler.samplehandler"
id="helloworld.sample" name="Sample">
</command>
</extension>
samplehandler.java
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IWorkbenchPart viewpart = page.findView("org.eclipse.ui.navigator.ProjectExplorer");
Tree tree = (Tree) ((TreeViewer) viewpart.getSite().getSelectionProvider()).getControl();
TreeItem[] selTree = tree.getSelection();
我觉得好像tree 或selTree 会有我想要的信息,但我找不到。有帮助吗?
使用选择提供者的选择数据:
IStructuredSelection sel =
(IStructuredSelection)viewpart.getSite().getSelectionProvider().getSelection();
Object selObj = sel.getFirstElement();
IProject project =
(IProject)Platform.getAdapterManager().getAdapter(selObj, IProject.class);
... might return null if selection is not the project
String name = project.getName();
IPath location = project.getLocation();
要获取所有项目,请使用:
IWorkspace workspace = ResourcesPlugin.getPlugin().getWorkspace();
IProject [] projects = workspace.getRoot().getProjects();