基于Java的Eclipse plugin开发概述

但 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. 添加的菜单选项

时间: 2024-09-24 00:09:51

基于Java的Eclipse plugin开发概述的相关文章

基于Java的Eclipse plug-in: 语言文字解码必备

需求背景 :TVT 测试中语言文字解码 在 TVT(Translation Verification Testing 翻译验证)测 试时,我们需要不断地将翻译成各种语言的 PII(Programmed Integrated Information 程序集成信息)文件 更新到我们的资源文件中,用于我们测试.对于资源文件的管理,我们大部分时候都会用到 RTC.但就 RTC 本身,或者说 eclipse 平台本身并不提供一种途径显示这些翻译后的文字本来的样子(就是以本国文字的形 式来显示),大量的信息

使用SWT开发基于Java的图形用户界面

SWT(Standard Widget Toolkit)是IBM推出的"基于java"的图形界面开发库,我之所以说它是"基于java"的意思是程序员编写代码的时候是使用java语言,事实上SWT的底层实现是C语言完成的.但是这些对程序员是透明的. 我们使用SWT开发GUI程序的时候,直接用SWT API来写.事实上很多java的代码是通过JNI去掉用C代码来实现的.针对不同的平台每个类有不同的实现方式,这篇文章的目的不在于讲述SWT的设计原理,如果你对这些感兴趣的话

开发基于Java的图形用户界面_JSP编程

SWT(Standard Widget Toolkit)是IBM推出的"基于java"的图形界面开发库我之所以说它是"基于java"的意思是程序员编写代码的时候是使用java语言事实上SWT的底层实现是C语言完成的.但是这些对程序员是透明的. 我们使用SWT开发GUI程序的时候直接用SWT API来写.事实上很多java的代码是通过JNI去掉用C代码来实现的.针对不同的平台每个类有不同的实现方式这篇文章的目的不在于讲述SWT的设计原理如果你对这些感兴趣的话可以参考h

开发基于Java的图形用户界面

SWT(Standard Widget Toolkit)是IBM推出的"基于java"的图形界面开发库,我之所以说它是"基于java"的意思是程序员编写代码的时候是使用java语言,事实上SWT的底层实现是C语言完成的.但是这些对程序员是透明的. 我们使用SWT开发GUI程序的时候,直接用SWT API来写.事实上很多java的代码是通过JNI去掉用C代码来实现的.针对不同的平台每个类有不同的实现方式,这篇文章的目的不在于讲述SWT的设计原理,如果你对这些感兴趣的话

安装scala eclipse plugin导致pom.xml editor打开失败

一 问题描述     在本机搭建了基于Scala的Eclipse Plugin+scala2.10.3的开发环境, 但打开maven项目pom.xml文件时,却报空指针异常, pom editor打开失败.     查找了网上的一些资料,发现这是scala-ide-play2的一个BUG导致的.     可以参考如下信息:     scala-ide-play2 Version 0.4.0.v-2_10-201308021043-8c62ead breaks Maven POM Editor #

用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)

原创 1. 开发环境准备        Eclipse3.0.1        下载:http://www.eclipse.org/ Eclipse Plugin:Hibernate Synchronizer 下载:http://sourceforge.net/project/showfiles.php?group_id=99370        Hibernate-2.1.8        下载:http://internap.dl.sourceforge.net/sourceforge/hi

用Axis开发基于Java的Web服务

概述 本文介绍了一个比较简单实用的基于Java的SOAP引擎--Apache组织推出的 Axis--的安装.配置和应用开发方法,希望对有兴趣做基于Java的Web Services应用开发的朋友有所帮助. Axis简介 Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目 的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中 .Axis v1.1软件包可以从http://ws.apache.org/axis/dist/1_1/

用RMI开发基于Java的企业分布式应用

摘 要 由于Java具有跨平台.代码可移植性.安全高效等广泛而强大的功能,因而在开发网络分布式应用的时候,可以用它自身的机制实现分布式计算,一种基于Java的远程方法调用(RMI)为我们开发企业分布式应用提供了行之有效的解决方案. 关键词 Java RMI 企业分布式应用 概述 随着电力企业信息化建设的不断深入和发展,企业内部和企业与企业之间对信息.对数据的交换量大大增加,这些信息与数据越来越需要在不同的计算机网络间传送和交流.同时,由于各单位.各部门之间的现存的计算机网络硬件设备与操作系统千差

JAVA高级:基于JSP的动态网站开发技术

js|动态|高级 动态网站开发技术 早期的动态网站开发技术使用的是CGI-BIN接口.开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者.这种开发技术存在着严重的扩展性问题--每一个新的CGI程序要求在服务器上新增一个进程.如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃. 为克服这一弊端,微软公司提出了Active  Server  Pages(ASP)技术,该技术利用"插件"和API简化了Web应用程序的开发