Eclipse插件开发总结(第二天)


怎么感觉周末比上班还忙呢。昨天寝室哥们公司看看,然后到浙大两个校区逛了一圈。吃了两顿川菜。味道还是相当的不错。然后一天就结束了。今天早上起床已经快11点了。本来想约个朋友去好好吃一顿,结果没约到,很失望。索性就叫了外卖,等外卖的时间玩了把dota,然后杀的相当的爽。下午打了4个小时球,回来吃了饭洗澡洗完衣服然后差不多就到现在了。。。。。。好啰嗦哦。


总算有时间来继续总结这几天的学习了。把我现在做的分两部分来总结一下吧:

一 :开发了一个向导自动生成模板文件。当然是在<extensionpoint="org.eclipse.ui.newWizards">这个扩展点开始了。

  1. 在plugin.xml里newWizards扩展点下配置好category(在eclipse->new下面的目录)和wizard(指明category、class、name等)。

  2. 实现两个类:Wizard和WizardPage类。从名字上就很好理解类的作用了。一个负责功能,一个负责界面。这里WizardPage可以有两种实现方式:

    a,继承org.eclipse.jface.wizard.WizardPage这样得到的是:b,继承org.eclipse.ui.dialogs.WizardNewFileCreationPage得到的是:

  3. 实现一个editor。<extension point="org.eclipse.ui.editors">。继承MultiPageEditorPart实现多页编辑器。

今天没有写作心情呀。。。下次补上

需求:

实现一个符合ServiceConfigSchema.xsdService-Config.xml文件的可视化编辑器。

Service-Config.xml的内容大概如下:

<?xml version="1.0" encoding="UTF-8" ?>

<tns:service-config

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://iservice.hundsun.com/schema ServiceConfigSchema.xsd"

xmlns:tns="http://iservice.hundsun.com/schema">

<service-mappings>

<service service="fetchAllRecords"

type="com.hs.se.dummy.services.DummyService"

path="/dummy/fetchAllRecords">

<description>

Fetch all records from sample table

</description>

<param name=”” type=”” />

<result name="resultBOList" type="java.util.List"></result>

</service>

</service-mapping>

<include file=”” />

</tns:service-config>

说明:

1. 根节点tns:service-config下有一个Service-mapping节点、0或多个include节点。

2. Service-mapping节点下有0个或多个service节点。

3. 每个Service节点有三个属性:Servicetypepath和一个Description子节点、0或多个param子节点、一个result子节点。

4. 每个param节点有两个属性:name type

5. Result节点有两个属性:nametype

6. Include的节点有一个属性:file

功能:

1. 可视化的显示Service-config.xml的信息。

2. IncludeServiceparam实现列表显示。

3. 其他信息实现表单可视化编辑。

概要设计:

1. 为了在没有可用service-config.xml文件的情况下用户能够很容易的创建符合标准的配置文件。需要实现一个创建新文件的向导。而eclipse插件新文件向导扩展点可以实现这个功能。

2. 为了能同时满足喜欢直接编写xml文件的用户和喜欢可视化编辑xml的用户。应该创建一个两页的编辑器。用户可以在两种编辑器之间切换。两个编辑器的内容要实现同步。

详细设计:

1. 根据service-config.xml的内容创建相应的javaBean

2. FileHandler类实现javaBeanxml文件之间的相互转换。

3. 向导创建文件首先从FileHandler得到文件的初始化内容。将文件写入磁盘既完成了向导的创建过程。

4. 编辑器打开文件首先从父类EditorPart里通过getEditorInput方法得到输入文件的内容。

5. 检查输入文件的namespace是否是符合要求的xml文档。如果不是则弹出对话框其实用户编辑的文件类型不正确。

6. 将得到的xml内容通过FileHandlerxmlToBean方法装载到相应的JavaBean里。

7. JavaBean的内容填入可视化界面相应的地方。

8. 当界面有修改的时候。调用FilehandlermodelToXml方法将JavaBean转化为xml并通过父类Documentset方法将内容写入文本编辑器。

9. 当用户切换编辑器的时候确保两个编辑器的内容同步。

10. 当用户修改完毕保存文件的时候将文件保存。

代码说明:

(详见代码注释说明)

优质内容筛选与推荐>>
1、log4net配置文档
2、动态添加或减少文本框,并获取文本框值
3、写了个各种消息框的类
4、Mustache 使用心得总结
5、春天到了


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号