Eclipse插件开发2-第一个插件

(1)新建一个插件工程



 (2)插件的相关信息



 

 ID:插件的ID

VERSION:插件的版本

NAME:插件的名字

VENDOR:插件开发者的信息

ACTIVATOR:插件的激活类,管理插件生命周期,这里我们需要勾选Generator为我们自动创建一个插件激活类

以及YES 或者NO选择是否为富客户端RCP工程,这里选择NO

(3)创建Hello World模板



 我们学习任何语言都是以Hello world开始的 eclipse也为我们提供了Hello  world插件模板

(4)插件的相关信息设置



 包名、操作类、提示信息

(5)点击完成



 因为我们选择了Hello world 模板创建插件,eclipse为我们创建了插件要用到的图片,源文件等等

点击plugin.xml选择manifest.mf选项,可以看到如下信息:



 

      Name 是我们之前设置的插件名字

  SymblicName 是我们插件的包名

  version 是插件的版本

  Activator 是插件的激活类

  Vendor 是插件开发者的信息

  Bundle 是插件以来的库

       Require-Bundle插件依赖项

       运行的环境以及懒加载

打开plugin.xml项



 

 共4个extension元素,分别对应了EXTENSION选项的4个依赖



 第一个extensions  扩展自org.eclipse.ui.commands 代表一个命令 子元素category是命令的分类command描述命令的ID NAME CATEGORY(属于哪个分类)

第二个extensions 扩展自org.eclipse.ui.handlers 代表操作 子元素handler 包含了这个操作的命令ID(这里是第一个extensions 元素的command元素的id)和对应的操作类

第三个ectensions 扩展自org.eclipse.ui.bindings 是给COMMANID增加快捷键  M1+6代表了当按下快捷键Ctry+6时也会执行相应的命令、当然M2就是Shift ,这里加个额外的补充  如果你想让命令快捷键只 对某个编辑器或者试图有作用 那么可以扩展org.eclipse.ui.contexts扩展点

<extension
           
point="org.eclipse.ui.contexts">
        
<context
              
id="viewcommand.testcontext"
              name
="ViewContext"
              parentId
="org.eclipse.ui.contexts.window">
        
</context>
</extension>

你需要把 当前org.eclipse.ui.bindings扩展下面的contextid改为自己定义的viewcommand.testcontext,并且在相应的视图类(createControl方法) 或 编辑器的init中加上以下代码

IContextService contextService = 
(IContextService) getSite().getService(IContextService.
class);
contextService.activateContext(
"viewmenu.testcontext");

第四个extension扩展自org.eclipse.ui.menus菜单插件 包括了2个menuContribution  第一个是代表主菜单的 locationURI="menu:org.eclipse.ui.main.menu?after=additions"   menu是菜单的意思,后面跟着主菜单ID 和after=additions(代表该菜单出现在指定菜单的位置)。locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"这个同样意思就是放到工具栏中  其实扩展方式有很多种,这里采用的是Commands 方式,其他剩余的信息就是新建的菜单和工具栏绑定的命令ID以及图片资源等等。

(6)运行插件

点击运行图标或者点击项目右键run  as 记得以application方式运行 就可以看见又出现了一个eclipse 可以看到菜单Sample Menu和工具栏中多了一项 很小的eclipse图标点击或者按快捷键盘ctry+6就会弹出我们设置的提示信息了



 

猜你喜欢

转载自zrgzrgzrgzrg.iteye.com/blog/2274213