在Project Explorer(Eclipse)中查找项目位置

我在上下文菜单中添加了一个按钮,仅在您在“项目资源管理器”窗口中单击鼠标右键时才执行。我希望能够在“项目资源管理器”窗口中获取每个项目,并获取ProjectName和ProjectLocation并将其单独放入对象中并返回新的对象数组。

我找不到一种访问所需信息的方法。

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();

我觉得好像树或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(Eclipse)中查找项目位置 的全部内容, 来源链接: utcz.com/qa/418953.html

回到顶部