プラグイン


WinMergeプラグインは、COM APIで書かれたカスタムDLLまたはスクリプトレットです。 これは、比較の前にデータを前処理します。 例えば、WinMergeで比較するためにMS Word のファイルからテキストデータを抽出するプラグインがあります。

プラグインは:

1. プラグインの種類

プラグインは3つの主なカテゴリに分類されます:

エディタスクリプトプラグイン

このタイプのプラグインは、ファイル比較ウィンドウのアクティブなエディタ(ファイルペイン)で選択したテキストに対してカスタム操作を実行します。

展開プラグイン - ファイルからテキストフォーマットへ

このタイプのプラグインは、圧縮ファイルを解凍して表示可能な形式に変換します。 元のファイルは変更されません。 一時的に変換されたファイルが作成され、WinMergeにロードされます。

展開プラグインは、選択されたテキストやファイル内の差分に対してではなく、ファイル全体に対して機能します。 したがって、フォルダ比較ウインドウまたはファイルまたは フォルダの選択ダイアログからファイル比較を起動するときのみ利用可能です。 展開プラグインはファイル比較ウィンドウでは利用できません。

プラグインによっては、展開されたファイルを再圧縮することができます (「使用できるプラグイン」 の詳細を参照して、 再圧縮がサポートされているかどうかを確認してください)。 その後、変換されたファイルをマージして保存できます。 この場合、梱包は自動的に行われます。 安全のために、変換したファイルを保存するときに名前を変更することをお勧めします。

注意

フォルダを比較すると、WinMergeは圧縮ファイルと非圧縮ファイルに 対して異なる結果をもたらす可能性があります。 たとえば、圧縮されていないときには同一のファイルでも、 圧縮された場合、作成日が含まれているために異なる場合があります。 WinMergeはすべての状況で展開プラグインを適用します。フォルダを比較するときや、 2つのファイルを比較するときでも同じ結果が得られます

プラグインの例: 「CompareMSExcelFiles.sct」 Microsoft® Excel ファイルのテキスト内容を表示します。

比較前処理プラグイン: 差異を隠すためのファイルの前処理

この種類のプラグインは、 比較ウィンドウに表示されている元のファイルには作用しません。 代わりに元のファイルから何らかの加工を行ったファイルを一時的に作成し、 そのファイルから差異リストを作成します。

プラグインの例: 「IgnoreColumns.dll」 指定された列範囲に表示されている文字の違いを 無視します。

2. 提案されたプラグインと自動モード

WinMergeはどのようにして渡されたファイルに適切なプラグインを適用しているのでしょうか? 各プラグインはファイル拡張子のリストを持っています (「使用できるプラグイン」セクションの各プラグインのファイルフィルタにも リストされています) その拡張子は、1つ以上のファイルタイプをプラグインに関連付けるために使用されます。: 比較するファイルの拡張子があるプラグインの拡張子リストと一致する場合、 そのプラグインが提案されたプラグインとなります。

このトピックで後述する展開プラグインタイプと比較前処理プラグインタイプには 別々のオプションがあり、これらを使用して手動または自動でプラグインを適用できます。 エディタスクリプトプラグインには自動モードはありません。

自動モードを使用して選択したファイルにプラグインを適用すると、 WinMergeは、そのファイルタイプの推奨プラグインのリストを検索し、 名前が一致する最初のプラグインを適用します。 検索はアルファベット順で実行されます。このため、ファイルタイプに複数の推奨プラグインがある場合、 最初に見つかったもののみが適用されます。

3. プラグインの適用

次のサブセクションでは、各タイプのプラグインを適用する方法について説明します。 方法はプラグインのタイプごとに異なり、 フォルダーとファイルのどちらを比較するかどうかによっても異なります。

3.1. ファイル比較ウインドウでのエディタスクリプトプラグイン適用

ファイル比較ウィンドウのファイルペインにカーソルを置き、 プラグインスクリプトをクリックして、次の機能のいずれかを選択します:

  • MakeUpper

  • MakeLower

  • SortAscending

  • SortDescending

  • ExecFilterCommand

  • InsertDate

  • InsertTime

スクリプト メニューのこの機能は、「editor addin.sct」「insert datetime.sct」 プラグイン によるものです。

注意

エディター補完プラグインは、 フォルダー比較ウインドウでは使用できません。

3.2. フォルダ比較ウインドウでの展開プラグインの適用

