关于Visual Studio源代码文件的行尾

Posted yilang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Visual Studio源代码文件的行尾相关的知识,希望对你有一定的参考价值。

我们都知道,UNIX只使用换行符(linefeed)来结束每一行,而DOS传统上使用CR+LF来结束每一行,Visual Studio应该完全在DOS世界中,但不管出于什么原因,当我们从代码服务器上获取代码后,我有时收到以下消息:

技术图片

 

 

如果文件是从某个外部项目导入的,这是可以理解的,但是这个文件是由Visual Studio本身创建的。呵呵?接受他们“修复”该文件的提议,我稍后将其提交到git存储库并获得另一条消息:

技术图片

 

 

目前还不清楚我的修复是否是一个真正的修复,或者只是一个解决方法,但我相信这些问题源于Visual Studio在每个源文件的开头都包含了字节顺序标记;这是一个三字节序列(EF BB BF),与Unicode编码有关,但这会混淆UTF-8,我也相信行结尾也一样。

修复方法是在项目目录的根目录中使用.editorconfig文件,并告诉它使用UTF-8编码,而不是UTF-8 with-byte-order-mark:

技术图片

 

在我的例子中,我关闭了项目,然后打开了项目,而未来的文件保存剥离了字节顺序标记,从而结束了VS和git之间的战斗。我对editorconfig说得还不够多,它允许您配置与项目一起(并跟随)的首选项,并且不要求每个人在每次处理新项目时都调整其Visual Studio选项。所有项目都应该有一个.editorconfig,我很感激VS2017(及以后的版本)支持它。

以上是关于关于Visual Studio源代码文件的行尾的主要内容,如果未能解决你的问题,请参考以下文章

应将哪些 Visual Studio 2013 项目文件签入源代码管理?

如何使 Visual Studio 文件远离我的源代码?

Visual Studio 2015 新文件未自动添加到源代码管理

我应该将 Visual Studio 2015 .vs 文件夹添加到源代码管理吗?

如何在源代码控制(Visual Studio 和 TFS)中比较文件 .csproj 与最新版本

Visual Studio 2022 源代码管理未显示更改