Eclipse插件开发指南
[计算机软件及应用]Elipse插件开发手册
![[计算机软件及应用]Elipse插件开发手册](https://img.taocdn.com/s3/m/d3b05adcaef8941ea76e05de.png)
E l i p s e开发指南目录第1章第6章SWT概述 (17)1.1 SWT简介 (17)1.1.1 使用用向导建立一个SWT/JFace Java项目 (18)1.1.2 导入SWT的原生库 (19)1.1.3 新建一个SWT类文件 (21)1.1.4 在主窗口加入一个文本框组件 (22)1.1.5 运行HelloWorld.java (24)第2章第7章SWT/JFace的事件模型 (25)2.1事件的四种写法 (25)2.1.1 匿名内部类写法 (26)2.1.2 命名内部类写法 (26)2.1.3 外部类写法 (27)2.1.4 实现监听接口的写法 (27)2.1.5 总结 (28)2.2 7.2 常用事件介绍 (28)2.3 在事件代码中如何访问类中的变量 (29)2.3.1 访问类中的变量的三种方法 (29)2.3.2 Java中变量的称法和说明 (30)2.4 本章小结 (31)第3章第9章Eclipse的J2EE开发 (31)3.1 WEB环境的搭建(V0010) (31)3.1.1 下载CVS版本注意事项 (31)3.1.2 Tomcat的下载与安装 (32)3.1.3 Lomboz的下载与安装 (35)3.1.4 Lomboz的环境设置 (36)3.1.5 JSP的HelloWorld (37)3.1.6 如何不必发布就可以在IE上显示WEB修改效果 (42)3.1.7 配置Tomcat的数据库连接池 (43)第4章第17章Eclipse插件开发起步 (46)4.1 Eclipse插件开发简介 (46)4.2 插件的Hello World (47)第5章第18章常用插件扩展点 (55)第6章第21章项目打包与发行 (58)6.1应用程序项目的打包与发行 (58)6.1.1 简介 (58)6.1.2 7.1.2 打包的具体操作步骤 (59)6.1.3 7.1.3 其他得到JAR包的方式 (64)6.1.4 7.1.4 让用户电脑不必安装JRE环境 (67)6.1.5 7.1.5 更进一步的完善 (67)第7章插件项目实战篇 (76)7.1 前期准备工作 (76)7.2 面向对象分析和数据表创建(版本V0010) (76)7.2.1 8.2.1 界面效果及实现功能 (76)7.2.2 8.2.2 面向对象的分析与设计 (77)<<Eclipse开发指南>>的最终目录出版日期估计是4-5月份第1章Eclipse简介 (8)1.1 Eclipse的历史 (8)1.2 Eclipse的体系结构 (8)1.3 优秀的图形API:SWT/JFace. 91.4 开放式、可扩展的IDE. 101.5 全中文化的帮助文件 (10)1.6 Eclipse是开放源代码的 (11)1.7 本章小结 (11)第2章安装Eclipse及多国语言包 (12)2.1 安装JDK. 122.2 安装Eclipse. 122.3 Eclipse多国语言包的安装 (14)2.4 本章小结 (16)第3章安装SWT Designer 173.1 下载 (17)3.2 安装 (17)3.3 注册激活 (18)3.4 其他常用插件 (20)3.5 本章小结 (21)第4章Eclipse的集成开发环境 (22)4.1 Eclipse界面简介 (22)4.2 创建Java项目并运行 (23)4.3 自定义注释及代码格式化 (27)4.3.1 自定义注释 (27)4.3.2 代码格式化 (29)4.3.3 实践建议 (30)4.4 使用Eclipse的重构功能 (30)4.5 任务标记 (31)4.5.1 任务标记的设定 (31)4.5.2 过滤任务标记 (32)4.6 在编程时随意查看JDK、Eclipse源代码 (33)4.6.1 查看JDK源代码 (33)4.6.2 查看Eclipse的源代码 (34)4.7 在代码中搜索 (36)4.8 打开类型层次结构 (37)4.9 调试器的使用 (38)4.10 常用快捷键 (39)4.11 本章小结 (40)第5章Eclipse中CVS的使用 (41)5.1 CVS简介 (41)5.2 CVS服务器端的安装与配置 (41)5.3 CVS客户端的配置 (43)5.4 文件提交与更新的方法 (48)5.4.1 CVS和VSS的不同之处 (48)5.4.2 文件的提交和更新 (48)5.4.3 解决文件提交的冲突 (50)5.4.4 如何忽略掉不想提交的文件 (51)5.4.5 实践建议 (52)5.5 在CVS上为软件打包一个版本 (52)5.6 将项目替换成CVS上的其他版本 (53)5.7 修改过去版本的BUG.. 545.8 本章小结 (55)第6章SWT概述 (56)6.1 SWT简介 (56)6.2 SWT中的包 (56)6.3 用SWT Designer写一个Hello World. 576.4 关于SWT/JFace例程的说明 (64)6.5 实践建议 (65)6.6 本章小结 (65)第7章SWT/JFace的事件模型 (66)7.1 事件的四种写法 (66)7.2 常用事件介绍 (68)7.3 在事件代码中如何访问类中的变量 (68)7.3.1 访问类中的变量的三种方法 (68)7.3.2 Java中变量的称法和说明 (69)7.4 本章小结 (70)第8章SWT常用组件 (71)8.1 按钮、复选框、单选框(Button类) (71)8.2 组件的常用方法 (72)8.3 标签(Label类) (73)8.4 文本框(Text类) (74)8.5 下拉框(Combo类) (76)8.6 列表框(List类) (78)8.7 本章小结 (79)第9章容器类 (80)9.1 面板(Composite类) (80)9.2 分组框(Group类) (80)9.3 选项卡(TabFolder类、TabItem类) (81)9.4 分割窗(SashForm类) (83)9.5 带滚动条的面板(ScrolledComposite类) (84)9.6 本章小结 (86)第10章布局管理器 (87)10.1 布局管理器简介 (87)10.2 充满式(FillLayout类) (87)10.3 行列式(RowLayout类) (89)10.4 网格式(GridLayout类) (92)10.5 堆栈式(StackLayout类) (98)10.6 表格式(FormLayout类) (100)10.7 布局的综合实例 (103)10.8 本章小结 (108)第11章其他SWT组件 (109)11.1 工具栏(ToolBar类、ToolItem类、ViewForm类) (109)11.2 动态工具栏(CoolBar类、CoolItem类) (110)11.3 菜单(Menu类,MenuItem类) (113)11.4 滑动条(Slider类)、刻度条(Scale类)、进度条(ProgressBar类) (115)11.5 画布(Canvas类) (116)11.6 表格(Table类) (118)11.7 树(Tree类) (119)11.8 表格型树(TableTree类) (120)11.9 本章小结 (122)第12章图像 (123)12.1 图像(Image类) (123)12.2 图像(Image类)存在的问题 (124)12.3 图像描述符(ImageDescriptor类) (124)12.4 图像注册表(ImageRegistry类) (125)12.5 本章小结 (126)第13章SWT的线程 (127)13.1 SWT线程简介 (127)13.2 一个SWT线程的实例 (127)13.3 对11.4节进度条实例的改进 (131)13.4 本章小结 (133)第14章表格(TableViewer类) (134)14.1 前言 (134)14.2 让数据在TableViewer中显示出来 (134)14.3 TableViewer响应鼠标事件 (140)14.4 加上右键菜单(Action类、ActionGroup类、MenuManager类) 14114.5 TableViewer排序(ViewerSorter类) (143)14.6 加上工具栏(ToolBarManager类) (145)14.7 创建一个带复选框的TableViewer(CheckboxTableViewer类) (149)14.8 单击修改表格单元格值(CellEditor类、ICellModifier接口) (151)14.9 其他使用技巧 (154)14.10 本章小结 (155)第15章树(TreeViewer类)和列表(ListViewer类) (156)15.1 树简介 (156)15.2 前期准备:实例所用数据模型说明 (156)15.3 让数据在树中显示出来 (158)15.4 给树加上右键菜单及取得结点的值 (163)15.5 树结点的展开、收缩、新增、删除、修改 (164)15.6 ListViewer简介 (168)15.7 ListViewer的实例 (168)15.8 ListViewer常用方法 (169)15.9 本章小结 (169)第16章对话框 (170)16.1 对话框(Dialog类) (170)16.1.1 对话框简介 (170)16.1.2 信息提示框(MessageDialog类) (171)16.1.3 输入值对话框(InputDialog类) (172)16.1.4 自定义对话框(Dialog类) (173)16.1.5 对话框的设置与取值 (177)16.1.6 带提示栏的对话框(TitleAreaDialog类) (178)16.2 向导式对话框(WizardDialog类) (179)16.2.1 向导式对话框简介 (179)16.2.2 向导式对话框实例 (180)16.2.3 向导式对话框使用的注意事项 (184)16.3 进度条对话框(ProgressMonitorDialog类) (185)16.3.1 进度条对话框简介 (185)16.3.2 进度条对话框实例 (185)16.4 其他类型对话框 (187)16.4.1 信息提示框(MessageBox类) (187)16.4.2 颜色选择对话框(ColorDialog类) (188)16.4.3 字体选择对话框(FontDialog类) (188)16.4.4 打印设置对话框(PrintDialog类) (189)16.4.5 目录选择对话框(DirectoryDialog类) (193)16.4.6 文件选择对话框(FileDialog类) (193)16.5 本章小结 (195)第17章Eclipse插件开发起步 (196)17.1 Eclipse插件开发概述 (196)17.2 插件的Hello World. 19617.2.1 使用向导一步步创建HelloWorld. 19617.2.2 以空白项目为基础创建HelloWorld. 19917.3 本章小节 (203)第18章常用插件扩展点 (204)18.1 加入透视图(perspectives) (204)18.2 在透视图中加入视图(views) 20618.3 在视图之间实现事件监听 (208)18.4 给视图加下拉菜单和按钮 (210)18.5 加入编辑器(editors) 21218.6 编辑器类(EditorPart)方法使用说明 (216)18.7 加入首选项(preferencePages) 21918.8 加入帮助(toc) 22418.9 弹出信息式的帮助(contexts) (226)18.10 本章小结 (228)第19章Eclipse插件的国际化 (229)19.1 国际化简介 (229)19.2 为国际化创建一个插件的“段项目” (229)19.3 类程序的国际化 (231)19.4 plugin.xml的国际化 (236)19.5 其他XML文件的国际化 (237)19.6 使用“外部化字符串”向导 (238)19.7 本章小结 (240)第20章报表:用POI与Excel交互 (241)20.1 POI概述 (241)20.1.1 POI简介 (241)20.1.2 POI的下载与安装 (241)20.2 将数据导出成Excel的实例 (244)20.2.1 创建一个空白的Excel文件 (244)20.2.2 往Excel单元格中写入信息 (244)20.2.3 中文化的问题 (245)20.3 使用式样 (246)20.3.1 日期式样及文字对齐式样 (246)20.3.2 边框式样 (247)20.3.3 背景色及底纹式样 (248)20.3.4 合并单元格 (248)20.3.5 字体式样 (249)20.4 更多的用法 (249)20.4.1 设置页眉页脚 (249)20.4.2 冻结和分割窗 (250)20.4.3 浮动文字框及在表中画图 (250)20.4.4 设置打印的范围 (251)20.4.5 读取及修改Excel 25120.5 本章小结 (252)第21章项目打包与发行 (253)21.1 应用程序项目的打包与发行 (253)21.1.1 简介 (253)21.1.2 打包的具体操作步骤 (253)21.1.3 其他得到JAR包的方式 (257)21.1.4 使用第三方插件对项目打包 (258)21.1.5 让用户电脑不必安装JRE环境 (260)21.1.6 更进一步的完善 (260)21.1.7 打包的其他说明 (262)21.2 插件项目的打包与发行 (263)21.2.1 简介 (263)21.2.2 打包的具体操作步骤 (263)21.2.3 测试打包效果 (265)21.3 用Ant来打包 (266)21.4 本章小结 (271)第22章插件项目实战篇 (272)22.1 前期准备工作 (272)22.1.1 软件开发过程 (272)22.1.2 本章项目开发环境的选择 (273)22.1.3 安装MySQL. 27622.1.4 在Eclipse插件中连接MySQL数据库(版本V0001) (279)22.1.5 解决Java的中文问题 (284)22.1.6 对字符集设置的测试结果 (286)22.2 面向对象分析和数据表创建(版本V0010) (292)22.2.1 界面效果及实现功能 (292)22.2.2 面向对象的分析与设计 (293)22.2.3 创建数据表 (301)22.2.4 给数据表插入数据 (305)22.3 创建项目的主界面框架 (306)22.3.1 前言 (306)22.3.2 创建透视图及主功能视图(版本V0020) (307)22.3.3 创建“功能导航器视图”的树(版本V0020) (310)22.3.4 创建项目的图像注册表(版本V0030) (314)22.4 用户登录、退出功能的实现(版本V0040) (317)22.4.1 实现方案 (317)22.4.2 界面部份的源代码 (318)22.4.3 数据库部份的源代码 (323)22.4.4 小结 (328)22.5 “档案管理”编辑器的实现 (328)22.5.1 前言 (328)22.5.2 编辑器的创建与排序、翻页功能的实现(版本V0050) (328)22.5.3 实现删除用户功能(版本V0060) (339)22.5.4 实现新增用户功能(版本V0060) (341)22.5.5 实现修改用户的功能(版本V0070) (353)22.6 “成绩管理”编辑器的实现(版本V0080) (359)22.6.1 前言 (359)22.6.2 单击结点打开视图 (359)22.6.3 实现搜索视图SearchView.. 36022.6.4 实现“成绩管理”编辑器 (364)22.7 让软件适应多种数据库(版本V0090) (366)22.7.1 前言 (366)22.7.2 解决方案 (367)22.7.3 具体实现的源代码 (367)22.8 首选项的实现(版本V0100) (369)22.8.1 前言 (369)22.8.2 首选项的源代码 (369)22.8.3 将程序中的设置值改成取之于首选项的设置 (374)22.9 本章小结 (374)第23章WEB环境的搭建(V0010) (375)23.1 前言 (375)23.2 Tomcat的下载与安装 (376)23.3 Lomboz的下载与安装 (379)23.4 Lomboz的环境设置 (381)23.5 JSP的HelloWorld. 38223.6 如何不必发布就可以在IE上显示WEB修改效果 (386)23.7 配置Tomcat的数据库连接池 (388)23.8 本章小结 (390)第24章一个纯JSP+JavaBean实例(V0020) (391)24.1 JavaBean的环境配置 (391)24.2 创建JavaBean及数据库层 (391)24.3 编写前台的JSP文件 (393)24.4 本章小结 (398)第25章在Eclipse中使用Struts. 40025.1 前言 (400)25.2 Struts的下载及安装(V0030) (400)25.3 Struts入门实例(V0030) (402)25.3.1 Struts原理简介 (402)25.3.2 用户登录实例 (404)25.4 让Dreamweaver支持struts标签 (410)25.5 struts-config.xml再深入 (412)25.5.1 页面转发 (412)25.5.2 <form-beans>项之动态ActionForm.. 41325.5.3 <action-mappings>项 (413)25.5.4 使用DispatchAction类 (414)25.5.5 使用多个struts-config.xml配置文件 (415)25.6 验证的多种方法(V0040) (416)25.6.1 方法一 (416)25.6.2 方法二 (416)25.7 使用更多的struts标签 (423)25.7.1 获知更多的标签 (423)25.7.2 表单类标签 (423)25.7.3 其他说明 (425)25.8 本章小结 (425)第26章在Eclipse中使用Hibernate. 42626.1 前言 (426)26.2 Hibernate的下载和安装(V0050) (427)26.3 一个简单的Hibernate实例(V0050) (431)26.4 继续深入使用Hibernate(V0060) (435)26.5 实现用户的修改、删除功能(V0070) (440)26.6 解决Tomcat的中文问题(V0070) (446)26.7 Hibernate的自动生成工具 (447)26.8 本章小结 (452)第1章第6章SWT概述在这一章里将把SWT和AWT/SWING做了简单的比较,并以一个HelloWorld的Java应用程序(Application)作为起步,让读者可以快速建立对SWT/JFace的感性认识。
Eclipse开发插件

12 while(!shell.isDisposed()){
while循环不断检查窗口帧是否被关闭
13 if(!display.readAndDispatch())display.sleep();
display管理事件循环,readAndDispatch()方法从系统事件队列读取事件,并将它们
.getLog(Bundle) -------返回指定包的日志
.getProduct() -------返回Eclipse产品信息
.inDebugMode() -------如果Eclipse是运行于调试模式,返回true,当用户指定了
-debug命令行参数是,也返回true
*createImageRegistry()返回该插件的新图像注册表,你可以使用该注册表管理插件经常使用的图像,
该方法的默认实现创建一个空注册表,如果需要,则子类可以覆盖该方法。
*getDialogSettings()返回UI插件的对话框,对话框设置保存工作台坏境中该插件的不同向导和对话框
dialogs
Eclipse
<extension piont="">
org.eclipse.ui.views 视图扩展点
org.eclipse.ui.editors 编辑器扩展点
org.eclipse.ui.newWizards 新建向导扩展点
org.eclipse.ui.actionSets 菜单,工具栏按钮扩展点
Team ------> 提供服务的插件组,这些服务用于集成不同类型的源代码控制管理系统(如CVS)至Eclipse IDE
Help ------> 提供作为Eclipse IDE一部分的Eclipse IDE文档的插件
Eclipse的使用简介及插件开发

Eclipse入门-- Eclipse的使用简介及插件开发-JSP教程(1)eclipse入门-- eclipse的使用简介及插件开发2001 年11 月ibm 宣布捐出了价值4 千万美金的开发软件给开放源码的eclipse 项目。
如此受青睐的eclipse 是什么样子呢,如何使用呢?本文的第一部分会使你对eclipse有一个初步的认识。
并且,eclipse这个号称未来能进行任何语言开发的ide集大成者,又将如何实现它的这一宏伟目标?第二部分介绍的eclipse的插件开发将是其中的关键所在。
eclipse 是替代ibm visual age for java(以下简称ivj)的下一代ide开发环境,但它未来的目标不仅仅是成为专门开发java程序的ide环境,根据eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。
目前,eclipse已经开始提供c语言开发的功能插件。
更难能可贵的是,eclipse 是一个开放源代码的项目,任何人都可以下载eclipse的源代码,并且在此基础上开发自己的功能插件。
也就是说未来只要有人需要,就会有建立在eclipse之上的cobol,perl,python等语言的开发插件出现。
同时可以通过开发新的插件扩展现有插件的功能,比如在现有的java开发环境中加入tomcat服务器插件。
可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是eclipse 的潜力所在。
虽然目前eclipse项目还没有最后完成,但从已有的版本中已经能领略到eclipse 设计主导思想和主要功能特点。
现在就了解eclipse不但能使广大程序员对这款业界期望很高的ide能一睹为快,更为重要的是如果能参加到eclipse项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。
eclipse计划提供多个平台的版本,象windows,linux,solaris,hp-ux和aix,以下只介绍windows版本。
Eclipse简单插件制作过程

Eclipse简单插件制作过程下面是Eclipse的一个简单插件制作过程:Eclipse版本:Eclipse3.2中文版创建Eclipse插件有以下5个步骤:1.创建插件2.创建插件扩展3.创建功能部件4.创建更新站点5.安装和卸载功能部件创建插件(1) 打开插件开发透视图要打开插件开发透视图,请选择窗口-> 打开透视图-> 其他...,然后选择插件开发。
(2) 创建插件要创建插件,请执行下列步骤:从主菜单中选择“文件-> 新建-> 项目...”,并从产生的“新建项目”对话框中选择“插件项目”。
在“项目名称”文本框中输入“com.example.helloworld”。
接受“插件项目”页面上预先装入的缺省值并单击“下一步”,如图1所示。
接受“插件内容”页面上预先装入的缺省值并单击“下一步”,从“可用模板”列表中选择“Hello,World”模板并单击“完成”如图2所示。
图1图2 (3) 修改插件从上一步完成新建项目向导后,将对新项目启动插件编辑器,并显示概述页面。
要修改com.example.helloworld 插件,请执行下列步骤:选择“扩展”选项卡,在“所有扩展”标题下展开“org.eclipse.ui.actionSets”树对话框,展开“样本操作集”树对话框,选择“样本菜单”选项,将“扩展元素详细信息”标题下的“标签”文本框替换为“Hello!”,如图3所示。
选择“所有扩展”标题下的“样本操作”选项,将“扩展元素详细信息”标题下的“标签”文本框替换为“显示Hello World!”,从主菜单中选择“文件-> 保存”。
图3(4) 测试插件要在目标Eclipse 平台中测试Eclipse 插件,请执行下列步骤:选择“概述”选项卡,在“测试”标题下单击“启动Eclipse应用程序”超链接。
注意,新启动的Eclipse平台的主菜单中将出现“Hello!”条目。
从主菜单中选择“Hello! -> 显示Hello World!”,注意,新启动的Eclipse平台中的主工具栏中将出现带有Eclipse徽标的图标,如图4所示。
TongWeb6 0 Eclipse插件使用手册

T o n g T ec h®TongWeb6.0 Eclipse插件使用说明东方通科技目录目录 (2)1.TongWeb6.0 Eclipse插件简介 (4)2.Eclipse插件功能概述 (4)2.1. Eclipse插件基本功能 (4)2.2. 简化应用开发功能 (4)2.3. 创建数据源 (4)2.4. 全局设置 (4)3.TongWeb6.0 Eclipse插件的安装 (5)3.1.安装WTP插件 (5)3.1.1.从Eclipse官网下载 (5)3.1.2.在Eclipse官网进行更新 (5)3.2.安装TongWeb6.0 Eclipse插件 (7)3.3.卸载TongWeb6.0 Eclipse插件 (7)4.TongWeb6.0 Eclipse插件的使用 (7)4.1.在Eclipse中打开或关闭TongWeb6.0 (7)4.1.1.在“Servers”视图中添加TongWeb6.0应用服务器 (7)4.1.2.启动或停止“TongWeb6.0应用服务器” (12)4.1.3.编辑“TongWeb6.0应用服务器” (14)4.2.使用“TongWeb6.0 Eclipse插件”开发工程 (14)4.2.1.创建并编写“企业级应用”工程 (14)4.2.2.创建数据源 (18)4.2.3.创建EJB2.x Session Bean (20)4.2.4.创建JP A工程 (28)4.2.5.开发WebService (34)4.3.部署工程 (44)4.3.1.打包后通过管理控制台或命令行部署 (44)4.3.2.直接将工程部署到TongWeb6.0应用服务器 (44)4.4.在Eclipse中浏览页面 (46)4.5.使用Debug功能 (46)4.6.解部署工程 (47)5.其他选项功能 (47)5.1. 查看应用服务器的基本信息及配置 (47)5.1.1. 基本信息(General Information) (48)5.1.2. 关于部署的配置(Publishing) (48)5.1.3. 超时时间设置(Timeouts) (48)5.2. 手动重部署应用(Publish) (48)5.3. 清理垃圾文件(Clean) (49)5.4. 部署与解部署项目(Add and Remove Projects) (49)5.5. TCP/IP监听功能(Monitoring) (49)5.6. 在Eclipse中查看管理控制台 (51)5.7. 查看应用服务器的属性(Properties) (51)6.全局设置 (51)6.1. Eclipse日志配置 (52)6.2. 详细显示TongWeb6.0的日志信息 (52)6.3. 以多种颜色显示TongWeb6.0的日志信息视图 (52)7.图形化功能 (53)1.TongWeb6.0 Eclipse插件简介Eclipse是一个开放的Java集成开发环境,通过一系列插件的支持可以方便的进行EJB、JSP/Servlet的开发。
Eclipse插件开发之基础篇(3)插件的测试与调试

Eclipse插件开发之基础篇(3)插件的测试与调试1. 使⽤JUnit对插件进⾏测试 Eclipse中已经嵌⼊了JUnit,我们可以使⽤JUnit为插件进⾏单体测试。
⼀般的JUnit是不可以对插件部分(对Eclipse的API依赖的部分)进⾏测试的,但是在PDE环境中使利⽤JUnit对插件进⾏单元测试成为可能。
要想进⾏测试⾸先要添加插件的依赖关系,在插件设定页⾯的[依赖关系(Dependencies)]页⾯点击[增加(Add)]按钮,添加[org.junit(3.8.2)]作为必须插件(图3-1)。
图3-1 增加org.junit插件的依赖关系 接下来,⽣成测试⽤例(TestCase)。
测试⽤例和⼀般的JUnit⽤例相同,继承junit.framework.TestCase。
代码1中的测试⽤例说明了,在⼯作台页⾯中打开⼀个视图,并且确认打开的视图处于激活状态。
代码1 插件测试⽤例的⽰例public class SampleViewTest extends TestCase {public SampleViewTest(String name) throws Exception {//取得当前活动的页⾯IWorkbench workbench = PlatformUI.getWorkbench();IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();IWorkbenchPage page = window.getActivePage();//打开视图page.showView("cn.sf.amateras.sample.views.SampleView");//确认打开的视图处于激活状态IWorkbenchPart activePart = page.getActivePart();assertTrue(activePart instanceof IViewPart);assertEquals("cn.sf.amateras.sample.views.SampleView",activePart.getSite().getId());}} 当前这个测试⽤例可以通过在测试类上点右键[执⾏(Run As)]->[JUnit插件测试(JUnit Plug-in Test)]执⾏。
Eclipse插件开发教程
JDT开发插件—步骤15
选中HelloWorld1,并点击“确定”按钮, Eclipse中将出现HelloWorld1窗口。
Hale Waihona Puke 下面将介绍直接使用插件开发环境开发 插件的实例。
为何需要使用插件开发环境
在Eclipse中使用常用的Java开发环境就 可完成插件的开发,但在插件开发过程 中的每次测试都要将代码打包、发布, 然后再重新启动Eclipse系统。 为了进一步便于进行插件开发,Eclipse 提供了进行插件开发的“插件开发环境 (PDE)”。 PDE本身也是插件。
使用PDE和JDT开发插件的比较
与直接使用Java开发环境相比,使用运 行时工作台方式调试插件,无需安装插 件并启动运行时工作台,从而大大简化 了插件开发的过程。
使用PDE开发插件--步骤8
点击“完成”,完成插件项目的新建。 因为所创建的项目与“插件开发”透视 图相关联,因此将可自动转到“插件开 发”透视图。
使用PDE开发插件--步骤
插件项目生成之后,项目中将会包含一个按默 认方式生成的插HelloWorldPluginPlugin.java文 件。 因为该项目是一个插件项目,所以点击Eclipse 菜单栏中的“运行”按钮旁的下拉箭号,并选 择“运行为”->“运行时工作台”。运行后, 将生成一个和当前Eclipse几乎完全一致的平台, 惟一的差别是在新的Eclipse平台上增加了一个 “Hello,Eclipse world”插件(见下图中的工具 条上的第5个按钮)。
PDE的作用
插件开发环境是一个工具,提供用来自动创建、 处理、调试和部署插件的专门工具,使开发插 件和扩展更方便、有效。 在平台工作台中工作时,PDE可以用来帮助开 发者开发平台插件。 PDE 提供了一组平台扩展添加项(视图、编辑 器和透视图等),它们共同努力使得在工作台 内开发插件的进程更为顺利。
eclipse插件开发入门及常用组件要点
Eclipse插件开发入门.Eclipse最有魅力的地方就是它的插件体系结构。
在这个体系中重要的概念是扩展点(extension points)。
扩展点就是在软件开发过程中暴露出来的接口。
每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。
简介Eclipse 平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数为4 000万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的、可扩展的体系结构。
Eclipse 的价值是它为创建可扩展的集成开发环境提供了一个开放源码平台。
这个平台允许任何人构建与环境和其他工具无缝集成的工具。
工具与Eclipse无缝集成的关键是插件。
除了小型的运行时内核之外,Eclipse中的所有东西都是插件。
从这个角度来讲,所有功能部件都是以同等的方式创建的。
由于有了插件,Eclipse系统的核心部分在启动时要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,在现有插件上还可以再加插件。
开发“Hello,world”插件创建插件最简单的方法是使用Eclipse中专门为开发插件而设计的插件PDE(Plug-in Development Environment)。
PDE 和 Java Development Tooling(JDT)IDE是 Eclipse 的标准扩展。
PDE 提供了一些向导可以帮助创建插件。
下面的“Hello,world”插件将通过PDE进行开发。
下面是创建一个简单插件的操作步骤。
(1)运行Eclipse。
单击Eclipse的“File”→“New”→“Other”菜单项,在弹出的对话框中选择Select对话框左边的Plug-in Development向导。
如图1所示,选择Plug-in Project。
eclipse插件开发-编辑器详解
我们看一下 org.eclipse.ui.part.FileEditorInput 中是如何实现 IEditorInput.exists()接口的:
1 public class FileEditorInput implements IFileEditorInput,IPathEditorInput,IPe
====================================== -->
<extension point="org.eclipse.core.runtime.contentTypes">
<!-- declares a content type for Java Properties files -->
22
return editorReg.getDefaultEditor(file.getName(), contentType);
23 }
上面的代码大致赶了如下两件事情: 1、如果对应的资源设定了一个特定的持久化属性 EDITOR_KEY,则会使用 EDITOR_KEY 属性值所代表的编辑器(说明:有关 Eclipse 资源的属性支持,请参阅其他 文档)。那如果一个资源不在工作区之内,又如何设定 EDITOR_KEY 属性呢??? (~ _~确实没法设定) 2、查找对应的 content type,用户通过 org.eclipse.core.runtime.contentTypes 扩展点来注册自定义的内容类型,在内容类型 中会指定对应的文件扩展名和默认编码,例如 JDT 中注册了如下内容类型(摘自 org.eclipse.jdt.core/plugin.xml):
Eclipse插件开发之基础篇(1)
Eclipse插件开发之基础篇(1)Eclipse插件开发之基础篇(1) 插件开发的基础知识名词翻译有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。
アーキテクチャ=architecture=架构プラットフォーム=platform=平台コンポーネント=component=组件其余的随时补充。
1.Eclipse的架构Eclipse被作为java的IDE(集成开发环境)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。
因此,它采用了可以自由的增加各种功能的插件架构技术。
Eclipse平台的基本架构如图1-1所示。
图1-1 Eclipse的架构在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。
虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在Eclipse3.0的时候才首次引入了OSGi。
OSGi是open services gateway initiative的简称、原本是一种为嵌入式硬件开发的,使网络上的服务提供者和使用者交互(結びつける)的注册服务。
Eclipse使用OSGi来进行插件的管理。
OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。
SWT和JFace提供了用户接口(User Interface)的API。
由于SWT和JFace并不依赖于Eclipse,也有可能被作为类库单独使用。
Eclipse不仅把基本的用户接口作为工作台API(WorkBench API)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(Resource API)的形式也被作为基本API提供出来了。
在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。
从Eclipse平台的角度看,SWT、JFace、工作台的部分就是EclipseRCP(Rich Client Platform)。
EclipseRCP是基于Eclipse的富客户端技术,Eclipse不仅是一个开发工具,也可以作为一个通用的应用程序平台。