【问题标题】:Normalizing line endings in Visual Studio 2010在 Visual Studio 2010 中规范化行尾
【发布时间】:2010-08-04 15:08:15
【问题描述】:

我们有多个开发人员在开发一个应用程序,似乎每当一个特定的人在处理一个文件时,其他任何人都在处理它,他们会得到:

以下文件中的行尾不一致。你想要 规范化行尾?

在 Visual Studio 中是否有一些选项可以让开发人员进行更改,这样我们就不会一直不断地弹出这个非常烦人的消息?

【问题讨论】:

    标签: visual-studio visual-studio-2010 line-endings


    【解决方案1】:

    如果您不希望 Visual Studio 在打开文件时检查此框,您可以在提示时取消选中该框(“始终显示此对话框”)或在工具->环境下的选项->文档->“检查加载时一致的行尾"

    您项目中的某个人可能正在使用使用 Unix 风格或 Mac 风格行尾的编辑器。

    【讨论】:

    • 这只是假装问题不存在。我更愿意实际修复它:实际上有一个 VS 设置来确保 mac/nix 样式的行结尾来自粘贴的代码,总是首先被规范化,before 文件被保存并放入源代码管理中。
    【解决方案2】:

    当您从其他来源复制/粘贴代码时,Visual Studio 似乎保留了行尾。这意味着即使您在一个平台上单独工作,您也会收到那些烦人的警告。

    在从其他项目复制/粘贴一些代码后,我们最近在脚本中混合了 Mac 和 Windows 行尾。

    通过将整个混合代码复制到适当的文本编辑器(即 Notepad++)中解决了该问题。然后我们从 Notepad++ 复制文本并在 Visual Studio 中替换文本。生成的文本具有统一的行尾。

    【讨论】:

    • 虽然这是一个有趣的解决方法来规范化行尾,但不需要通过 Notepad++(或任何其他“适当的文本编辑器”):Visual Studio 可以在加载期间自行进行 EOL 规范化/save,实际上这正是它提示用户的内容(除非按照接受的答案建议禁用),并且它不能解决在“一个特定的人”下一次编辑文件时必须再次归一化。可能更好的解决方案是让“一个特定的人”在保存时自己进行标准化;-)
    【解决方案3】:

    我之前收到过这条消息(通常使用 Unity3D 并使用 VS2012 作为我的编译器)。我发现解决此问题的最简单方法是让 VS 格式化代码(CTRL-K、CTRL-D)然后保存。

    【讨论】:

      【解决方案4】:

      如果您使用版本控制,请确保行尾的服务器和客户端配置与人们的工作方式一致,并且服务器应该能够正确处理它。

      例如对于 Perforce: http://kb.perforce.com/?article=063

      例如对于 Subversion,使用 svn:eol-style 属性 http://svnbook.red-bean.com/en/1.7/svn.advanced.props.file-portability.html#svn.advanced.props.special.eol-style

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-04
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多