57

Beyond Compare(バージョン3.1.10)を使用してDelphiフォームファイルのさまざまなバージョンを比較していますが、ExplicitTop、ExplicitLeft、ExplicitHeight、ExplicitWidthに関する違いは見たくありません。

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

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

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

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

4

4 に答える 4

86
  1. 違いを示すDFMファイルのペアをロードします。
  2. [セッション設定]ボタン(審判アイコン付きのルール)をクリックするか、[セッション] ->[セッション設定]メニュー項目を使用します。
  3. [重要度]タブに切り替え、[文法の編集... ]ボタンをクリックして、2番目のダイアログを開きます。
  4. 上部のリストボックスの下にある[新規... ]ボタンをクリックして、3番目のダイアログを開きます。
  5. [要素名]オプションを次のようExplicit*に変更し、[テキストの一致]をに変更して[大文字と小文字を一致させる]Explicit(Left|Top|Width|Height) = \d+チェックボックスと[正規表現]チェックボックスをオンにし、[ OK ]をクリックして、2番目のダイアログでもう一度[ OK ]をクリックします。
  6. Explicit*これで、元のダイアログの文法要素リストに表示されます。チェックを外し、ダイアログの下部にあるコンボボックスを[このビューでのみ使用]から[セッションのデフォルトを更新]に変更します。
于 2010-09-08T15:20:25.257 に答える
9

Beyond Compareは使用しませんが、新しいバージョンのDelphiで(IMOの役に立たない)Explicit*プロパティの追加を停止したい場合は、AndreasHausladenのDDevExtensionsを使用できます。

于 2010-09-08T14:06:16.140 に答える
3

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

すなわち。

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

それをするために

Craigのソリューションのステップ5で、テキストマッチングを 次のように変更します。

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

(引用符を含む)

それでおしまい。

于 2012-08-24T02:07:44.917 に答える
2

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

于 2013-02-07T17:37:16.770 に答える