当前位置:  开发笔记 > 运维 > 正文

Visual Studio通过规范化不一致的行结尾意味着什么?

如何解决《VisualStudio通过规范化不一致的行结尾意味着什么?》经验,为你挑选了7个好方法。

Visual Studio偶尔会告诉我:

以下文件中的行结尾不一致.你想要标准化行结尾吗?

然后它给我一个不同标准或类似的下拉菜单,如Windows,Mac,Unix和几个Unicode.

这意味着什么,如果我点击会发生Yes什么?



1> Ken White..:

这通常意味着你的行以回车符/换行符对之外的其他内容结尾.当您从网页复制并粘贴到代码编辑器中时,通常会发生这种情况.

标准化行结尾只是确保所有行结束字符都是一致的.它阻止一行结束\r\n,另一行以\ror 结尾\n; 第一个是Windows行结束对,而其他通常用于Mac或Linux文件.

由于您是在Visual Studio中开发的,因此您显然希望从下拉列表中选择"Windows".:-)


啊,但如果您只是使用VS来修复不适用于Windows的内容呢?快速修复Linux实用程序或直接C/C++的东西,并且您不希望添加CRLF?等等 - 现在你想让MS读懂你的想法并知道使用哪个? VS团队无论哪种方式都错了,不是吗?啧!
那么为什么视觉工作室关注线条如何结束,它显然能识别所有不同的类型,它应该只是快乐和闭嘴.
问题不在于VS无法应对Unix行结尾 - 它可以.警告告诉您行结尾是_inconsistent_ - 即文件中的某些行是CRLF而有些行是LF.VS会解决这个问题,但是你工具链中的其他应用程序可能没有,因此它会警告你.如果您不关心这一点,请关闭警告:选项 - >环境 - >文档 - >'检查加载时的一致行结束'.如果您正在跨多个平台处理产品,则此警告非常有用.
哦,肯克,你是对的,如果我正在编辑一些我打算在Linux中编译的文件,我知道如果编译器没有完全符合它需要的行结束,那么编译器就会窒息死亡然后我会有很高兴VS让我选择......谢谢!
只需换行.

2> Alex Reitbor..:

有些行以\n.

其他一些行以\r\n.

Visual Studio建议您使所有行结束相同.



3> 小智..:

如果您使用的是Visual Studio 2012:

转到菜单文件高级保存选项 →选择行结束类型为Windows(CR LF).


如果看不到该选项,可以通过转到Tools-> Customize,进入命令选项卡并添加命令来自定义文件菜单.

4> CodingYoshi..:

要打开/关闭选项,请从菜单栏中按照以下步骤操作:

工具选项环境文档检查加载时的行结束是否一致



5> monowerker..:

您正在编辑的文件已使用其他一些不使用相同行结尾的编辑器进行编辑,从而生成具有混合行结尾的文件.

用于行结尾的ASCII字符是:

CR,回车
LF,换行

Windows = CRLF
Mac OS 9或更早版本= CR
Unix = LF



6> Richard Ever..:

维基百科的换行文章可能会帮助你.这是一段摘录:

不同的换行约定通常会导致在不同类型的系统之间传输的文本文件显示不正确.例如,源自Unix或Apple Macintosh系统的文件在Microsoft Windows上运行的某些程序上可能显示为单行.相反,当在Unix系统上查看源自Windows计算机的文件时,额外CR可以显示为^ M或显示在每行的末尾或作为第二个换行符.



7> ChrisW..:

这意味着,例如,你的一些文本行(Windows标准),有些只有一个(Unix标准).

如果单击"是",则源文件中的行尾将转换为具有相同格式.

这对编译器没有任何影响(因为行尾只计算为空格),但它可能会对其他工具产生一些影响(例如版本控制系统上的'diff').

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有