自己动手写开发工具--基于Eclipse插件开发
### 自己动手写开发工具——基于Eclipse插件开发 #### 一、Eclipse插件开发概述 **Eclipse**是一款流行的开源集成开发环境(IDE),支持多种编程语言,特别是Java开发。它不仅是一个强大的开发工具,还拥有高度可扩展性,这主要得益于其插件机制。本书旨在为读者提供一套完整的Eclipse插件开发指南,帮助读者从零开始学习并最终能够开发出满足个性化需求的插件。 #### 二、基础知识篇 ##### 2.1 插件安装方法 Eclipse插件可以通过不同的方式进行安装,主要包括: - **直接复制安装**:这是最简单的安装方式,适用于小规模或临时使用的插件。只需将插件的.jar文件或者插件目录复制到Eclipse的plugins目录下即可。 - **Links安装方式**:这种方式更适合于开发阶段,可以在links文件中指定插件的位置,便于更新和调试。 - **Eclipse在线安装方式**:通过Eclipse Marketplace或Update Sites,用户可以从远程服务器下载并安装插件,这种方式更方便快捷,也支持自动更新。 ##### 2.2 内置JUnit插件的使用 **JUnit**是Eclipse内置的单元测试框架插件。通过JUnit插件,开发者可以方便地编写和执行单元测试用例,提高代码质量。本书详细介绍了如何使用JUnit插件来进行测试用例的设计与执行。 ##### 2.3 可视化GUI设计插件——VisualEditor - **安装**: 介绍了如何安装VisualEditor插件,使用户能够直接在Eclipse环境中进行GUI设计。 - **开发登录界面**: 提供了一个具体实例,指导用户如何利用VisualEditor快速创建一个登录界面。 ##### 2.4 Eclipse的反编译插件 - **为什么要反编译**: 讨论了反编译的基本概念及其在软件开发中的应用场景。 - **常用Java反编译器**: 介绍了几种常用的Java反编译工具,如JD-GUI等。 - **反编译不完全的代码查看**: 探讨了如何处理那些无法完全反编译的代码片段。 ##### 2.5 WTP插件使用 **Web Tools Platform (WTP)**插件是Eclipse提供的用于Web开发的强大工具集。本节详细介绍了如何使用WTP插件进行Web应用程序的开发,包括如何创建Web项目、部署应用程序等。 #### 三、插件开发实战篇 ##### 3.1 枚举生成器插件开发案例 - **项目建立**: 指导读者如何在Eclipse中新建一个插件项目。 - **调试方式运行**: 解释了如何在调试模式下运行插件项目,这对于开发过程中的调试非常有帮助。 - **改造EnumGeneratorNewWizardPage类**: - **修改构造函数**: 介绍了如何根据需求修改构造函数。 - **修改createControl方法**: 说明了如何创建用户界面元素。 - **修改initialize方法**: 讲解了如何初始化插件的状态。 - **修改handleBrowse方法**: 演示了如何处理用户的文件浏览操作。 - **修改dialogChanged方法**: 解释了如何响应用户界面的变化。 - **分析updateStatus方法**: 分析了如何根据用户输入更新状态信息。 - **取得界面控件值的方法**: 讲解了如何获取用户界面上各控件的值。 - **开发枚举项编辑向导页**: 介绍了如何实现枚举项的编辑功能。 - **编写代码生成器**: 详细说明了如何编写一个枚举代码生成器。 - **功能演示、打包安装**: 最后介绍了如何演示插件的功能,并将其打包成插件进行安装。 #### 四、进阶技术篇 ##### 4.1 程序界面的基础——SWT/JFace - **SWT的类库结构**: 阐述了SWT的类库结构以及各个类之间的关系。 - **SWT中的资源管理**: 介绍了SWT中资源的管理方法。 - **在非用户线程中访问用户线程的GUI资源**: 解释了如何正确地在非用户线程中更新GUI。 - **访问对话框中的值**: 讲解了如何获取对话框中用户输入的数据。 - **如何知道部件支持哪些style**: 说明了如何判断SWT部件支持哪些样式。 ##### 4.2 SWT疑难点 - **Button部件**: 解释了Button部件的使用方法和注意事项。 - **Text部件**: 介绍了Text部件的特点和使用场景。 - **Tray**: 讨论了如何使用Tray部件实现托盘图标功能。 - **Table**: 说明了Table部件的使用方法。 - **在SWT中显示AWT/Swing对象**: 介绍了如何在SWT应用中嵌入AWT或Swing组件。 ##### 4.3 异步作业调度 介绍了如何使用Eclipse提供的异步作业调度机制来处理耗时任务,提高用户界面的响应速度。 ##### 4.4 对话框 - **信息提示框** - **值输入对话框** - **错误对话框** - **颜色选择对话框** - **字体对话框** - **目录选择对话框** - **文件选择对话框** - **自定义对话框及配置保存与加载** 详细讲解了各种类型的对话框及其使用方法。 ##### 4.5 首选项 介绍了如何设置和使用Eclipse的首选项页面,以实现插件的个性化配置。 ##### 4.6 Eclipse资源API和文件系统 - **资源相关接口的常见方法**: 解释了如何使用Eclipse资源API进行文件操作。 - **方法中force参数的意义**: 介绍了force参数在不同方法中的作用。 - **资源相关接口的方法使用示例**: 提供了具体的使用示例。 - **在Eclipse中没有当前项目**: 讨论了当没有打开项目时如何处理资源操作。 ##### 4.7 Java项目模型 - **类结构**: 介绍了Java项目中的类结构。 - **常用工具类**: 列举了一些常用的工具类。 - **常用技巧**: 分享了一些提高开发效率的小技巧。 - **设定构建路径实战**: 详细介绍了如何设置项目的构建路径。 - **如何研读JDT代码**: 提供了研读Java Development Tools (JDT)代码的方法。 ##### 4.8 插件开发常见的问题 - **InvocationTargetException异常的处理**: 讲解了如何处理这种常见的异常。 - **Adaptable与Extension Object/Interface模式**: 介绍了这两种模式的概念和使用方法。 - **千万不要使用internal包**: 警告开发者不要在插件开发中使用internal包,以避免版本间的兼容性问题。 - **打开视图**: 介绍了如何在Eclipse中打开视图。 - **查找扩展点的实现插件**: 说明了如何定位实现了特定扩展点的插件。 - **项目nature**: 讲解了如何使用项目性质来定制项目的行为。 - **透视图开发**: 介绍了如何开发自定义的透视图。 - **关于工具条路径**: 解释了如何处理工具条路径的问题。 本书从基础知识入手,逐步深入到实战案例和技术细节,旨在为读者提供全面的Eclipse插件开发指南。无论你是初学者还是有一定经验的开发者,都能从中获得有价值的信息和启示。
































