web-dev-qa-db-ja.com

比較を超えてDelphiフォームファイルのバージョンを比較する際に特定の違いを無視させるにはどうすればよいですか

Beyond Compare(バージョン3.1.10)を使用してDelphi Form Filesの異なるバージョンを比較しますが、ExplicitTop、ExplicitLeft、ExplicitHeight、およびExplicitWidthに関する違いを見たくありません。

詳細:これらの行は、常にいくつかの空白文字で始まり、次に「ExplicitXXX =」と数字で始まります。 Delphiの古いバージョンにはこれらの行がなかったため、これらの行が最新バージョンに追加された場合の違いは無視し、数字が変更された場合の違いも無視したいと思います。

誰もこれを行う方法を知っていますか?

編集:複製(多かれ少なかれ):

コメントのSCM置換テキストを無視するようにBeyondCompareを構成するにはどうすればよいですか?

55
Svein Bringsli
  1. 違いを示すDFMファイルのペアをロードします。
  2. セッション設定ボタン(ルール審判アイコン付き)をクリックするか、セッション-> セッション設定メニューを使用します項目。
  3. 重要度タブに切り替えてから文法の編集...ボタンをクリックして、2番目のダイアログを開きます。
  4. 上のリストボックスの下にある新規...ボタンをクリックして、3番目のダイアログを開きます。
  5. 要素名オプションを_Explicit*_のようなものに変更し、テキストマッチングExplicit(Left|Top|Width|Height) = \d+に変更し、大文字と小文字を一致させるおよび正規表現チェックボックスをオンにし、2番目のダイアログでOkをクリックしてから、再度Okをクリックします。
  6. _Explicit*_は、元のダイアログのGrammar Elementsリストに表示されるはずです。チェックを外して、ダイアログ下部のコンボボックスをこのビューのみに使用からセッションのデフォルトの更新に変更します。
85
Zoë Peterson

Beyond Compareは使用しませんが、Delphiの新しいバージョンを使用したい場合は、(IMOは無用です)Explicit*プロパティ、Andreas Hausladenの DDevExtensions を使用できます。

9
jasonpenny

私の場合(C#)、私が変更した名前空間(したがって、使用しているもの)を含む行全体を無視したかったのです。 ( 参照されたウォークスルー-テキストが行に存在する場合、行全体を無視する

すなわち。

namespace INSERT.NAMESPACE.HERE 
      changed to 
namespace INSERT.NAMESPACE.HERE.NEW

それをするために

Craigのソリューションのステップ5で、Text Matching

" .\*INSERT.NAMESPACE.HERE.\* "

(引用符を含む)

それでおしまい。

3
Neville

クレイグピーターソンの答えは正しいです。 N.B.しかしながら! 「重要」タブは、セッション/セッション設定から常に表示されるとは限りません。常に、フォルダリストビュー内からは表示されません。私はそれについてあまり明確ではありませんが、それを持たない特定のファイルタイプがあるようです。 BCには非常に多くのオプションとプラグインがありますが、回避策があるはずですが、私にとってはこれまでのところ大丈夫です。 http://www.scootersoftware.com/vbulletin/showthread.php?t=8457

2
AnneTheAgile