合并多个流

搜索插件允许您定制视图来帮助用户合并不同内容流。但是,在某些情况下,理想情况是能够在无需用户帮助的情况下合并流。扩展点 org.eclipse.compare.streamMergers 允许您提供一个类以将三个不同输入流合并到单个输出流中。流合并程序可与文件扩展进行关联或绑定至特定内容类型。搜索插件定义用于合并三个纯文本流的流合并程序:

<extension
	point="org.eclipse.compare.streamMergers">
	<streamMerger
		extensions="txt"
		class="org.eclipse.compare.internal.merge.TextStreamMerger"
		id="org.eclipse.compare.internal.merge.TextStreamMerger">
	</streamMerger>
	<contentTypeBinding
		contentTypeId="org.eclipse.core.runtime.text"
		streamMergerId="org.eclipse.compare.internal.merge.TextStreamMerger">
	</contentTypeBinding>
</extension>

流合并程序本身是在 streamMerger 元素中描述的。必须指定合并程序的标识和实现该合并程序的。还可指定应对其使用流合并程序的所有文件扩展

还可使用 contentTypeBinding 元素以将内容类型与流合并程序进行关联。

流合并程序必须实现 IStreamMerger。此简单接口将三个不同输入流中的内容合并到单个输出流中。并非如此简单的实现取决于您的插件及其内容类型。

可对向 CompareUI 的 createStreamMerger 方法注册的类型创建新的 IStreamMerger