【问题标题】:Having troubles ignoring custom unimportant differences in Beyond Compare 3在 Beyond Compare 3 中忽略不重要的自定义差异时遇到麻烦
【发布时间】:2015-03-03 15:01:12
【问题描述】:

快速序言

在您将其标记为 this question 的副本之前,我正在尝试这个解决方案,但我仍然遇到问题。

问题

我正在尝试使用 Beyond Compare v3.3 比较 ASP.Net 网站的两个文件夹之间的文件。一个文件夹定义了所有的 .ascx.cs 文件,另一个从 dll 继承代码。

所以在左侧,.ascx 文件有

<%@ Control Language="c#" Inherits="MyControl" CodeFile="MyControl.ascx.cs" %>

在右边,他们有

<%@ Control Language="c#" Inherits="MyControl, MyAssembly" %>

如果这些是文件中唯一的差异,我希望通过忽略不重要的差异功能将它们视为相同。

在 Google 上快速搜索会出现 this StackOverflow questionthis support page,它们的含义基本相同。

我已按照他们的指示进行操作,但仍然无法正常工作。

这是我所做的:

  1. 开始新的文件夹比较会话。
  2. 打开了一个 .ascx 文件。
  3. 单击“规则”按钮打开“会话设置”对话框。
  4. 在“重要性”选项卡上,单击“编辑语法”按钮。
  5. 单击“新建...”按钮。
  6. 将“元素名称”设置为“代码文件”,将“文本匹配”设置为

    (Inherits|CodeFile)\s*=\s*(["'])[^'"]+\2

    选中“正则表达式”复选框,取消选中“此元素区分大小写”复选框,然后单击“确定”按钮。

  7. 单击“确定”按钮。
  8. (现在回到重要性选项卡)取消选中新创建的“代码文件”复选框。
  9. 在下拉列表中,选择“更新会话默认值”,然后单击确定。

为了仔细检查我的正则表达式是否正确,我使用正则表达式对两个 .ascx 文件运行了 ctrl+F。它正确地找到了所有三个实例(Inherits="..." 在左侧文件中,Inherits="..."CodeFile=".. ." 右侧)。

即使在文件比较(与文件夹比较相反)上,也不会将差异标记为不重要。这些特定的行在大小写上有所不同,它正确地将它们标记为不重要,但它仍然在抱怨 CodeFileInherits

我认为可能是因为一方有两个不同,而另一方有一个,所以我在一个文件上添加了注释,据我了解,该文件与我的新文件具有完全相同的规则类型。 BC3 也正确地忽略了评论。

有什么想法吗?

【问题讨论】:

    标签: beyondcompare3


    【解决方案1】:

    我在忽略 SQL 文件的 sp_updateextendedproperty 或 sp_addextendedproperty 行时遇到问题。我发现的灵魂是确保正则表达式实际上匹配整行,而不仅仅是它的一部分。 最初我使用的是:EXEC sp_(update|add)extendedproperty

    为了解决匹配问题,我将其更改为:.*EXEC sp_(update|add)extendedproperty.*

    这包括任何前置或附加的字符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-23
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 2011-04-09
      • 1970-01-01
      相关资源
      最近更新 更多