当前位置: 首页 > 面试题库 >

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

陆和泰
2023-03-14
问题内容

我在上下文菜单中添加了一个按钮,仅在您在“项目资源管理器”窗口中单击鼠标右键时才执行。我希望能够在“项目资源管理器”窗口中获取每个项目,并获取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();


 类似资料:
  • 问题内容: 我有一个包含方法myMethod()的X类。我想在当前工作区的所有项目中找到调用myMethod()的位置。我无法使用任何搜索功能,因为myMethod()有多个类,并且它不是静态的。因此,我需要知道此类的对象的名称,如果没有手动浏览这些项目,这是不可能的。 Eclipse是否有解决方案? 问题答案: 转到X.java中的方法,然后从上下文菜单中选择“打开呼叫层次结构”。

  • 我们可以像在eclipse java项目中的ant build文件中那样指定多个源位置吗?例如,我有以下目录结构: 两个src文件夹中的Java文件的包名都是com。我的公司。我的项目。mypackage(我的软件包)。src1中的java文件使用<代码>。src2中的java文件。然而,当我在eclipse中使用ant构建xml文件导入项目时,在项目的属性下只能找到一个src-

  • 我正在运行一个关于在Mac上使用eclipse使用Libgdx的教程。 我目前正在使用eclipse中的gradle构建一个示例项目,因此我可以通过这些教程来了解更多信息。当我导入和构建示例代码项目(我使用的是MAC)时,我会得到以下错误消息: “未找到SDK位置。请使用local.properties文件中的sdk.dir或ANDROID_HOME环境变量定义一个位置”。 为了解决此问题,我尝试

  • 本文向大家介绍如何在Java eclipse项目中找到Package Explorer?,包括了如何在Java eclipse项目中找到Package Explorer?的使用技巧和注意事项,需要的朋友参考一下 要查看项目浏览器,请单击“窗口”菜单,然后单击“显示视图”并选择“项目资源管理器”。 有一种更简单的方法来打开项目资源管理器,当您在编辑器中时,按alt + shift + w并选择项目资

  • 我有一个JFace(带有底层SWT)。 树包含多行和多个级别。 我希望能够找到一个特定的树节点(通过文本标签比较),扩展到它的水平,并选择该项。 主要问题是我无法遍历,因为树以LAZY模式加载所有内容。 也许有一个选项可以通过搜索模型直接访问树项?