Winmerge - 独自フィルタの作成

クラウディア 
 「Winmerge」には、いくつかのフィルタが用意されていますが、プロジェクトの設定に合わせて独自のフィルタを作成すると仕事がやりやすくなります。
1. フィルタとは
2. フィルタファイルの場所
3. フィルタファイルの作成

1. フィルタとは

 プロジェクトで開発を行っているときに、更新ファイルと更新前のファイルの差分を見て、どこに更新がかかっているかを確認することがあります。  そういう際に、ファイル一つ一つを確認していたのではらちがあきませんので、フォルダ一括で差分を確認します。  一括で差分を確認するとき、例えばソースファイルは差分を見たいけれどもオブジェクトファイルは差分を見たくないわけです。  拡張子でいうと、「*.c」は差分をみますが、「*.obj」は差分を見ないわけです。  そういった拡張子や特定のフォルダを見ないようにフィルタを設定することができます。  「Winmerge」を開いて『フォルダ』のアイコンをクリックすると
「Winmerge」-「フォルダアイコン」

 フォルダの選択画面が出てくるわけですが、下の方にフィルタの選択を選ぶ欄があります。
 デフォルトでは、「*.*」になっているのですべてのファイルを比較対象としているわけです。

「Winmerge」-「フォルダ選択」

2. フィルタファイルの場所

 「選択」をクリックするとフィルタを選択することができますが、そこに『場所』の欄があって。  見てみるとデフォルトで用意されているフィルタは

C:\Program Files\WinMerge\Filters
 に存在することがわかります。  拡張子は「.fil」になっています。
「Winmerge」-「フィルタ」

 ここで、「編集」をクリックすると、エディタでフィルタファイルを開いて、編集できるのですが、デフォルトのエディタは、「NotePad」になっています。
 デフォルトエディタを変更する方法は、別のページに書いてありますので、目次から参照してください。

3. フィルタファイルの作成

 「.fil」を上記の場所に作成することで、新規にフィルタファイルを作成することができます。  文法はそこまで難しいものではありません。  基本は

キーワード : 定義
 という構成になっています。  「##」と書けば、それ以降はコメントになります。  基本的なキーワードは以下の通りです。
キーワード   意味  
name フィルタ名
desc 説明
include これはよくわかっていません
f ファイルのフィルタ定義
d ディレクトリのフィルタ定義

 フィルタ名は重複しないような名前であればなんでもかまいません。
 説明も好きなような説明をいれればよいと思います。

 ファイル名は個別のファイル名を書くこともありますが、普通は拡張子で定義するかと思います。
 正規表現で記述します。


f: \.exe$
 上記の例は、ファイルの名称部はなんでもよく「.exe」という拡張子を持つものをフィルタするという意味です。  「\.」は「.」をクォートしているわけで「exe$」はファイルの末尾が「exe」という意味です。

d: \\Debug$
 上記の例は、「Visual Studio」で、デバッグモードでビルドすると勝手に作成される「Debug」というディレクトリをフィルタしています。  これらを組み合わせて、独自のフィルタを作ることで作業の効率をあげることができます。
earthcar(アースカー)
U-NEXT
ハイスピードプラン