具有奇怪行尾的源代码文件

问题描述 投票:0回答:1

我已经注意到,新的订约团队提交的某些.Net代码具有奇怪的行尾。当我对文件进行十六进制转储时,我看到每行以2个回车符(0d)和1个换行符(0a)结尾。

在Visual Studio中查看时,似乎每个代码行后都有一个空行,这看起来很奇怪。

什么原因造成的?它有一些奇怪的IDE吗?可能是Perforce造成的吗? (我通过同步Perforce工作区得到了代码。)>

我以前从未见过非标准的行尾是人们从网页,电子邮件或聊天窗口复制/粘贴代码。这可能是原因吗?

我已经注意到,新的订约团队提交的某些.Net代码具有奇怪的行尾。当我对文件进行十六进制转储时,我看到每行以2回车符(0d)和1行结尾...

line-endings
1个回答
0
投票

如果他们提交了Windows样式(CRLF)行尾,但在其客户端工作区中使用了unix(LF)LineEnd设置,则文件将在每行中包含一个额外的CR,并且Windows机器会同步它们降为CRCRLF。这是您所看到的内容最有可能的解释。

解决此问题的理想方法是让每个人都使用与他们的环境相匹配的LineEnd(通常,local的默认设置对此就很好了),但是如果有人需要在单个工具中使用多种工具/平台,在工作区中,切换到share LineEnd选项将通过剥离所有CR强制在提交时对所有内容进行规范化。 (这也使得无法提交带有实际CR字符的文件,但这通常

© www.soinside.com 2019 - 2024. All rights reserved.