`
yianpuodiaotu
  • 浏览: 239085 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

如何访问当前Project???

阅读更多

【转】http://wiki.eclipse.org/FAQ_How_do_I_access_the_active_project%3F

作为新手,好多人会问:如果获取Active Project、Active File、and active folder。事实上,在eclipse中不存在“Active”Project 和File;只有当前的(currently)project和file。
那么如果获取呢?下面介绍常用的方式:
1.通过UI的ISelectionService获取project、file、folder
一但你获取了一个selection,你就可以获取选择的resource

IResource extractSelection(ISelection sel) {
      if (!(sel instanceof IStructuredSelection))
         return null;
      IStructuredSelection ss = (IStructuredSelection) sel;
      Object element = ss.getFirstElement();
      if (element instanceof IResource)
         return (IResource) element;
      if (!(element instanceof IAdaptable))
         return null;
      IAdaptable adaptable = (IAdaptable)element;
      Object adapter = adaptable.getAdapter(IResource.class);
      return (IResource) adapter;
   }

 2.通过IPartService获取resource

IResource extractResource(IEditorPart editor) {
      IEditorInput input = editor.getInput();
      if (!(input instanceof IFileEditorInput))
         return null;
      return ((IFileEditorInput)input).getFile();
   }

 3.IResource.getProject()

题外话,对于project、file等resource,我们通常说“selected”;对于编辑器、视图,我们通常说“Active”
 

IWorkbench iworkbench = PlatformUI.getWorkbench();
 if (iworkbench == null)...
 IWorkbenchWindow iworkbenchwindow = iworkbench.getActiveWorkbenchWindow();
 if (iworkbenchwindow == null) ...
 IWorkbenchPage iworkbenchpage = iworkbenchwindow.getActivePage();
 if (iworkbenchpage == null) ...
 IEditorPart ieditorpart = iworkbenchpage.getActiveEditor();
 

  IStructuredSelection
  ITextSelection
 

IWorkbench iworkbench = PlatformUI.getWorkbench();
 if (iworkbench == null)...
 IWorkbenchWindow iworkbenchwindow = iworkbench.getActiveWorkbenchWindow();
 if (iworkbenchwindow == null) ...
 IWorkbenchPage iworkbenchpage = iworkbenchwindow.getActivePage();
 if (iworkbenchpage == null) ...
 IEditorPart ieditorpart = iworkbenchpage.getActiveEditor();
 

 

分享到:
评论

相关推荐

    project实验报告.docx

    《实用计算机软件》 实验报告 实验报告题目: 某企业大门建造方案 姓名: 学号: 年级: 专业: 指导教师: 日期: 年 月 日 项目概述 project实验报告全文共11页,当前为第1页。本次计算机实用软件做的项目是有关于...

    Project-2007培训教程.pptx

    概述 什么是Project? 项目管理是为了完成一个预定的目标,而对任务和资源进行计划、组织和管理的过程。要在施工中管理好一个项目,就要建立一套行之有效的项目控制系统,就要用到网络计划技术,需要处理大量的数据...

    Project教程完整版.pptx

    项目管理工具—— Project 知识讲解 洛阳鸿卓国际 Project教程完整版全文共72页,当前为第1页。 目录 Project基础知识 项目计划的预先设置 制定项目时间计划 制定项目资源计划 查询、优化项目计划和工期 项目跟踪与...

    Project2010自学详细教程

    用户可以通过 Project 2010 跟踪项目的进度,了解项目的当前状态、完成率、延迟等信息。 * 生成报表 用户可以生成项目报表,了解项目的进度、资源使用情况、成本等信息。 四、管理项目资源 * 管理项目资源 用户...

    Project2007专用模板

    2. 团队共享:对于团队项目,可以将模板上传至共享位置,确保所有成员都能访问和使用。 3. 版本控制:当模板更新或优化时,应进行版本控制,防止旧版模板的误用。 总结,Project2007专用模板是提升项目管理效率的...

    IntelliJ IDEA Project窗口的一些设置详解

    该快捷键可以在编辑区域使用,使Project窗口自动定位到当前编辑区所打开的文件的位置。 三、Autoscroll from Source 勾选Autoscroll from Source设置,可以使Project窗口自动定位到当前编辑区所打开的文件的位置。...

    Project案例1(含文档)

    5. **进度跟踪**:在项目执行过程中,可以更新任务的完成状态,Project会自动调整时间线并显示当前进度,帮助管理者识别潜在的延期风险。 6. **报告生成**:Project提供了多种报告模板,如项目摘要报告、资源使用...

    PROJECT软件使用教程.

    * 当前操作报表 * 成本报表 * 工作分配报表 * 自定义报表 用户可以使用报表来跟踪项目的进度、成本和资源,并与项目团队成员共享项目信息。 结语 本教程指导用户学习 Project 2007 的使用,包括创建项目、定义...

    openproject

    对于那些需要跨部门或者远程协作的项目团队,OpenProject提供了云端版本,方便多用户实时同步和访问项目信息。 总之,OpenProject是一款强大的项目管理工具,结合了PERT和甘特图等经典方法,旨在提升项目管理的效率...

    project 2003项目管理案例分析

    Project 2003提供了甘特图视图,清晰显示了项目的时间线和当前进度,使得管理者能够及时发现延迟并采取纠正措施。 4. **报告生成**:软件具有丰富的报告生成功能,包括但不限于项目摘要、任务详细情况、资源使用...

    projectmanager

    在人员管理方面,"projectmanager"允许用户创建和维护一个详细的团队数据库,包括每个成员的专业技能、经验等级以及当前的工作状态。这使得项目经理在分配任务时能快速找到最合适的候选人,从而提高工作效率。此外,...

    Project简介.pptx

    - **项目报表**:Project提供了多种报表类型,如总览报表、当前操作报表、成本报表、工作分配和工作量报表等。这些报表可以帮助项目经理了解项目的状态,评估绩效,以及作出决策。 【创建项目文件】 1. **新建项目...

    Project导出成Excel的工具

    该工具允许用户选择当前活动的视图进行导出,这意味着Excel文件将反映Project中用户正在查看的信息。这使得导出的数据更加有针对性,确保了导出内容与用户的需求相匹配。 3. **智能处理特殊情况**:在实际应用中,...

    Project导出EXCEL表工具(插件)

    2、 根据当前视图中的表格导出 3、 智能判断一些列的特殊情况进行处理 4、 开放源码 可能存在的问题 1、 在英文版中由于列名称不一样,导致工具运行可能有问题 2、 在低版本Project中运行可能存在问题

    Geekos project0完整实现

    它们被设计成中断当前执行的任务,执行特定的处理,然后恢复执行。 #### 4.4 系统调用 (`syscalls.asm`) 系统调用允许用户模式下的程序请求内核服务,如创建新进程、打开文件或写入磁盘。每个系统调用都有一个唯一...

    AstarPathfindingProject 4.1.12

    在游戏场景中,这通常意味着从角色当前位置到目标位置的最优移动路线。 在AstarPathfindingProject 4.1.12中,开发者可以期待以下关键特性: 1. **多目标寻路**:支持同时规划多个角色的路径,使得大规模的群体...

    Project 2007 项目管理模板 MPP格式 41个打包

    它们可以被编辑、共享,并与其他项目团队成员同步,确保所有参与者都对项目的当前状态有清晰理解。 2. **项目模板**: 模板是预先定义的结构,包含了项目管理的基本框架,例如任务清单、时间线、资源分配等。使用...

    Project2003模板

    在IT行业中,Microsoft Project是一款广泛使用的项目管理软件,它帮助用户规划、跟踪和管理各种规模的项目。在本文中,我们将深入探讨“Project2003模板”这一主题,了解其重要性、用途以及如何利用这些模板提升项目...

    Project学习模板

    这些报告可以用来与团队成员、利益相关者分享,以确保大家都对项目的当前状态有清晰的认识。在模板中,你会看到如何自定义和生成这些报告,提高项目沟通的透明度。 【风险与问题管理】 项目中总会遇到预期之外的...

    java project

    【标题】"java project"揭示了这是一个与Java编程相关的项目,很可能是某个学习资源或实际应用的代码示例集合。...不过,由于资源的年代较早,使用者可能需要对照当前的Java版本和最佳实践进行调整和更新。

Global site tag (gtag.js) - Google Analytics