【问题标题】:BeyondCompare ignore content between opening and closing tags of modified tagsBeyond Compare 忽略修改标签的开始和结束标签之间的内容
【发布时间】:2020-11-18 22:45:37
【问题描述】:

我在另一篇文章中看到 BeyondCompare 不能忽略换行符(或者至少当时不能),所以我认为这是一个失败的原因。但是,我们有数百个文件已替换文件中的标签(例如:{my_tag}some content{/my_tag} 已更改为 {new_tag}some content{/new_tag}。 在某些情况下,第一个标签 + 内容可能只有 5 行,而新标签 + 内容是 10 行。是否可以忽略这些更改?

我尝试了{my_tag((.|\n)*){\/my_tag(.*),它似乎在 regex101 中有效,但在尝试将其放入 BeyondCompare 时出现错误。

感谢您的帮助。

【问题讨论】:

    标签: beyondcompare beyondcompare4


    【解决方案1】:

    如果您忽略 {my_tag}..{/my_tag} 和 {new_tag}..{/new_tag} 的所有实例以及其中的内容,您可以将其作为文件格式的语法元素来执行,而不是使用会话设置对话框的“不重要的文本”部分(正则表达式仅限于一行)。

    如果您还没有文件的自定义文件格式,则需要先创建一个新格式。如果你这样做了,请跳到第 6 步。提前道歉这是多少步; UI 需要重新设计。

    1. 转到工具 > 文件格式...
    2. 单击左侧列表底部的 [+] 按钮并选择“文本格式”
    3. 在“常规”选项卡上添加与您的文件名匹配的掩码,例如 *.csv。
    4. 点击“另存为”为其命名,然后点击“关闭”保存所有更改。
    5. 如果您已经加载了文件,则需要从工具栏上的“格式”下拉菜单中选择新的文件格式。如果您在比较编辑正上方的面板中看到文件格式名称,就可以判断它是否正确。

    在系统中设置好文件格式并为文件加载后:

    1. 点击工具栏的“格式”按钮可以编辑当前加载的文件格式。
    2. 在“语法”选项卡上,单击顶部列表框下方的 [+] 按钮。
    3. 在“语法项”对话框中,
      一种。为元素命名,例如“忽略的标签”
      湾。将“类别”更改为“分隔”
      C。在“发件人”中输入{(my|new)_tag},在“收件人”中输入{/(my|new)_tag}
      d。检查“正则表达式”选项。
      e. “匹配字符大小写”影响搜索字符串是否区分大小写。 “此元素区分大小写”控制是否将两侧的大小写差异视为重要差异。
      F。点击“确定”
    4. 在外部“文本格式”对话框中单击“确定”。此时 BC 应该询问您是否要重新加载文件格式,您应该这样做。完成后,您可以单击其中一个标签,您应该会在编辑下方的状态栏中看到您给它的名称(水平滚动条旁边)
    5. 单击“规则”工具栏按钮将打开“会话设置”对话框。
    6. 在“重要性”选项卡上,取消选中底部列表框中的“忽略的标签”项(或您命名的任何名称)。
    7. 如果您想在以后的所有情况下都忽略它,请将对话框底部的组合框从“仅用于此视图”更改为“同时更新会话默认值”。如果您不这样做,则只要您想忽略标签,就需要重复步骤 10-13。
    8. 单击“确定”。比较应该重新加载,结果应该是蓝色的,这是一个不重要的区别。

    所有这些设置完成后,它应该会自动运行,如果需要,您可以在“颜色、字体”下的“选项”对话框中为元素添加语法突出显示。

    【讨论】:

    • 这很好用。我唯一要补充的是,在#6 之前的某个地方,您需要打开一个文本比较,因为如果您只打开了一个文件夹比较,会话设置中的“重要性”选项卡将不会显示。跨度>
    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2016-05-24
    • 2016-02-12
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多