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的交互

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值