Welcome 微信登录

首页 / 软件开发 / JAVA / 为SWT应用程序配备内容助理

为SWT应用程序配备内容助理2011-02-09 IBM Berthold Daum通过上下文敏感的智能内容完成建议,提高最终用户的便利性和生产率

创建 HTML 编辑器

内容助理的概念与 JFace 文本查看器(即 org.eclipse.jface.text.source.SourceViewer 类)的特定实现有关。整个 Eclipse 工作台中都使用了这个类的实例来实现各种编辑器。然而, SourceViewers 并不仅限用于 Eclipse 工作台,而是还使用在基于 SWT 和 JFace JAR 建立的任何应用程序中。本文将在 Eclipse 编辑器插件的环境中展示内容助理的实现,并给出关于如何通过“裸” SourceViewers 使用内容助理的技巧。

下面让我们实现一个简单的 HTML 编辑器。内容助理对 HTML 编辑可能非常有用。例如,内容助理能够生成诸如表或链接等典型的 HTML 结构,或者能够将选中的文本区域包装到样式标签中。

为节省时间,我们将使用 New Plug-in Project向导之一来实现这个编辑器,以生成适当的编辑器插件。由于所生成的这个编辑器是 XML 编辑器,而 HTML 是基于 XML 的标记语言,我们只需进行一些次要的修改,将所生成的编辑器转换为一个 HTML 编辑器。下面就让我们开始吧。

在调用 New向导之后,选择 Plug-in Development 和 Plug-in Project。在随后的屏幕上,输入项目名称“Sample HTML Editor”。在接下来的屏幕上,定义适当的插件 ID,比如“com.bdaum.SampleHTMLEditor”。下面的屏幕允许您选择适当的代码生成向导。请选择 Plug-in with an editor,如图 1 所示。

图 1. 带编辑器的插件

在下一个屏幕上,修改建议的插件名称(如果想这样做的话)和插件类名称,并指定一个提供者名称。其他内容保留不变。

继续到下一个屏幕,把建议的名称 Editor Class Name修改为“HTMLEditor”,把 Editor Name修改为“Sample HTML Editor”,把 File Extension修改为“html, htm”,如图 2 所示。后一个条目将把新的编辑器与具有 .html 或 .htm 文件扩展名的所有文件关联起来。

图 2. 编辑器选项

单击 Finish按钮来生成新的编辑器。现在通过 Run > Run as ... > Run-time workbench启动一个新的工作台。在创建具有 .html 或 .htm 文件扩展名的新文件(或导入这样的文件)之后,再使用新的编辑器来打开它。