在比较Delphi表单文件的版本时,如何使Beyond Compare忽略某些差异

时间:2010-09-08 13:58:01

标签: delphi version-control beyondcompare beyondcompare3

我使用Beyond Compare(版本3.1.10)来比较不同版本的Delphi表单文件,但我不希望看到有关ExplicitTop,ExplicitLeft,ExplicitHeight和ExplicitWidth的差异。

详细说明: 这些行总是以许多空格字符开头,然后是“ExplicitXXX =”和一个数字。较旧版本的Delphi没有这些行,所以我想忽略这些行添加到最新版本的差异,我也想忽略数字发生变化的差异。

有谁知道怎么做?

编辑: 重复(或多或少):

How do I configure BeyondCompare to ignore SCM replaced text in comments?

4 个答案:

答案 0 :(得分:83)

  1. 加载一对显示差异的DFM文件。
  2. 点击会话设置按钮(又名规则 w / umpire图标)或使用会话 - &gt; 会话设置< / strong>菜单项。
  3. 切换到重要性标签,然后点击编辑语法... 按钮,打开第二个对话框。
  4. 点击顶部列表框下方的新建... 按钮,打开第三个对话框。
  5. 元素名称选项更改为Explicit*,将文字匹配更改为Explicit(Left|Top|Width|Height) = \d+并检查匹配字符大小写正则表达式复选框,然后点击确定,然后在第二个对话框中再次点击确定
  6. Explicit*现在应该出现在原始对话框的语法元素列表中。取消选中它,然后将对话框底部的组合框从仅用于此视图更改为更新会话默认值

答案 1 :(得分:9)

我不使用Beyond Compare,但是如果你想让更新版本的Delphi停止添加(IMO无用的)Explicit*属性,你可以使用Andreas Hausladen的DDevExtensions

答案 2 :(得分:3)

在我的情况下(C#),我想忽略包含名称空间(因此使用的)的整行,我改变了。 (Referenced Walkthrough - Ignore entire line if text exist in line

即。

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

要做到这一点

在Craig解决方案的第5步中,将文本匹配更改为

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

(包括引号)

就是这样。

答案 3 :(得分:2)

Craig Peterson的回答是正确的。 注:然而!从会话/会话设置中始终无法看到选项卡“重要性”。总是,从文件夹列表视图中,它不会存在。似乎某些文件类型也没有它,尽管我对此不太清楚。 BC有很多选择和插件,我打赌有一个解决方法,但对我来说,我一直都很好。 http://www.scootersoftware.com/vbulletin/showthread.php?t=8457