・WinMerge使うにあたり一通り設定をしたい。
・他の人の設定ってどうなっているか知りたい。
という人向けの内容です。
進め方としては、私のWinMerge設定を公開し、設定の理由を説明をしていきます。
本記事のゴール(読む事によってできる事)は以下とします。
・WinMergeの設定が一通りできること。
ファイル
この設定はファイル比較画面で実施してください。
-
STEP1マージモードマージモードを有効化(レ点チェック付きの状態)にします。
マージモードとは、ファイル比較でのキー操作が簡単になるモードです。
↑、↓キー:次、前の差分箇所へフォーカスを移動
←:差分箇所の右ファイルの内容を左のファイルへコピー
→:差分箇所の左ファイルの内容を右のファイルへコピー業務では、差分箇所を目視確認して1つづつ差分を反映させていく、という事を行います。
理由は、想定していない変更が入っていないかを確認する為です。↑、↓、←、→キーのみで差分を反映できるので操作が楽になります。
編集
編集タブから設定を開いてください。
-
STEP1比較(一般)1.空白は比較します。(「比較する」を選択)
理由はソースコードを実装する際、無駄な空白等が入っていないか確認する為です。2.空行は無視しません。(「空行を無視する」にレ点をつけない)
理由は1.と同じく、必要以上の空行は1画面で収まらなくなる等の視認性(コードの可読性)を悪化させる為、無駄な空行がないか確認します。3.移動ブロック検出を有効にします。(レ点をつける)
理由はコンパイルが通らない等の理由以外にも、似たコードは1か所に固めて記載するといった理由で、関数の中身は変わらずに実装箇所を移動する事があります。そういった事を検知しやすくさせる為です。(完全には検出できないので、参考レベルです)4.類似行をマッチさせる。(レ点をつける)
理由はNo.3と同じです。5.コメントの差異を無視しません。(レ点をつけない)
理由はソースコード上のコメントも大事な更新(保守)の対象である為です。ソースコードは変更しましたがコメントが古いまま、というのがよく起きてしまいます。 -
STEP2比較(フォルダー)1.比較方法はフルコンテンツとします。
2.サブフォルダーを含めます。(サブフォルダーを含めるにレ点をつける)
3.自動的にサブフォルダーを展開します。(レ点をつける)
理由は自動的に展開しないと、比較後に手動でサブフォルダーを展開する必要があり、手間だからです。
デメリットは差分が多い時に自動で展開すると比較結果の表示に時間がかかってしまう事があります。 -
STEP3エディタ1.シンタックスハイライトを有効にします。(レ点をつける)
理由は文字に色がついていた方が見やすいからです。2.行内差異の色付けは行内差異を表示します。(レ点をつける。文字単位)
理由は差分のあった行の文字が多い時に、どの箇所が差分か、わかりにくい事がある為です。 -
STEP4色基本的には好みです。私はデフォルト設定で慣れてしまいました。
-
STEP5システム外部エディタ
C:\Program Files (x86)\sakura\sakura.exe $file -Y=$linenum個人的には一番MUSTな設定項目です。
理由はファイルの差分箇所(行、列)にエディタで開いて飛べるからです。
エディタで開けるので、1.慣れている画面(色等)で差分箇所が確認できる。
2.エディタ機能(Grepやマクロ等)を使う事ができるのがメリットです。 -
STEP6バックアップファイル1.バックアップファイル名の.bak拡張子を追加しません。(レ点をとる)
理由はマージモードなどで差分ファイルに変更を加えた際、.bakという名前で保存してしまう為です。
(ファイルを比較しながら直接ファイルを変更する事が多いので、.bakで保存されると手間です。前提としてSVN管理している等でバックアップファイルがある為.bakで退避させる必要がありません。) -
STEP7シェル統合1.コンテキストメニューに追加します。(レ点をつける。)
インストール時に設定しているはずです。右クリックでWinMergeを使用すると楽です。
表示
-
STEP1フォントの選択フォント名:MSゴシック、スタイル:標準、サイズ:8
-
STEP2Diffコンテキスト5行
本機能は差分箇所の前後何行を表示させるか、という機能になります。0行だと前後関係がわからずに9行だと差分が多い時に比較結果が長くなります。まず5行にし、必要に応じて変化させればよいと思います。 -
STEP3空白を表示する
-
STEP4行内差異を表示する
-
STEP5行番号を表示する以下は行番号を表示するとした時の表記です。
-
STEP6行を右端で折返す
-
STEP7垂直分割する垂直分割した場合の表記は今までの画像の通りです。
参考ですが垂直分割しない時は以下のように水平分割になります。
-
STEP8ステータスバーを表示するあまり見る機会はありませんが、行で今選択している行がわかります。
同期ポイントを追加する時は行が大事です。
-
STEP9タブバーを表示するこれはMUSTです。タブバーを表示しない場合の操作は知りません。その位、タブバーにはお世話になっています。
-
STEP10Diffペインを表示するDiffペインとは以下赤枠の箇所の事を言います。
Diffペインの横の×印で閉じる事ができます。閉じた場合もここで有効化すれば再度表示できます。 -
STEP11ロケーションペインを表示するこれでファイル全体に対して変更箇所がどのあたりにあるかを全体的に見る事ができます。
コードが長い場合に有効で、「確か下の方を変えたな~」ってイメージがあればそこの差分をめがけてスクロールします。
よくある使い方については、以下をご覧いただければ、と思います。
WinMergeのよくある使い方9選はこちら。
TortoiseSVNの差分をWinmergeで開く方法をこちらで紹介しています。
TortoiseSVNのおすすめ設定はこちら。
Winmergeのフィルターの使い方はこちらに記載しましたので、よろしければ見てみてください。
【初心者向け】Winmergeのフィルターを使おう
Winmergeのプラグインを使ってタブを無視するようできる使い方もあります。
【初心者向け】Winmergeのプラグインを使おう
いかがでしたでしょうか。
少し長くなりましたが、現状の私が使っているWinMergeの設定とその理由について記載しました。
参考になればうれしいです。
最後までお読みいただき、ありがとうございました。