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

How do I get Beyond Compare to Ignore non text characters

我的问题是双重的。我正在使用与 Visual Studio 2015 集成的 Beyond Compare 作为我的 Compare/Merge 工具。在查看我的 'Pending Changes' 列表时,我看到一个文件,如果我 'Right Click -> Source Control -> Compare with Latest Version',我看不出文本比较有什么不同,如下所示:

但是,如果我对其进行十六进制比较,我会得到以下结果:

我可以看到它在开始时以某种方式得到了 EF BB BF,Beyond Compare 在左侧用红色条记录了这种差异 window。

在其他情况下,我看到 'Pending Changes' 中的文件末尾有 0d0a,这显然是换行符,但 Beyond Compare 并没有将其显示为文本比较中的差异(我'已经看到 Git GUI 将其显示为过去的差异)。

当 Beyond Compare 将特定文件视为 'pending change' 时,我如何才能忽略此类未显示在文本比较中的更改,因此我在 'Pending Changes' window 第一名?

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

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

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

  1. 单击规则 工具栏按钮(裁判图标)。
  2. 重要性选项卡中,勾选比较行尾(PC/Mac/Unix).
  3. 要使其成为新文本比较会话的默认值,请将下拉列表从仅用于此视图更改为同时更新会话默认值在单击“确定”之前。

如果您打开视图 > 可见空白,额外的换行符将显示为红色差异。启用此设置后,它还会在一侧显示 Windows 风格的换行符,在另一侧显示 Unix 风格的换行符。

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