`
melord
  • 浏览: 145829 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Eclipse插件开发实例 - native2ascii

阅读更多

摘要

在对Java应用程序进行国际化的时候,需要写对应的国际化资源properties文件,在使用像resourcebundle这样的第三方插件可以很方便的实现我们的要求。但是有时候,想要编辑的并不是properties文件,只是用于查看/查找某些内容。在使用第三方的插件的时候就显得有些繁琐。在这里通过开发一个插件来实现一个即时的native2ascii功能。

 

历史

2010-04-07:完成摘要、功能与部分设计

2010-04-09:完成设计

 

功能

1,将所选内容进行native2ascii输出(unicode)

2,查看unicode内容对应的本地编码给出

3,将某个文件进行native2ascii后输出到另一个文件

4,将某个文件进行native2ascii reverse后输出到另一个文件

 

使用

1,选择一段文本,右键,在弹出菜单中选择unicode tool -> native2ascii,可打开unicode视图

2,选择一个文件,右键,在弹出菜单中选择unicode tool -> native2ascii,按f5刷新当前目录,可看到转换后的文件

 

设计

1,添加一个视图,主要由左,右两个文本框组成,分别显示转码前的输出及转码后的输出

     视图中给workbenchwindow添加一个selectionlister,当变化时,更新左,右文本框内的内容

     视图中添加一个工具项,以决定是native2ascii还是native2ascii reverse

2,注册一个右键级联菜单,当选择的是一段文本(ITextSelection)时可见,包含native2ascii和ascii2native两个子菜单分别实现功能1和功能2

3,注册一个右键菜单,当选择的是一个文件(IFile)时可见,包含native2ascii和ascii2native两个子菜单分别实现功能3和功能4

 

实现

1,新建一个插件工程。

2,使用扩展添加一个View,推荐使用向导生成

3,使用popupMenu添加一个menu和action,推荐使用向导生成

4,使用ui.commands扩展添加两个command,使用ui.menus扩展将command添加到popupMenu中

完整的配置如下:

<plugin> <extension point="org.eclipse.ui.popupMenus"> <objectContribution objectClass="org.eclipse.core.resources.IFile" id="org.melord.pde.unicodetool.popup.unicode"> <menu label="Unicode Tool" path="additions" id="org.melord.pde.unicodetool.menu.popup.unicode"> <separator name="group1"> </separator> </menu> <action label="Native to Ascii" class="org.melord.pde.unicodetool.popup.actions.Native2AsciiAction" menubarPath="org.melord.pde.unicodetool.menu.popup.unicode/group1" id="org.melord.pde.unicodetool.action.native2ascii"> </action> <action class="org.melord.pde.unicodetool.popup.actions.Ascii2NativeAction" id="org.melord.pde.unicodetool.action.ascii2native" label="Ascii to Native" menubarPath="org.melord.pde.unicodetool.menu.popup.unicode/group1"> </action> </objectContribution> </extension> <extension point="org.eclipse.ui.views"> <view class="org.melord.pde.unicodetool.views.UnicodeView" icon="icons/sample.gif" id="org.melord.pde.unicodetool.views.UnicodeView" name="Unicode View"> </view> </extension> <extension point="org.eclipse.ui.commands"> <command defaultHandler="org.melord.pde.unicodetool.handlers.Native2AsciiHandler" id="org.melord.pde.unicodetool.commands.native2ascii" name="Native to Ascii"> </command> <command defaultHandler="org.melord.pde.unicodetool.handlers.Ascii2NativeHandler" id="org.melord.pde.unicodetool.commands.ascii2native" name="Ascii to Native"> </command> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions"> <menu id="org.melord.pde.unicodetool.menus.sampleMenu" label="Unicode Tool" mnemonic="M"> <command commandId="org.melord.pde.unicodetool.commands.native2ascii" id="org.melord.pde.unicodetool.menus.command.native2ascii" mnemonic="N"> </command> <command commandId="org.melord.pde.unicodetool.commands.ascii2native" id="org.melord.pde.unicodetool.menus.command.ascii2native" mnemonic="A"> </command> <visibleWhen> <iterate ifEmpty="false"> <instanceof value="org.eclipse.jface.text.ITextSelection"> </instanceof> </iterate> </visibleWhen> </menu> </menuContribution> </extension> 

 

 

5,实现command对应的Handler类与popupAction对应的Action类(请参考附件中的源代码)

6,附录

    1,插件源文件工程

    2,插件运行效果截图

    3,插件如有bug,欢迎指出

 

 

 

 

 

 

  • 大小: 50.3 KB
分享到:
评论
1 楼 digfog 2010-07-02  
楼主,能说下这个东西怎么用的吗?没编写过插件,只想知道怎么用就行

相关推荐

    struts+hibernate+spring 登录开发实例

    由于在Tomcat发布后可能出现乱码问题,作者创建了一个批处理文件`properties2GBK.bat`,可能用到了`native2ascii`工具来将非ASCII字符转换为适合Java的字节表示,以解决中文乱码问题。 总结来说,这个开发实例展示...

    手把手练习SSH实例

    对于中文乱码问题,可以使用`native2ascii`工具将资源文件转换为GBK编码。创建一个批处理文件,执行这个转换过程,确保在IDE中设置正确的编码格式。 完成上述步骤后,SSH框架的基本结构就搭建好了。接下来,我们...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    JSP与JavaBean实例

    * 熟悉 JDK 带的一些常用命令及其常用选项,例如 appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver 等。 工具 * 熟悉使用至少一种 IDE 的开发工具,例如 Eclipse...

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包10

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包3

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包6

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包5

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包8

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包7

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包9

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包4

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包101

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    Java资源包01

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics