検索プラグインを使用すると、ユーザーがさまざまなコンテンツ・ストリームをマージするときに役立つビューをカスタマイズすることができます。ただし、ユーザーによる支援なしでストリームをマージする機能が必要な場合もあります。 拡張ポイント org.eclipse.compare.streamMergers を使用すると、3 種類の入力ストリームを単一出力ストリームにマージするクラスを組み込むことができます。ストリーム・マージャーは、ファイル拡張子に関連付けるか、または特定のコンテンツ型に結合することができます。 検索プラグインは、プレーン・テキストの 3 つのストリームをマージするストリーム・マージャーを定義します。
<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 エレメントに記述されています。 このエレメントを実装するマージャーおよびクラスの ID を指定する必要があります。 また、ストリーム・マージャーを使用する必要があるファイル拡張子も指定します。
contentTypeBinding エレメントを使用して、コンテンツ型をストリーム・マージャーに関連付けることもできます。
ストリーム・マージャーは、IStreamMerger をインプリメントする必要があります。 この単純なインターフェースは、3 種類の入力ストリームのコンテンツを単一出力ストリームにマージします。 簡単ではない実装は、プラグインやコンテンツ型によって異なります。
CompareUI の createStreamMerger メソッドを使用して型を登録する 新規 IStreamMerger を作成できます。