比較範例 -「鍵/值」配對的結構比較
簡介
這個範例示範如何支援由「鍵/值」配對組成之檔案的結構比較。
它顯示如何實作並登錄一個自訂的結構建立器,將「鍵/值」配對剖析成樹狀結構,
作為「比較」外掛程式所提供之結構比較組織架構的輸入。
此外,它登錄一個標準文字檢視器,供個別「鍵/值」配對使用。
這個範例只作為示範。Java 內容檔的結構比較支援(另一個「鍵/值」格式)是由 Eclipse Java Tooling 所提供。
執行範例
- 建立專案(不必是 Java 專案)
- 建立「鍵/值」配對檔 f1.kv
- 開啟視窗 > 喜好設定 > 工作台 > 檔案關聯,
然後建立預設文字編輯器與副檔名 "kv" 的關聯性
- 以編輯器開啟 f1.kv,然後輸入這個內容
lastname=Doe
firstname=John
city=Chicago
state=IL
- 製作這個檔案的副本,然後將它更名為 f2.kv
- 開啟 f2.kv,並將 firstname "John" 變更為 "Mary"
- 新增另一個「鍵/值」配對 "country=US" 至 f2.kv
- 選取 f1.kv 和 f2.kv 這兩個檔案
- 從快速功能表選取相互比較 > 彼此
- 這時將開啟新的比較編輯器,在頂端窗格顯示這兩個檔案的結構差異。
選取「firstname」或「country」內容之一,將饋送對應的「鍵/值」配對文字至底端窗格中的標準文字比較檢視器。
範例的程式碼組織
程式碼範例是按單一套件 org.eclipse.compare.examples.structurecreator 來組織:
- KeyValuePairStructureCreator
是結構建立器,用來將串流內容剖析成 IStructureComparator 的樹狀結構。
- TextMergeViewerCreator
是 TextMergeViewers 的 Factory。它是針對 "kvtxt" 類型(即個別「鍵/值」配對的類型)而登錄的。
- Util
提供公用程式方法給 NLS 支援使用,以及將 InputStream 當作「字串」讀取。
