1. 研究目的与意义
Eclipse是一个开放的,通用的,可扩展的集成开发环境,它是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的,具有商业品质的工业平台。
Eclipse除了运行时的内核之外,Eclipse中所有的功能都是由插件提供。插件是Eclipse平台功能的最小单元,可单独开发和提交。
一个软件项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异。且不说会存在多个人同时开发同一模块的情况,即使是分工十分明晰的,等到要整合代码的时候也有够头疼的了。大多数情况下,并非程序中有复杂的算法或是复杂的逻辑,而是去读别人的代码实在是一件痛苦的事情。统一的风格使得代码可读性大大提高了,人们看到任何一段代码都会觉得异常熟悉。显然的,规范的代码在团队的合作开发中是非常有益而且必要的。此外随着我们项目经验的累积,会越来越重视后期维护的成本。而开发过程中的代码质量直接影响着维护的成本。因此,我们不得不从开发时便小心翼翼。规范的代码大大提高了程序的可读性,几乎所有的程序员都曾做过维护的工作,不用多说,可读性高的代码维护成本必然会大大降低。
2. 课题关键问题和重难点
关键问题主要是以下两个方面:
在我学习期间,对于Java语言的程序设计不是很了解,基础知识学习的不够扎实,对于Eclipse平台接触的也不是很多。本次的课题是一个Eclipse代码格式化插件的设计与实现,我对于Eclipse插件的开发,知之甚少,所以我会通过图书馆借阅书籍和网上学习的方式,深入学习java知识,掌握java开发技术:Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解等等。通过这些学习使我能够基本掌握java程序的开发设计。
深入了解Eclipse平台:Eclispe 平台本身既是一个开发平台,也是一个运行平台。Eclipse 平台的目标不仅仅是提供一个IDE, 还提供了一个插件开发环境,该环境使得开发人员可以根据需要随时在开发环境中添加新的插件,从而能够轻松构建与Eclipse 环境无缝集成的。进一步深入了解Eclipse平台体系结构和Eclipse插件体系结构,为插件开发做好准备,从而解决插件要实现的代码美化功能和自定义模板功能。
3. 国内外研究现状(文献综述)
现在软件的生命周期越来越短,对软件功能的要求越来越强,需求的变化也越来越快。一个软件的可扩展性将很大程度决定了该软件的生命力。
近年来,随着软件插件技术的不断演进和成熟,插件应用技术已经应用于众多软件开发领域,并且这已经成为一种软件应用扩展的趋势,而在众多插件技术应用中,唯有Eclipse这种开源平台,将其发挥的淋漓尽致。Eclipse是一个开源软件开发项目,其主要任务是为开发高集成性工具提供一个健壮的、功能齐全的平台。
Eclipse从推出到现在一直都是非常成功的,已经成为主流的开发平台。它的成功源自Eclipse 平台的各个项目,即Eclipse平台的插件。Eclipse的内核很小, 而其他的功能都是基于这个内核上的插件。例如:它的图形API(称为SWT/JFace)、Java 开发环境插件(简称JDT)、插件开发环境(简称PDE)等都是基于插件提供的。插件是Eclipse 平台功能的最小单元,可以单独开发和提交。一些小的工具通常编写为单个插件, 而一个复杂的工具通常按功能划分为多个插件开发。除了平台运行时( runtime) 的小内核外, 所有的Eclipse平台功能都是通过插件实现的。插件的本质是在不修改程序主体的情况下增强软件的功能。通常一个插件就是一个新的功能。插件在系统已经存在的基础上安装一个新功能时不需要更改整个软件的结构, 只需要将新功能文件安装到软件中就可以了, 而不会影响原有的功能。插件实现了不同功能模块的无缝结合。也就是说, 使用插件技术更易于实现一个庞大复杂的软件。插件的接口是公开的, 可以让更多的人可以参与软件的开发和维护。因此这特别适合开放源代码软件项目的开发。
4. 研究方案
1.Eclipse的插件机制介绍:
Eclipse本身就是基于插件机制,插件自身可以对其他插件进行扩展,插件本身定义了扩展点,需要为插件添加新功能时就可以利用扩展点。在扩展点基础上可以扩展出插件,而插件又可以有新的扩展点,插件相互连接就是通过扩展点实现的。
扩展功能要按照扩展点(ExtensionPoint)定义的规范进行明确声明,Eclipse通过定义扩展点可以进行扩展,每个扩展点都有唯一标识符。在程序执行时,扩展和扩展点的连接才被建立,提供扩展点的插件事先并不知道该扩展点实际被扩展了什么行为。
在plugin.xml文件中主要是由extension元素声明扩展,下面给出plugin.xml文件样例:
......
Eclipse平台提供的扩展点有:增加菜单项、增加视图、增加编辑器等。
RCP应用程序启动的过程中,eclipse会寻找扩展点"org.eclipse.core.runtime.application" 对应的类,然后这个类被加载运行。在这个类中,创建一个Display,创建并运行一个Workbench,通过WorkbenchAdvisor配置这个Workbench,WorkbenchAdvisor又是通过WorkbenchWindowAdvisor来实现界面的显示的,然后在这个类里面实现菜单、工具栏等。
2.Eclipse插件开发环境配置:
本次开发插件使用win7操作系统,Eclipse平台和Java程序设计语言,最后使用word文档编写设计报告(论文)。
3.代码格式化的实现:
代码格式化算法主要通过JDK提供的文件操作,实现对文件内容格式的重构,对于特殊的JAVA文件,格式化之后还需要进行重新编译, 这里可以使用JAVA的反射机制。
4.方案可行性:
插件开发流程:
(1):创建Eclipse创建工程,项目名称以及项目配置。
(2):开发插件,编写插件代码,并测试插件效果。
(3):发布插件,创建打包并发布。
根据现有软硬件设施,以及前期收集到的文献资料和一定的java编程能力,按照插件开发流程,是可以制作出符合需求的Eclipse插件。因此方案是可行的。
5. 工作计划
第1周:查看任务书并根据老师所下达的任务书查找收集有关插件开发的期刊,书籍和论文。
第2周:整理收集到的资料并开始准备外文论文的翻译工作,完成外文翻译并交到导师处审核。
第3周:整理并分类收集到的资料,阅读分析所得到的资料,着手准备开题报告的撰写。
以上是毕业论文开题报告,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。