gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:19:25 26 4
gpt4 key购买 nike

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

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

插件.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>

示例处理程序.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();

关于java - 在 Project Explorer (Eclipse) 中查找项目位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31438337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com