`

eclipse整体概况

 
阅读更多

 

     eclipse通过插件的依赖关系将不同的插件联系在一起。随着插件规模的越来越多,eclipse运行时消耗的资源也迅速增长。但是,eclipse不能为已安装但是还没有使用的插件耗费资源。因此,eclipse目前采用懒加载模式,当用到该插件时才会加载,没有使用到是不会加载到内存中的。

 

工作台层次结构

工作台->工作台窗口

工作台窗口又包含菜单栏、工具栏和工作台页面

工作台页面就是透视图

 

Eclipse的窗口。通常一个工作台会打开一个窗口,但是也可能一个工作台对应多个窗口。

 

//取得工作台

IWorkbench workbench = PlatformUI.getWorkbench();

//取得工作台窗口

IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();

//取得工作台页面

IWorkbenchPage page = window.getActivePage();

//取得当前处于活动状态的编辑器窗口

IEditorPart part = page.getActiveEditor();

 

 

 

      当eclipse启动时,会遍历plugins文件夹中的目录,扫描每个插件的清单文件,并建立一个内部模型来记录它

所找到的每个插件的信息。这时候插件并未启动,只有调用插件的start方法后,插件才会真正启动。

 

宿主插件、扩展者插件、回调对象 三者之间的关系。

 

每个插件都应该有个相应的plugin.xml清单文件与 其相对应,它们在其中声明了该插件的使用扩展和扩展点。elcipse使用插件注册表来管理插件的所有扩展点和扩展信息,因而可以使用如下方法来获得扩展点。

 

IExtensionRegistry.getExtensionPoint("org.eclipse.ui.actionSet");

 

1.一个宿主插件可能存在多个扩展点;

2.插件可以扩展它自己定义的扩展点;

3.一个插件可以多次扩展一个扩展点;

 

插件工程有3个部分组成:

 

1.源代码部分;

2.插件文件,它是构成完整插件至关重要的部分,主要包含几个部分:插件清单文件(plugin.xml),MANIFEST.MF,build.properties,所依赖的系统库;

3.其他资源文件;

 

PDE的插件清单编辑器能够统一管理所有的插件文件,即plugin.xml,MANIFEST.MF,build.properties。

 

<extension>标签定义插件对其他插件的功能控制,具有point属性,表示所引用扩展点的标识。

<extension-point>标签表示该插件定义的扩展点。

 

   <extension

         point="org.eclipse.ui.views">

      //name表示该视图所属的分类,在视图选择框中以文件夹显示

      <category

            name="PLUGINDEV"

            id="com.plugindev.addressbook">

      </category>

      <view

            //表示视图的名称

            name="地址本视图"

            icon="icons/sample.gif"

            category="com.plugindev.addressbook"

            class="com.plugindev.addressbook.views.AddressView"

            id="com.plugindev.addressbook.views.AddressView">

      </view>

   </extension>

 

 

      插件类继承AbstractUIPlugin,用于管理插件的生命周期,start是插件启动的时候调用,stop是卸载插件的

时候调用。



更详细的解释:


      workbench是eclipse用户界面中最底层的对象,它建立在Display之上,包含一个或多个IWorkbenchWindow,用于向终端用户呈现信息。

      IWorkbenchWindow通常包含菜单栏,工具栏,状态栏和一个用来显示IWorkbenchPage的主要区域每个IWorkbenchWindow可以包含一个或多个IWorkbenchPage,但是同一时刻只允许一个IWorkbenchPage被激活并向终端用户显示。

官方文档:

The workbench window is the top-level window in a workbench. It is the frame that holds the menu bar, tool bar, status line, short cut bar, and pages. In general, you don't need to program to the workbench window. You just want to know that it's there.

Note:  You can open multiple workbench windows; however each workbench window is a self-contained world of editors and views, so we'll just focus on a single workbench window.


  IWorkbenchPage:

  IWorkbenchPart:该接口是所有view和ecitor的接口,

  IWorkbenchSite:IWorkbenchSite负责实现Part和IWorkbenchWindow的交互

 

分享到:
评论

相关推荐

    论文研究-Mozilla缺陷报告仓库特征分析 .pdf

    通过收集和分析Mozilla缺陷管理系统Bugzilla中的历史活动信息,可以介绍Mozilla缺陷报告仓库的概况。研究发现在Mozilla主要产品的新版本发布后,新的缺陷报告会有所激增。此外,严重等级较高的缺陷报告往往能在相对...

    哈工大(威海)编译原理课程实验的程序-内含源码和说明书(可自己修改).zip

    学生可以通过阅读README了解项目的整体概况和操作指导。 6. **.project**:这是Eclipse项目元数据文件,定义了项目类型、构建配置、构建命令等信息。如果实验使用Eclipse作为开发环境,这个文件对于管理和构建项目...

    基于Android平台的日历与日程提醒-本科毕业论文.docx

    5. 手机软件市场概况:全球智能手机市场的整体趋势,Android 占有的份额达到 83.6%,IOS 占有的份额为 12.3%,Windows Phone 占市场份额 3.3%。 6. 手机应用市场的机遇:随着 3G 技术在中国的普及和 4G 网络的逐步...

    持续集成环境下运行单元测试和代码校验详细过程

    - **Sonar 仪表盘**:Sonar 的仪表盘展示了项目的整体质量概况,包括代码覆盖率、漏洞、代码复杂度等关键指标。通过这些信息,团队可以快速了解项目的健康状况。 此外,为了在开发过程中实时获取代码质量反馈,我们...

    基于SOA架构的互联网商城的设计与研发.pdf

    本文件是一篇关于如何设计和研发基于SOA(面向服务的架构)架构的互联网商城的研究报告,文章内容涵盖了互联网电子商务的发展概况、SOA架构的优势及其在电商平台中的应用、系统的整体设计思想、以及关键技术的应用...

    计算机毕业设计jsp办公OA考勤请假健康设备系统论文

    办公自动化(OA)系统作为现代企业管理的重要工具之一,能够帮助企业实现办公流程的数字化、自动化,从而提升整体运营效率。在这一背景下,“计算机毕业设计jsp办公OA考勤请假健康设备系统”项目应运而生。 该系统...

    答辩ppt330全国消费水平展示平台.pptx

    全国消费水平展示平台的系统管理将通过计算机进行整体智能化操作,对于全国消费水平展示平台所牵扯的管理及数据保存都是非常多的,例如管理员管理、个人中心管理、用户管理、系统公告管理等。 六、背景及意义 全国...

    数据库教学管理系统方案.doc

    - 整体反映教学组织结构,如教师管理系统、学生管理系统和领导管理系统。 - 显示各部门业务活动概况,帮助管理者了解现状。 - 支持对学生成绩的浏览、查询和修改。 - 提供教师授课详情的修改和查询功能。 - ...

    JSP课程设计说明书.pdf

    通常,JSP开发需要Java开发工具包(JDK)、Web服务器(如Apache Tomcat)以及集成开发环境(IDE),如Eclipse或IntelliJ IDEA。这些工具为JSP页面的编写、编译和运行提供了必要的支持。 接着,系统概述对项目进行...

    Spring Mybatis Sharding-JDBC demo

    - **理解深入**:通过手动创建表和导入数据,开发者能够更加深入地理解项目的整体结构和数据模型。 #### 五、工程导入 1. **导入项目**:将项目导入到 Eclipse 或 IntelliJ IDEA 中。 2. **配置调整**:根据自己的...

    javaweb人事管理系统.pdf

    - **编程环境介绍**:列出使用的开发工具、IDE(如Eclipse或IntelliJ IDEA)、服务器环境(如Tomcat或Jetty)等。 - **系统运行结果**:展示系统运行界面和功能演示,验证设计和实现是否满足需求。 7. **总结与...

    水果小时网站系统的设计与实现-仅Word文档

    - **信息总览**:管理员可以查看系统整体运行情况,如订单统计、商品销售概况等。 - **教练管理**(可能在原文中有误,应为“商品管理”):包括添加、编辑、删除商品,调整库存等操作。 - **器材管理**(可能在...

    教务管理系统-课程设计报告说明书.doc

    例如,开发环境可能是Windows操作系统,采用Java或Python作为主要编程语言,使用Eclipse或PyCharm作为开发工具,数据库管理系统可能是MySQL或Oracle。选择这样的开发环境是为了确保系统的稳定性和兼容性。 1.1 开发...

    数据库课程设计-仓库货物管理系统.pdf

    1、系统概况 系统设计的目标是创建一个高效、稳定且用户友好的仓库货物管理系统,它能够帮助管理库存、跟踪货物进出、优化存储空间以及提供实时的库存报告。编写这个项目的目的在于提高学生的数据库设计能力,理解...

    毕业设计(论文)开题报告

    2. **研究概况**:当前的BBS系统通常具备用户注册、登录、发帖、回帖、版面管理等功能,支持不同级别的用户操作,如匿名用户、普通用户、版面管理员和超级管理员。BBS系统采用B/S架构,即浏览器/服务器模式,用户...

    基于ssm+Vu的在线购物系统源码数据库.docx

    6. **Eclipse开发平台**:Eclipse是一个开源的、跨平台的集成开发环境(IDE),支持多种编程语言。 - **特点**:强大的插件系统、代码调试功能强大。 - **应用场景**:Java项目开发的主要工具之一。 #### 四、...

    四个月实习工作总结.pptx

    1. **实习公司概况**: - 公司性质:一家专注于提供高质量软件解决方案与服务的软件开发企业。 - 行业地位:在行业内享有良好口碑与信誉。 - 技术优势:采用先进开发技术和工具。 2. **项目背景**: - 项目类型...

    坦克大战游戏的改进设计.doc

    选择合适的开发工具,如Eclipse或NetBeans集成开发环境,配合J2ME SDK进行游戏开发,并使用模拟器进行测试和调试。 2.5 J2ME概况与应用 J2ME(Java Micro Edition)是为嵌入式设备和移动设备设计的Java平台,适用于...

Global site tag (gtag.js) - Google Analytics