サイトアイコン CAD日記

WinMegeのフィルタについて今すぐ知りたいならココを読め

WinMergeでフォルダやファイルを比較して差分を把握することは、プログラムに関わっていれば日常あること。効率よく比較したいならフィルタを使うべし。

【初期状態のフィルタ】
「*.*」となっていて、すべてのファイルを対象とした比較を行う。

【指定した拡張子だけを対象とする】
例えばcppとhだけ検索対象としたいなら、フィルタに「*.cpp;*.h」のようにセミコロンでつなげて入力する。セミコロンはカンマでもよい。

【使っている言語のソースファイル以外の拡張子を除く】
選択ボタンを押して「言語名+loose」を選ぶ。初期状態でVisual C# loose、Visual C++ loose、VisualBasic looseが用意されている。

【VSSの管理ファイルを除く】
拡張子sccのファイルは、VSS(VisualSourceSafe)が管理用に作るファイルだから比較の対象にしたくない。選択ボタンを押して「Exclude Source Control」を選ぶとしっかり除外してくれる。
※フィルタの選択画面で編集とすると、フィルタの中身が確認できる。「sccまたはvsssccまたはvspsccで終わるファイル」という正規表現の記述。f: \.(vs[sp])?scc$ ## Visual SourceSafe files

【Thumbs.dbを除く】
既存のフィルタに追記するか、新たにフィルタを作る必要あり。以下の2行がポイント。
def: include ## Includeが全体から対象を除く/excludeが指定したものだけを対象とする
f: Thumbs.db ## Thumbs.dbを除外
めんどうな人はココからフィルタをダウンロードして、ドキュメントフォルダ(C:\Users\[ユーザー名]\Documents)に配置してWinMergeを再起動すれば既存フィルタとして現れるので指定できるようになる。

【フィルタの記載方法を知る】
・「##」の後は行末までをコメント扱い
 例)## This is a directory/file filter template for WinMerge
・nameはフィルタ名
 例)name: Thumbs.db loose
・deskは説明
 例)desc: Thumbs.dbを除外します。
・defの後はincludeかexclude
 例)def: include
 Includeが全体から対象を除く、excludeが指定したものだけを対象とする。
 英語の意味からすると逆になると覚えておけばよい。
・ファイルの指定(正規表現)
 例)f: Thumbs.db
・ディレクトリ指定(正規表現)
 例)d: \\ipch$

正規表現を含めたより詳しい情報は、以下サイトを参考にするのがよいだろう。
WinMerge のファイルフィルタ
以上、WinMergeを便利に使いこなすための情報。今回はファイルフィルタについて書いたが、近いうちに行フィルタについて調べて書いてみるつもり。乞うご期待。

モバイルバージョンを終了