- 粉丝: 311
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 毕设&课设:智慧型报告厅——我的毕业设计项目.zip
- 毕设&课设:智慧校园之家长子系统.,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序.zip
- 中国软件杯赛事中的计算机视觉前端框架
- 【自然语言处理】基于中文分词的文本相似度动态规划算法优化:高效准确的论文防抄袭系统设计与实现(论文复现含详细代码及解释)
- 这篇文章详细介绍了针对室内3D物体检测的主动学习框架,旨在解决室内场景下3D物体检测面临的独特挑战,包括样本少、类别多、类别不平衡严重以及场景类型和类内差异大的问题(论文复现含详细代码及解释)
- 【电力电子与控制工程】基于准PR+改进重复控制的光伏逆变器谐波抑制与动态响应优化:复合控制策略的MATLAB仿真及硬件实现(论文复现含详细代码及解释)
- 机器学习与深度学习 Python实现基于PSO-Transformer粒子群优化算法(PSO)优化Transformer编码器进行多特征分类预测的详细项目实例(含完整的程序,GUI设计和代码详解)
- 【神经网络同步与稳定性】几类比例时滞神经网络的同步性和稳定性研究:理论分析、MATLAB代码复现及应用示例(论文复现含详细代码及解释)
- 详细研究了交错并联Buck变换器的工作原理、性能优势及其仿真实现(论文复现含详细代码及解释)
- 相似性搜索及其应用进展
- 深度学习与计算机视觉:从入门到精通之路详解
- 电力电子交错并联双向Buck/Boost集成LLC谐振型三端口直流变换器设计与仿真:新能源微电网高效功率转换系统(论文复现含详细代码及解释)
- 电力电子交错并联型光伏储能双向DC-DC变换器研究:解决电流不均与提高系统稳定性(论文复现含详细代码及解释)
- 变化检测-基于全卷积孪生网络实现的变化检测算法-附项目源码-优质项目源码.zip
- 基于计算机视觉技术的辅助驾驶软件杯项目
- 2019 年度广东工业大学计算机视觉课程作业


