使用扩展点模式
由工作空间中的插件定义的扩展点可以很容易地用于您自己的插件和其它插件。如果已经为 PDE 定义了扩展点模式,则在创建新扩展时 PDE 可以提供帮助。这些帮助包含:
- 为新建弹出菜单提供选项,以便只添加有效的子元素
- 为属性页提供属性信息,以便只设置有效属性
- 提供与属性类型(布尔、字符串和枚举)相匹配的正确的属性特性编辑器。
- 为特殊属性类型(“java”和“资源”)提供附加支持。
- 当在属性页中选择属性的文档片段时,使用状态行来显示该片段的第一句。
示例:使用“样本解析器”扩展点
在尝试使用我们以前定义的扩展点之前,仍然需要定义期望的接口。在“导航器”中选择 com.example.xyz 项目并按
工具栏按钮来新建 Java 接口。一定要将包名设置为 com.example.xyz 并将接口名称设置为 IParser,然后按完成。按如下所示编辑该接口:
package com.example.xyz;
public interface IParser {
/**
* Run the parser using the provided mode
*/
public void parse(int mode);
}
现在,我们已经具有扩展点、它的 XML 模式以及必需的接口。一定要保存所有打开的编辑器。现在,所有内容都准备好了,以便我们自己的插件和其它插件可添加到扩展点。
- 为 com.example.xyz 插件打开清单编辑器。
- 切换至“扩展”页面并按新建 -> 扩展。
- 应该有“com.example.xyz.parsers”可供选择。选择它,并按完成。
- 选择新添加的“com.example.xyz.parsers”元素,然后会弹出新建 -> 解析器菜单。(我们指定我们的扩展点可以容纳任意数目的“解析器”元素。)
- 选择新的解析器元素。“扩展元素详细信息”部分应该显示四种属性:标识、名称、类和方式。当您选择属性时,注意状态行是如何显示有关它的简短信息的。此信息直接来自于扩展点模式。
- 将名称更改为“缺省解析器”。将方式更改为“手工”。
- 在“扩展元素详细信息”部分中单击类超链接。您会在此处发现 PDE 与 JDT 的“新建 Java 类”向导无缝集成并利用模式属性自动实现 IParser 接口。创建类并将“com.example.xyz/src”作为源文件夹,“com.example.xyz”作为包并将 DefaultParser 作为类名。按完成。
- 现在,您应该处于 DefaultParser 类的 Java 编辑器中。注意它如何实现了正确的接口(IParser),并已经具有“分析”方法的存根实现。
注意,如果关闭编辑器并再次单击类超链接,该编辑器将重新打开 DefaultParser 类。仅当找不到在类属性文本字段中指定的类时,才会出现“新建 Java 类”向导;否则该链接将在编辑器中打开该类。
正如您看到的那样,在为扩展点提供完整的 XML 模式时,它将通过 PDE 辅助来为所有潜在用户提供帮助,并防止他们出错。
