57

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

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

有谁知道如何做到这一点?

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

如何配置 BeyondCompare 以忽略评论中的 SCM 替换文本?

4

4 回答 4

86
  1. Load a pair of DFM files showing the difference.
  2. Click the Session Settings button (aka Rules w/ umpire icon) or use the Session->Session Settings menu item.
  3. Switch to the Importance tab then click the Edit Grammar... button to open a second dialog.
  4. Click the New... button below the top listbox to open a third dialog.
  5. Change the Element Name option to something like Explicit*, change the Text Matching to Explicit(Left|Top|Width|Height) = \d+ and check the Match character case and Regular expression checkboxes, then click Ok, then click Ok again in the second dialog.
  6. Explicit* should now appear in the original dialog's Grammar Elements list. Uncheck it, then change the combobox at the bottom of the dialog from Use for this view only to Update session defaults.
于 2010-09-08T15:20:25.257 回答
9

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

于 2010-09-08T14:06:16.140 回答
3

在我的情况下(C#),我想忽略包含我更改的命名空间(因此,使用的)的整行。(参考演练 - 如果文本存在于行中,则忽略整行

IE。

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

要做到这一点

在 Craig 解决方案的第 5 步中,将Text Matching更改为

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

(包括引号)

而已。

于 2012-08-24T02:07:44.917 回答
2

克雷格彼得森的回答是正确的。注意但是!“重要性”选项卡并不总是从会话/会话设置中可见。总是,从文件夹列表视图中,它不会在那里。似乎有些文件类型也没有它,尽管我对此不太清楚。BC 有很多选项和插件,我敢打赌有一个解决方法,但对我来说,到目前为止我还可以。 http://www.scootersoftware.com/vbulletin/showthread.php?t=8457

于 2013-02-07T17:37:16.770 回答