Visual studio 如何超越比较而忽略非文本字符

Visual studio 如何超越比较而忽略非文本字符,visual-studio,visual-studio-2015,beyondcompare,beyondcompare4,Visual Studio,Visual Studio 2015,Beyondcompare,Beyondcompare4,我的问题有两方面。我正在使用与Visual Studio 2015集成的Beyond Compare作为比较/合并工具。在查看我的“挂起的更改”列表时,我看到一个文件,如果我“右键单击->源代码管理->与最新版本进行比较”,我在文本比较中看不到任何差异,如下所示: 但是,如果我对相同的进行十六进制比较,我会得到以下结果: 我可以看到它不知何故得到了EF BB BF在开始和超越比较注意到这个差异与红色栏在左侧窗口 在其他情况下,我在“挂起的更改”中看到文件结尾处有0d0a,这显然是换行符,但B

我的问题有两方面。我正在使用与Visual Studio 2015集成的Beyond Compare作为比较/合并工具。在查看我的“挂起的更改”列表时,我看到一个文件,如果我“右键单击->源代码管理->与最新版本进行比较”,我在文本比较中看不到任何差异,如下所示:

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

我可以看到它不知何故得到了EF BB BF在开始和超越比较注意到这个差异与红色栏在左侧窗口

在其他情况下,我在“挂起的更改”中看到文件结尾处有0d0a,这显然是换行符,但Beyond Compare并没有在文本比较中显示这一点(我在过去看到Git GUi将其显示为一种差异)

当文本比较将某个特定文件视为“挂起的更改”时,我如何超越比较而忽略文本比较中没有显示的更改,这样我就不会在“挂起的更改”窗口中看到它

或者,如果根本不可能的话


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

要使额外的换行符在文本比较中显示为差异,请执行以下操作:

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


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

    文件开头的EF-BB-BF表示带BOM的UTF-8。在顶部图像的右侧,在文件内容上方,您可以看到红色下划线的“BOM”。谢谢Adrian。缺少带下划线的BOM文本;我可以用这个和克里斯·肯尼迪下面的答案来解决这个问题。谢谢克里斯。这看起来是我需要的。