但 RTC 本身,或者说 eclipse 平台本身并没有一种很方便的途径让我们清楚地辨别出这些资源文件中的内容,而大量的信息只能以 Unicode 方式显示:例如:\u7675。因此我们急需一个工具或插件(eclipse plugin)自动地进行解码,来解决我的问题。这样我们所看到的将不再是让人费解的 Unicode,而是解码后的文字显示。(在刚才的例子中,会显示为“癵”)。总之,这个工具无论是对于">开发人员,还是对于 PII 的审查和测试人员来说,都带来了更多的便利,大大地提高了工作的效率。
需求背景 :TVT 测试中语言文字解码
在 TVT(Translation Verification Testing 翻译验证)测试时,我们需要不断地将翻译成各种语言的 PII(Programmed Integrated Information 程序集成信息)文件更新到我们的资源文件中,用于我们测试。对于资源文件的管理,我们大部分时候都会用到 RTC。但就 RTC 本身,或者说 eclipse 平台本身并不提供一种途径显示这些翻译后的文字本来的样子(就是以本国文字的形式来显示),大量的信息是以 Unicode 的方式显示的,这很不利于我们读取和验证。所以我们必须借助于一种灵活方便的工具通过解码来实现各种语言文字的显示。我们设计的这个基于 Eclipse 平台上 plug-in,就能够轻松实现这个需要。
技术背景 : 基于 Java 的 Eclipse plugin 开发概述
Eclipse 最有魅力的地方就是它的插件体系结构。在这个体系中最基本的概念是扩展点(extension points),即为插件提供的接口。每一个插件都是在现有的扩展点上进行开发,并可能还留有自己的扩展点,以便在这个插件上做继续的开发。由于有了插件,Eclipse 系统的核心部分在启动的时候要完成的工作比较简单,仅需要启动平台的基础部分和查找系统的插件。在 Eclipse 中实现的绝大部分功能都是由相应的插件完成的。Eclipse 把很多基本功能都做成了插件的形式。整个 Eclipse 体系结构就象一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加些插件。这里对通用的开发模式做了一个流程化的介绍,如下图:
图 1. 流程化的开发模式
设计思路及代码实现:plug-in 的解码设计及代码片段
plug -in 工程结构设计思路及代码实现:
1. 对 Eclipse 的 TextEditor 中的 PopuMenu 进行扩展,添加菜单选项。
此工程中菜单选项为“Decode Unicode(Code Point -> Characters)” 。该菜单选项添加为编辑器 TextEditor 的扩展,对其他的编辑器(如 XMLEditor,JavaEditor 等)是不可见的。
在工程中打开一个文本文件,右键就可以看到添加的菜单。
图 2. 添加的菜单选项