如何使Beyond Compare忽略非文本字符

时间:2016-04-28 02:49:10

标签: visual-studio visual-studio-2015 beyondcompare beyondcompare4

我的问题是双重的。我使用Beyond Compare与Visual Studio 2015集成作为我的比较/合并工具。在查看我的待定更改列表时,我会看到一个文件,如果我正确点击 - >源控制 - >与最新版本比较,我可以看到文本比较没有差异,如下所示:

Text Compare - Note (for later) the bit I've highlighted

但是,如果我进行相同的十六进制比较,我得到以下结果:

Hex Compare - BOM at the start

我可以看到它在开始时以某种方式获得了EF BB BF,并且Beyond Compare通过左侧窗口中的红色条指示了这种差异。

在其他情况下,我已经在'待发生变化中看到了文件。在结尾处有0d0a,显然对于换行符而言Beyond Compare并没有将其显示为文本比较中的差异(我已经看到Git GUi将其显示为过去的差异)。

如何将“超越比较”忽略为忽略此类更改,而这些更改在将特定文件视为“等待更改”时不会显示在文本比较中。所以我没有在“等待变更”中看到它。窗口首先?

或者,如果那根本不可能,

如何让超越比较在默认文本比较中显示这些更改,以便我可以轻松撤消它们?

1 个答案:

答案 0 :(得分:2)

要使额外的换行符在文本比较中显示为差异:

  1. 点击规则工具栏按钮(裁判图标)。
  2. 重要性标签中,选中比较行结尾(PC / Mac / Unix)
  3. 要使其成为新文本比较会话的默认设置,请在单击“确定”之前将下拉列表从仅用于此视图更改为同时更新会话默认值
  4. 如果您启用查看>可见空白,额外换行符将显示为红色差异。当此设置打开时,它还将在一侧显示Windows样式换行符,在另一侧显示Unix样式换行符作为区别。

    正如AdrianHHH所说,EF BB BF是一个UTF-8字节顺序标记。无法在文本比较中添加或删除BOM。在十六进制比较中,可以从文件中删除BOM。