WinMergeプラグインは、COM APIで書かれたカスタムDLLまたはスクリプトレットです。 これは、比較の前にデータを前処理します。 例えば、WinMergeで比較するためにMS Word のファイルからテキストデータを抽出するプラグインがあります。
1つのdllまたはスクリプトレット (sct
) ファイル
MergePlugins
サブフォルダーにインストールされます。WinMergeは、いくつかのプラグインをインストールします。
インストールが簡単: WinMergeのインストールに含まれていないプラグインをインストールするには、プラグインファイルをMergePlugins
にコピーするだけです。
プラグインは、次回WinMergeを開いたときに利用可能になります。
ウェブ上で他の開発者が書いた多くのプラグインを見つけることができます。
プラグインは3つの主なカテゴリに分類されます:
このタイプのプラグインは、ファイル比較ウィンドウのアクティブなエディター(ファイルペイン)で選択したテキストに対してカスタム操作を実行します。
このタイプのプラグインは、圧縮ファイルを解凍して表示可能な形式に変換します。 元のファイルは変更されません。 一時的に変換されたファイルが作成され、WinMergeにロードされます。
展開プラグインは、選択されたテキストやファイル内の差分に対してではなく、ファイル全体に対して機能します。 したがって、フォルダー比較ウインドウまたはファイルまたは フォルダーの選択ダイアログからファイル比較を起動するときのみ利用可能です。 展開プラグインはファイル比較ウィンドウでは利用できません。
プラグインによっては、展開されたファイルを再圧縮することができます (「使用できるプラグイン」 の詳細を参照して、 再圧縮がサポートされているかどうかを確認してください)。 その後、変換されたファイルをマージして保存できます。 この場合、梱包は自動的に行われます。 安全のために、変換したファイルを保存するときに名前を変更することをお勧めします。
フォルダーを比較すると、WinMergeは圧縮ファイルと非圧縮ファイルに 対して異なる結果をもたらす可能性があります。 たとえば、圧縮されていないときには同一のファイルでも、 圧縮された場合、作成日が含まれているために異なる場合があります。 WinMergeはすべての状況で展開プラグインを適用します。フォルダーを比較するときや、 2つのファイルを比較するときでも同じ結果が得られます
プラグインの例: 「CompareMSExcelFiles」 Microsoft® Excel ファイルのテキスト内容を表示します。
この種類のプラグインは、 比較ウィンドウに表示されている元のファイルには作用しません。 代わりに元のファイルから何らかの加工を行ったファイルを一時的に作成し、 そのファイルから差異リストを作成します。
プラグインの例: 「IgnoreColumns」 指定された列範囲に表示されている文字の違いを 無視します。
WinMergeはどのようにして渡されたファイルに適切なプラグインを適用しているのでしょうか? 各プラグインはファイル拡張子のリストを持っています (「使用できるプラグイン」セクションの各プラグインのファイルフィルターにも リストされています) その拡張子は、1つ以上のファイルタイプをプラグインに関連付けるために使用されます。: 比較するファイルの拡張子があるプラグインの拡張子リストと一致する場合、 そのプラグインが提案されたプラグインとなります。
このトピックで後述する展開プラグインタイプと比較前処理プラグインタイプには 別々のオプションがあり、これらを使用して手動または自動でプラグインを適用できます。 エディタースクリプトプラグインには自動モードはありません。
自動モードを使用して選択したファイルにプラグインを適用すると、 WinMergeは、そのファイルタイプの推奨プラグインのリストを検索し、 名前が一致する最初のプラグインを適用します。 検索はアルファベット順で実行されます。このため、ファイルタイプに複数の推奨プラグインがある場合、 最初に見つかったもののみが適用されます。
次のサブセクションでは、各タイプのプラグインを適用する方法について説明します。 方法はプラグインのタイプごとに異なり、 フォルダーとファイルのどちらを比較するかどうかによっても異なります。
ファイル比較ウィンドウのファイルペインにカーソルを置き、
→ をクリックして、次の機能のいずれかを選択します:大文字に変換
小文字に変換
重複行を削除
重複行をカウント
昇順にソート
降順にソート
列を逆順
行を逆順
列を抽出...
行を抽出...
置換...
フィルターコマンドを適用...
トークン分割...
行頭行末の空白を削除
日付を挿入
時刻を挿入
「editor addin」 と 「insert datetime」 プラグイン によるものです。
メニューのこの機能は、エディター補完プラグインは、 フォルダー比較ウインドウでは使用できません。
展開プラグインを適用する前に、 モードを自動モードまたは手動モードに設定できます。
このタイプのプラグインの自動モードを設定するには、
→ をクリックしてください。手動モードを設定するには、
→ をクリックしてください。新たな設定を反映するにはフォルダー比較ウィンドウをF5をクリックして、 リロードしてください。
自動展開が設定されているときにプラグインを適用するには、 フォルダー比較ウィンドウでファイルの比較操作を開始するだけです。 ファイルのタイプから自動的に選択された展開プラグイン(存在する場合)がファイルを前処理し、 WinMergeがファイル比較ウィンドウで開きます
たとえば、MS Wordのdoc
ファイルを右クリックして
を選択するとします
(「CompareMSWordFiles」プラグインが利用可能であると仮定します)。
WinMergeは、docファイル(またはそのコピー)をプレーンテキストファイルに変換し、
ファイル比較ウィンドウで開きます。
手動モードでは、自動モードで選択されたものとは異なる展開プラグインを選択できます。 プラグインを使用せずに比較することもできます。
手動展開が設定されているときにプラグインを適用するには:
比較するファイルを選択します。
→ をクリックします
選択したファイルのタイプが利用可能な展開プラグインによってサポートされている場合にのみ、 このメニュー項目が有効になります。
展開プラグインの選択ダイアログで:
自動展開を設定するか、または手動でプラグインを選んでください。
自動展開モード(最初の利用可能なプラグインを適用)を使用するには、ファイル展開プラグイン にて<自動展開>を選択してください。
異なったプラグイン(利用可能であれば)を選択したい場合は、ファイル展開プラグインにてプラグインを選択してください。
デフォルトでは、比較する対象にファイルに応じた拡張子用のプラグインだけを表示します。すべての利用可能なプラグインを見るためには、 すべての展開プラグインを表示し、拡張子をチェックしませんオプションを有効にしてください。
プラグインを使用せずに比較を行い対場合は、ファイル展開プラグインにて を選んでください。
をクリックして、展開プラグインの選択ダイアログを閉じてください。
をクリックして、 「展開プラグインの選択」ダイアログを閉じて、ファイル比較を開始します。
「ファイルまたはフォルダーの選択」ダイアログからファイル比較を起動するときに、 「展開プラグインの選択」ダイアログを使用してプラグインを適用できます。 詳細は、「ファイル比較で使用する展開プラグインの選択」 を参照してください。
比較前処理プラグインでは、モード(<Automatic>または <None>)またはプラグイン名を個々のファイルに設定します。 (これをすべてのファイルのモードを設定する展開プラグインと比較してください。) つまり、同じフォルダー内のいくつかのファイルには異なる比較前処理モードがあります。
フォルダー比較ウィンドウで1つ以上のファイルのモードを設定するには、 ファイルを右クリックして
→ を選択し、サブメニューオプションのいずれかを選択します。は、 指定したファイルのタイプに使用できる比較前処理プラグインの最初のものを選択します。
は、 比較前処理プラグインを使用しません。
ウィンドウを更新するにはF5をクリックしてください。
非再帰比較中にサブフォルダーを開くと、モードは常に
にリセットされます。フォルダー比較ウィンドウからファイルを開くと、 ファイル比較ウィンドウが開く前にそのファイルの比較前処理プラグイン設定が適用されます。
Microsoft® Excel ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。
*.xls
, *.xlsx
, *.xlsm
, *.xlsb
, *.xla
, *.xlax
, *.xltx
, *.xltm
Microsoft® PowerPoint ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。
*.ppt
, *.pptx
, *.pptm
, *.ppa
, *.ppam
, *.pot
, *.potx
, *.potm
Microsoft® Visio ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。
*.vsd
, *.vsdx
, *.vsdm
, *.vss
, *.vssx
, *.vssm
, *.vst
, *.vstx
, *.vstm
Microsoft® Word ファイルのテキストの内容を表示します。すべてのフォーマットおよび埋め込みオブジェクトは取り除かれて表示されます。
*.doc
, *.docx
, *.docm
, *.dot
, *.dotx
, *.dotm
tidy-html5 を使用して HTML ファイルを整形します。
PrettifyHTML
[arguments
...]
arguments
tidy コマンドに渡すコマンドラインオプション。
tidy-html5 を使用して XML ファイルを整形します。
PrettifyXML
[arguments
...]
arguments
tidy コマンドに渡すコマンドラインオプション。
jq コマンドを使用してJSON ファイルを整形します。
PrettifyJSON
[arguments
...]
arguments
フィルターまたは jq コマンドに渡すコマンドラインオプション。
yq コマンドを使用してYAML ファイルを整形します。
PrettifyYAML
[arguments
...]
arguments
フィルターまたは yq コマンドに渡すコマンドラインオプション。
q コマンドを使用して CSVファイルからデータを抽出します。
QueryCSV
[arguments
...]
arguments
SQL文または q コマンドに渡すコマンドラインオプション。
q コマンドを使用して TSVファイルからデータを抽出します。
QueryTSV
[arguments
...]
arguments
SQL文または q コマンドに渡すコマンドラインオプション。
jq コマンドを使用して JSONファイルからデータを抽出します。
QueryJSON
[arguments
...]
arguments
フィルターまたは jq コマンドに渡すコマンドラインオプション。
yq コマンドを使用して YAMLファイルからデータを抽出します。
QueryYAML
[arguments
...]
arguments
フィルターまたは yq コマンドに渡すコマンドラインオプション。
tidy コマンドを使用して HTMLファイルを検査します。
ValidateHTML
[arguments
...]
arguments
tidy コマンドに渡すコマンドラインオプション。
Graphviz ファイルを画像化します。
VisualizeGraphviz
[arguments
...]
arguments
dot コマンドに渡すコマンドラインオプション。
Apache Tika を使用してファイルからテキストを抽出します。
ApacheTika
[arguments
...]
arguments
tika-app.jar に渡すコマンドラインオプション。
javap を使用してJVMバイトコードをディスアセンブルします。
DisassembleJVM
[arguments
...]
arguments
javap コマンドに渡すコマンドラインオプション。
ildasm を使用してILコードをディスアセンブルします。
DisassembleIL
[arguments
...]
arguments
ildasm コマンドに渡すコマンドラインオプション。
*.obj
,
*.lib
,
*.exe
,
*.dll
dumpbin を使用してネイティブコードをディスアセンブルします。
DisassembleNative
[arguments
...]
arguments
dumpbin コマンドに渡すコマンドラインオプション。
*.obj
,
*.lib
,
*.exe
,
*.dll
フィルターコマンドを適用します。
ExecFilterCommand
[command
]
command
実行するコマンド。 コマンド内の %1 はファイル名に置き換わります。
*.nomatch
テキストを大文字に変換します
*.nomatch
テキストを小文字に変換します
*.nomatch
重複行を削除します
*.nomatch
重複行をカウントします
*.nomatch
行を昇順にソートします
*.nomatch
行を降順にソートします
*.nomatch
列を逆順にします
*.nomatch
行を逆順にします
*.nomatch
指定した列を抽出します。
SelectColumns
[ranges
]
SelectColumns
[-v
] [-i
] [-g
] [-e
patterns
]
ranges
抽出する列範囲のリスト (例 -3,5-10,30-)
patterns
正規表現
-v
マッチしない列を抽出します
-i
大文字小文字を無視します
-g
グローバルフラグを有効にします
-e
パターンマッチングにpatterns
を使用します
*.nomatch
指定した行を抽出します。
SelectLines
[ranges
]
SelectLines
[-v
] [-i
] [-e
patterns
]
ranges
抽出する行範囲のリスト (例 -3,5-10,30-)
patterns
正規表現
-v
マッチしない行を抽出します
-i
大文字小文字を無視します
-e
パターンマッチングにpatterns
を使用します
*.nomatch
テキストを置換します。
Replace
[-i
] [-e
] [text_to_find
] [text_to_replace
]
text_to_find
検索するテキスト
text_to_replace
置換するテキスト
-i
大文字小文字を無視します (-e指定時のみ有効)
-e
指定したテキストを正規表現として扱います
*.nomatch
トークン分割を行います。
Tokenize
[patterns
]
patterns
トークン分割に使用する正規表現 (例 [^\w]+)
*.nomatch
行頭行末の空白を削除します
*.nomatch
このプラグインは、指定された列の文字を無視します。 最初の列の番号は1です。
このプラグインはタブ付きのファイルをサポートしていないことに注意してください。 プラグインは失敗しませんが、すべてのタブは通常の文字として扱われます。
列を指定するには、プラグイン設定ダイアログを使用するか、次のフィールドをパラメーターとして使用してdll
の名前を変更します:
例1 IgnoreColumns
examples
IgnoreColumns _ 3 _ 10 - 20 _ 32 -
33.dll
IgnoreColumns_1,30 to 40.dll
*.txt
このプラグインはC言語, C++, PHP, JavaScript ファイルの //
... と
/*
... */
で区切られたコメントを無視します。
*.cpp
, *.cxx
, *.h
, *.hxx
, *.c
, *.php
, *.js
, *.cs
, *.ts
このプラグインは、フィールドとコンマを区切り文字として使用するファイル用です (CSVファイルなど)。 区切り文字は無視されます。 最初のフィールドの番号は1です。
区切り文字を指定するには、プラグイン設定ダイアログを使用するか、
「IgnoreColumns」に使用されるのと同じパラメーターフィールドを使用して
dll
の名前を変更します。
*.csv
このプラグインは、フィールドとタブを区切り記号として使用するファイル用です
(たとえばExcel ファイルは*.txt
形式で保存されます)。 区切り文字は無視されます。
最初のフィールドの番号は1です。
To specify the delimiters, use plugin settings dialog or rename the dll
using
the same parameter fields used for 「IgnoreColumns」.
*.txt
このプラグインは、テキストファイル (NCファイルやBASICファイルなど)の先頭の行番号を無視します。
いくつかの関数を
→ メニューに追加します:一部のエディター補完プラグインには、 Microsoft®のコンポーネントが必要です
Windows XPより前の古いバージョンのWindowsを使用しない限り、既に含まれているはずです。
一部のプラグインでは、動作するためにVisual Basic ランタイムライブラリが必要です。
Microsoft®のRun-Time Redistribution Packが使用できます。 プラグインが不要な場合は、安全に削除できます。