展開プラグインを適用する前に、 モードを自動モードまたは手動モードに設定できます。

  • このタイプのプラグインの自動モードを設定するには、 プラグイン自動展開をクリックしてください。

  • 手動モードを設定するには、プラグイン手動展開をクリックしてください。

新たな設定を反映するにはフォルダー比較ウィンドウをF5をクリックして、 リロードしてください。

3.2.1. 自動展開モードの使用

自動展開が設定されているときにプラグインを適用するには、 フォルダー比較ウィンドウでファイルの比較操作を開始するだけです。 ファイルのタイプから自動的に選択された展開プラグイン(存在する場合)がファイルを前処理し、 WinMergeがファイル比較ウィンドウで開きます

たとえば、MS Wordのdocファイルを右クリックして Compareを選択するとします (「CompareMSWordFiles.sct」プラグインが利用可能であると仮定します)。 WinMergeは、docファイル(またはそのコピー)をプレーンテキストファイルに変換し、 ファイル比較ウィンドウで開きます。

3.2.2. 手動展開モードの使用

手動モードでは、自動モードで選択されたものとは異なる展開プラグインを選択できます。 プラグインを使用せずに比較することもできます。

手動展開が設定されているときにプラグインを適用するには:

  1. 比較するファイルを選択します。

  2. プラグイン展開プラグインで開くをクリックします

    選択したファイルのタイプが利用可能な展開プラグインによってサポートされている場合にのみ、 このメニュー項目が有効になります。

  3. 展開プラグインの選択ダイアログで:

    1. 自動展開を設定するか、または手動でプラグインを選んでください。

      • 自動展開モード(最初の利用可能なプラグインを適用)を使用するには、ファイル展開プラグイン にて<自動展開>を選択してください。

      • 異なったプラグイン(利用可能であれば)を選択したい場合は、ファイル展開プラグインにてプラグインを選択してください。

        デフォルトでは、比較する対象にファイルに応じた拡張子用のプラグインだけを表示します。すべての利用可能なプラグインを見るためには、 すべての展開プラグインを表示し、拡張子をチェックしませんオプションを有効にしてください。

      • プラグインを使用せずに比較を行い対場合は、ファイル展開プラグインにて <なし>を選んでください。

    2. OKをクリックして、展開プラグインの選択ダイアログを閉じてください。

  4. OKをクリックして、 「展開プラグインの選択」ダイアログを閉じて、ファイル比較を開始します。

3.3. ファイル/フォルダ選択ダイアログでの展開プラグインの適用

「ファイルまたはフォルダーの選択」ダイアログからファイル比較を起動するときに、 「展開プラグインの選択」ダイアログを使用してプラグインを適用できます。 詳細は、「ファイル比較で使用する展開プラグインの選択」 を参照してください。

3.4. フォルダ比較ウインドウでの比較前処理プラグインの適用

比較前処理プラグインでは、モード(自動比較前処理または 比較前処理なし)を個々のファイルに設定します。 (これをすべてのファイルのモードを設定する展開プラグインと比較してください。) つまり、同じフォルダー内のいくつかのファイルには異なる比較前処理モードがあります。

フォルダー比較ウィンドウで1つ以上のファイルのモードを設定するには、 ファイルを右クリックしてプラグイン設定比較前処理プラグイン設定を選択し、サブメニューオプションのいずれかを選択します。

  • 自動 は、 指定したファイルのタイプに使用できる比較前処理プラグインの最初のものを選択します。

  • 使用しないは、 比較前処理プラグインを使用しません。

ウィンドウを更新するにはF5をクリックしてください。

注意

非再帰比較中にサブフォルダーを開くと、モードは常に なしにリセットされます。

フォルダ比較ウィンドウからファイルを開くと、 ファイル比較ウィンドウが開く前にそのファイルの比較前処理プラグイン設定が適用されます。

3.5. ファイル比較ウインドウでの比較前処理プラグインの適用

ファイル比較ウィンドウで、 プラグイン比較前処理プラグインをクリックして、リスト内のプラグインの1つを選択することにより、 比較前処理プラグインを適用できます。推奨されるプラグインはリストの上部に示されています。 プラグインが適用された後にファイルが再度比較されるため、ファイルを再スキャンする必要はありません。

4. 使用できるプラグイン

4.1. CompareMSExcelFiles.sct

Microsoft® Excel ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。

分類: 展開プラグイン
ファイルフィルタ: *.xls*.xlsx*.xlsm*.xlsb*.xla*.xlax*.xltx*.xltm
書き戻し: No
設定ダイアログサポート: Yes
依存するもの: Microsoft® Excel

4.2. CompareMSWordFiles.sct

