Visual Studio偶尔会告诉我:

以下文件的行尾不一致你想规范行尾吗?

然后它给我一个不同标准的下拉列表,比如Windows、Mac、Unix和几个Unicode标准。

这意味着什么?如果我单击“是”会发生什么?


当前回答

Visual Studio 2008有一个插件,它可以在保存文件时转换行结束格式。你可以在这里下载:http://grebulon.com/software/stripem.php

其他回答

维基百科的换行文章可能会帮到你。以下是节选:

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

这意味着,例如,有些文本行带有<回车><Linefeed> (Windows标准),而有些文本行仅以<Linefeed> (Unix标准)结束。

如果你点击'是'这些行结束在你的源文件将被转换为所有相同的格式。

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

您正在编辑的文件已使用其他未使用相同行结束符的编辑器进行编辑,导致文件的行结束符混合。

行尾使用的ASCII字符是:

运费返还 LF,换行

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

如果您正在使用Visual Studio 2012:

进入菜单文件→高级保存选项→选择行结束类型为Windows (CR LF)。

要打开/关闭该选项,请从菜单栏执行以下步骤:

工具→选项→环境→文档→加载时检查行尾是否一致