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

插件开发概述

阅读更多

eclipse启动时,会扫描plugins目录,检查所有插件,读取所有插件的清单文件,并用插件注册表管理着所有插件,维护着所有插件的所用,在插件第一次被使用时,插件才被加载,因而实现lazzy加载。插件加载首先会调用Activator.start()方法,插件生命期结束时会调用Activator.stop()方法。

 

插件可以扩展其它插件,称为Extension,插件也可以被其它插件扩展,必须提供扩展点(Extension Point)。每个扩展点需要提供指定的Schema,在其中指定XML元素及属性。

 

IAction与IActionDelegate:eclipse根据清单文件的描述信息自动创建了一个Action对象(继承了PluginAction),该对象具备操作的所有信息,唯一不能做的是执行实际操作,交给IActionDelegate来做。子类有IEditorActionDelegate,IworkbenchWindowDelegate,IViewActionDelegate,IObjectActionDelegate.

 

操作集:ActionSet,工具栏上的可以拖动的一组工具组成一个操作集。

1定制工作台菜单和工具:扩展actionSet,其中menu用于描述操作插入的位置,action为操作,插入到指定的menu对应的位置。action对应的class要实现IworkbenchWindowDelegate。

 

2view添加工具栏和下拉菜单栏:扩展viewActions的viewContribution元素,设置targetID为视图id,实现IViewActionDelegate

 

3编辑器添加工作台菜单和工具:编辑器的工作台菜单、工具只有在编辑器被打开时才会出现。扩展editorActions的editorContribution,设置targetID为editor的id,实现IEditorActionDelegate。

 

4 添加上下文菜单,扩展popuupMenus的viewerContribution,设置其targetid为需要绑定到的view或editor的id。视图则实现IViewActionDelegate,editor则实现IEditorActionDelegate。

viewerContribution规定是针对视图或editor中的通用操作,若要根据选择内容决定弹出菜单,则扩展objectContribution,其Action需要实现IObjectActionDelegate,且不需要设置targetID。

 

5键的绑定

扩展commands,创建一个command;扩展binding的key元素,在其中指定组合键,设置其commandID,schemaID可以使用默认的defaultAcceleratorConfigure,contextID默认为context.windows;将action与command绑定,只需要指定Action的definitionID为command的id。

 

 

分享到:
评论

相关推荐

    Firefox插件开发概述

    兼容firefox,chrome等非IE核浏览器的插件开发技术npapi概述

    [金蝶内部培训]K3BOS插件开发产品培训

    插件开发概述 案例介绍 插件开发基础 插件开发向导 数据结构 K3ClassEvents业务对象接口 ...

    Pantaho Kettle转换步骤插件开发

    2.1 Kettle转换步骤插件开发概述 2.1.1 Kettle转换步骤插件至少需要实现四个接口 2.1.2 Kettle转换步骤插件各个类命名推荐规则 2.2 Kettle转换步骤插件开发例子 2.2.1 Kettle转换步骤插件初步开发 2.2.2 Kettle...

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    eclipse插件开发-铺设一条插件开发普及之路(1-5章).pdf

    三、Eclipse插件开发环境与开发入门 8 1.3.1 创建工程及设置环境 8 1.3.2 Activator类 13 1.3.3 plugin.xml与org.eclipse.ui.actionSets扩展点 15 1.3.4 menubarPath属性 23 1.3.5 groupMarker标记 26 1.3.6 ...

    金蝶K3 V14.2 BOS 插件开发手册.pdf

    概述 概述 为了实现客户个性化的需求和保持 K/3 BOS 架构的开放性,K/3 BOS 提供了插件编程,有效的扩展了 K/3 BOS 平台,K/3 BOS 插件编程是通过 K3ClassEvents 对象代理实现的。 K/3 BOS 提供了基于 COM 和.Net 两...

    discuz X2插件开发手册

    • 插件接口概述 • 参数读取与缓存控制 • 页面嵌入模块开发 • 特殊主题模块开发 • 扩展项目模块开发 • 第三方DIY模块拓展类的开发 • 第三方拓展类的开发 • CSS 继承规范 • 插件安装、卸载、升级脚本的设计 ...

    插件开发简介

    Eclipse插件开发简介 SWT概述 SWT/JFace的事件模型 常用插件扩展点

    RIA应用开发:8-jQuery插件概述.ppt

    RIA应用开发:8-jQuery插件概述.ppt

    细细品味C#(Office插件开发)

    6.2.1 VSTO概述.............................................................................................................75 6.2.2 Excel对象模型..........................................................

    CAD二次开发工具概述

    CAD二次开发工具概述,CAD二次开发

    Eclipse 插件入门开发教程

    没有任何插件开发经验的也能看懂。 第一章 Eclipse插件概述............................................... 一、Eclipse概述..................................................... 二、Eclipse插件(plug-in)...

    Discuz! 插件开发手册

    开始编写论坛插件,您应当首先对插件实现的流程有一个... 版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等等。 将插件提供给他人,或自己使用,根据使用者反馈,对插件进行完善。插件实现流程至此结束。

    eclipse插件开发,第一部分,前16章节----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    01第一篇 开发基础(封面).pdf 02目录.pdf 03第1章 Eclipse平台简介.pdf ... 13 第10章 开发第一个插件项目.pdf 14 第11章 操作(Actions).pdf 15 第12章 视图(views).pdf 16 第13章 编辑器(Editors).pdf

    金蝶K3 10.4BOS插件开发手册

    概述: 为了实现客户个性化的需求和保持K/3 BOS架构的开放性,K/3 BOS提供了插件编程,有效的扩展了K/3 BOS平台,K/3 BOS插件编程是通过K3ClassEvents对象代理实现的。 K/3 BOS提供ListEvents、BaseClassEvent...

    Eclipse插件开发指南 pdf

    PHP 教程,Eclipse Eclipse插件开发指南 pdf,  第1 章 Eclipse 概述  1.1 Eclipse 简介  1.1.1 Eclipse 的历史  1.1.2 Eclipse 的优势与技术特征  1.2 安装Eclipse  1.2.1 安装的软硬件环境要求  1.2.2 安装...

    vim-android, 用于android开发的Vim插件.zip

    vim-android, 用于android开发的Vim插件 vim使用vim为Android开发。概述这个设置中包含三个vim脚本。 这些脚本包括:SuperTabGitHubVim.orgSuperTab允许我们与tab键进行自动完成。snipMateGitHubVim

    Eclipse插件开发之新手入门

    现在在Internet上已经可以见到不少的Eclipse插件开发的入门文章,这里我写本文的目的主要是将我自己的体会和最开始的学习告诉给大家。 同时也希望本文能使用最为简单的方法来让大家了解开发Eclipse插件的基础。需要...

    Nacos2.2版本数据库适配插件.zip

    ## 三、其他数据库插件开发 可参考nacos-postgresql-datasource-plugin-ext工程,新创建Maven项目,实现AbstractDatabaseDialect类,重写相关的分页操作逻辑与方法,并创建相应的mapper实现,减少了适配的成本。 ...

    CELL ASP报表插件

    Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 · 具备Cell组件的所有特色...

Global site tag (gtag.js) - Google Analytics