比较示例 — 键/值对的结构比较
简介
此示例演示如何支持由键/值对组成的文件的结构比较。它显示如何实现和注册定制结构创建程序,该程序将键/值对分析成用作由“比较”插件提供的结构比较框架的输入的树结构。另外,它还为个别键/值对注册标准文本查看器。
此示例仅供演示之用。对 Java
属性文件(另一个键/值格式)的结构比较支持是由 Eclipse Java 工具提供的。
运行示例
- 创建项目(不必一定是 Java 项目)
- 创建键/值对文件 f1.kv
- 打开窗口 > 首选项 > 工作台 > 文件关联,并将缺省文本编辑器与文件扩展名“kv”相关联
- 使用编辑器打开 f1.kv 并输入以下内容
lastname=Doe
firstname=John
city=Chicago
state=IL
- 制作此文件的副本并将它重命名为 f2.kv
- 打开 f2.kv 并将名字“John”更改为“Mary”
- 将另一个键/值对“country=US”添加至 f2.kv
- 同时选择文件 f1.kv 和 f2.kv
- 从上下文菜单中,选择比较对象 > 相互之间
- 一个新的比较编辑器打开,在其顶部窗格中显示两个文件的结构差别。选择属性“firstname”或“country”之一会将相应的键/值对的文本填入底部窗格中的标准文本比较查看器中。
示例的代码组织
示例代码组织在单个包 org.eclipse.compare.examples.structurecreator 中:
- KeyValuePairStructureCreator
是将流的内容分析成 IStructureComparator 树的结构创建程序。
- TextMergeViewerCreator
是 TextMergeViewers 的工厂。它是为类型“kvtxt”(这是个别键/值对的类型)而注册的。
- Util
为 NLS 支持和为将 InputStream 作为“字符串”读取提供实用程序方法。