Microsoft® Word ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。

分類: 展開プラグイン
ファイルフィルタ: *.doc, *.docx, *.docm, *.dot, *.dotx, *.dotm
書き戻し: No
設定ダイアログサポート: Yes
依存するもの: Microsoft® Word

4.3. CompareMSPowerPointFiles.sct

Microsoft® PowerPoint ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。

分類: 展開プラグイン
ファイルフィルタ: *.ppt, *.pptx, *.pptm, *.ppa, *.ppam, *.pot, *.potx, *.potm
書き戻し: No
設定ダイアログサポート: Yes
依存するもの: Microsoft® PowerPoint

4.4. editor addin.sct

5つの機能をプラグインスクリプト メニューに追加します:

  • MakeUpper は、選択範囲を大文字に変換します。
  • MakeLower 選択範囲を小文字に変換します。
  • SortAscending 選択範囲を昇順でソートします。
  • SortDescending 選択範囲を降順でソートします。
  • ExecFilterCommand 指定したフィルタコマンドの出力で選択範囲を置換します。
分類: Editor complement
設定ダイアログサポート: No

4.5. IgnoreColumns.dll

このプラグインは、指定された列の文字を無視します。 最初の列の番号は1です

このプラグインはタブ付きのファイルをサポートしていないことに注意してください。 プラグインは失敗しませんが、すべてのタブは通常の文字として扱われます。

列を指定するには、プラグイン設定ダイアログを使用するか、次のフィールドをパラメーターとして使用してdllの名前を変更します:

  • 範囲間の区切り文字: _ または ,
  • 最小と最大の間の区切り文字: その他の文字
  • 最小と最大は範囲に含まれます。
  • max = minの場合、maxは省略できます。

例1 IgnoreColumns.dll examples

IgnoreColumns _ 3 _ 10 - 20 _ 32 - 33.dll
列3、列10から20、列32から33のすべての文字を無視します。
IgnoreColumns_1,30 to 40.dll
列1と列30から40のすべての文字を無視します。

分類: 比較前処理プラグイン
ファイルフィルタ: *.txt
設定ダイアログサポート: Yes

4.6. IgnoreCommentsC.dll

このプラグインはC言語, C++, PHP, JavaScript ファイルの //... と /* ... */ で区切られたコメントを無視します。

分類: 比較前処理プラグイン
ファイルフィルタ: *.cpp, *.cxx, *.h, *.hxx, *.c, *.php, *.js,
設定ダイアログサポート: No

4.7. IgnoreFieldsComma.dll

このプラグインは、フィールドとコンマを区切り文字として使用するファイル用です (CSVファイルなど)。 区切り文字は無視されます。 最初のフィールドの番号は1です。

区切り文字を指定するには、プラグイン設定ダイアログを使用するか、 「IgnoreColumns.dll」に使用されるのと同じパラメーターフィールドを使用して dllの名前を変更します。

分類: 比較前処理プラグイン
ファイルフィルタ: *.csv
設定ダイアログサポート: Yes

4.8. IgnoreFieldsTab.dll

このプラグインは、フィールドとタブを区切り記号として使用するファイル用です (たとえばExcel ファイルは*.txt形式で保存されます)。 区切り文字は無視されます。 最初のフィールドの番号は1です。

To specify the delimiters, use plugin settings dialog or rename the dll using the same parameter fields used for 「IgnoreColumns.dll」.

分類: 比較前処理プラグイン
ファイルフィルタ: *.txt
設定ダイアログサポート: Yes

4.9. IgnoreLeadingLineNumbers.dll

このプラグインは、テキストファイル (NCファイルやBASICファイルなど)の先頭の行番号を無視します。

分類: 比較前処理プラグイン
ファイルフィルタ: *.nc
設定ダイアログサポート: No

4.10. insert datetime.sct

プラグインスクリプト メニューに2つの機能を追加します:

  • InsertDate insert date in the current locale format.
  • InsertTime insert time in the current locale format.
分類: Editor complement
設定ダイアログサポート: No

5. 必要なもの

5.1. Windows Script Host

一部のエディター補完プラグインには、 Microsoft®のコンポーネントが必要です

Windows XPより前の古いバージョンのWindowsを使用しない限り、既に含まれているはずです。

5.2. Visual Basic ランタイムライブラリ

一部のプラグインでは、動作するためにVisual Basic ランタイムライブラリが必要です。

Microsoft®のRun-Time Redistribution Packが使用できます。 プラグインが不要な場合は、安全に削除できます。