Chinaunix首页 | 论坛 | 博客
  • 博客访问: 584346
  • 博文数量: 70
  • 博客积分: 3736
  • 博客等级: 中校
  • 技术积分: 1728
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-08 09:15
文章分类
文章存档

2014年(1)

2012年(21)

2011年(7)

2010年(28)

2009年(13)

分类: LINUX

2011-12-30 15:17:45

以sample holloworld工程为例子:
plugin.xml文件

   
         point="org.eclipse.ui.actionSets">
//指定了扩展点的名称
     
            label="Sample Action Set"
            visible="true"
            id="cn.sf.amateras.sample.actionSet">
         
               label="Sample &Menu"
               id="sampleMenu">
           
                  name="sampleGroup">
           
         
         
               label="&Sample Action"
               icon="icons/sample.gif"
               class="cn.sf.amateras.sample.actions.SampleAction"
//class属性指定了cn.sf.amateras.sample.actions.SampleAction类作为响应菜单或者工具栏按钮的action类
               tooltip="Hello, Eclipse world"
               menubarPath="sampleMenu/sampleGroup"
               toolbarPath="sampleGroup"
               id="cn.sf.amateras.sample.actions.SampleAction">
         
     
   
   
         point="org.eclipse.ui.actionSets">
     
            id="cn.sf.amateras.sample.actionSet2"
            label="label">
     
   

cn.sf.amateras.sample.actions里的SampleAction类(在SampleAction.jave文件中)内容如下:
package cn.sf.amateras.sample.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.jface.dialogs.MessageDialog;

public class SampleAction implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
public SampleAction() {
}
public void run(IAction action) {
MessageDialog.openInformation(
window.getShell(),
"Sample",
"Hello, Eclipse world");
}
//run()方法内记录了action执行时的处理
public void selectionChanged(IAction action, ISelection selection) {
}
public void dispose() {
}
public void init(IWorkbenchWindow window) {
this.window = window;
}
}


eclipse插件开发流程 
回顾我学习eclipse插件开发流程, 总结出以下一个流程, 希望能给大家借鉴。 
想要学习eclipse的插件开发 
1。 首先应该下载eclipse2.1.2(不建议使用eclipse3.0学习)和它对应的中文语言包 
2。 应该必须对eclipse本身的使用和结构有一个很好的了解, 最好是好好的看看帮助文件看他提供了那些特性,还有它已有的功能和视图都是做什么用处的。  
    这样做的好处是可以在自己开发的时候找到参照物, 而且对于eclipse本身提供的基础插件一般都有扩展接口, 当你在开发的时候需要扩展功能的时候, 也对其有所了解。比如说, 我在开发“新建一个自己定义的文件的wizard的时候”, 我就参考了eclipse本身新建java文件时的程序。在我一个试图中, 我希望用户点击“内容”时,在属性视图中出现这个“内容”的属性, 所以我就使用了属性视图提供的接口把“内容”的属性传递给他。 
   重点:了解eclipse的最好方法是,使用和Workbench User Guide, 因为eclipse中文文档翻译的特别好, 所以看它的帮助文件是学习的最好方法 

3。正是开始学习插件的开发, 这首先要做的还是阅读文档, 这里的文档主要还是eclipse的帮助文件是PDE Guide和Platform Plug-in Developer Guide, 还后需要结合的是一些事件。 
      eclipse为了协助插件开发, 专门提供了支持插件开发的插件,这个就是PDE, 学习pde的首先目的是了解, pde的功能和提供那些支持, 如果你能通过阅读pde guide配置和建立你的第一个插件(新建并测试运行成功即可)就行了, 不需要在越多更多的内容, 如果你还有时间可以粗略的阅读一下, 以后发生问题, 知道在那里插件资料就好了。 
     Platform Plug-in Developer Guide(下面开始简称PPDG)是整个插件开发中最重要的资料, 不用到google上去查询了,这个帮助提供了几乎所有的资料。 PPDG对整个eclipse的结构和基础知识做了详细的介绍, 在阅读PPDG, 首先要了解eclipse的整体构架和构成它的基础元素(比如说视图,编辑器等等),在结合你对eclipse本身的使用, 首先对eclipse的插件在感性上有个认识, 在心里也有一个大体的概念,这时候你可以在心里构思一个自己想要做的插件,接口对eclipse的架构和基础元素的了解, 描述出它的样子和可能会有的元素, 比如说, 是不是有个视图, 有一个编辑器等等。 然后在eclipse找到参照物。 
      建议:把PPDG的所有文档从头到尾阅读一遍到两遍。我自己读了有两遍多 
      说明:为什么参照物这么重要呢? 在eclipse中虽然他的文档已经够详细了, 但是对于一些细节的编程上的接口等等, 它不一定能说清楚, 所以你必须找到参照物, 这样你可以很容易的查找和阅读它的源代码, 知道如何去做。 其实在对eclipse插件开发有了详细的了解并开始编写插件以后, 阅读源代码就代替了文档。 
      在越多PPDG的时候 就一定要开始编写自己的插件了, 在PPDG中有一个HelloWorld的示例插件, 你可以试着完成。其实你在新建插件的时候, 在新建插件Wizard中就提供了相应的示例, 你可以通过创建这些示例来建立初步的认识, 并试着修改它的源代码, 我的第一个插件就是这样做出来的。 

4。 高级插件功能的开发, 你就必须自己阅读源代码和其他资料了 
from:
阅读(2451) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~