我们想使用Visual Studio 2005处理SVN信息库的本地副本。此本地副本已由Mac OS X签出(并且更新和提交将仅在Mac OS X下进行,因此在那里没有问题),因此该行的结尾为UNIX样式。
我们担心Visual Studio会引入Windows样式的行尾。是否可以强制Visual Studio使用UNIX行尾?
Answers:
警告:此解决方案不再适用于Visual Studio 2017和更高版本。相反,需要jcox
和Munther Jaber
提供两个答案。我把它们组合成一个答案。
当OP指出“文件>高级保存选项”时,选择Unix行尾。
这只会影响创建的新文件。可以逐个文件地修复以前创建的任何文件,或者您可以搜索可修复批量文件的工具。
这是Visual Studio Community 2017可用的一些选项
我不知道是否需要为每个文件设置高级保存选项,但是这可能会避免我的Visual Studio一直在向统一为LF的文件中添加CL RF行尾的问题。
但是,我又迈出了一步,通过转到“工具”>“扩展和更新”>“在线”,然后在右侧的搜索栏中搜索“行尾”,添加了一个名为“行尾尾统一符”的扩展名。我将使用它来自动强制所有脚本以我选择的统一行结尾保存,但是您可以执行更多操作。 https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifier
strip'em是另一种解决方案,其功能类似于Line Endsing Unifier。 http://www.grebulon.com/software/stripem.php
我不确定它们有什么不同或两者的优缺点。我主要使用Line Endings Unifier只是因为它在Visual Studio市场中。我想我过去曾经使用过所有这些方法,但是我的记忆模糊。
VS2017支持.editorconfig文件,该文件可以与项目一起检入。这是设置Unix行尾的相关命令:
end_of_line = lf
在“文件>高级保存选项”中,选择“基于每个文件的Unix行结尾”。
或者,您可以使用Visual Studio的Strip'em加载项
当该文件保存在Visual Studio中时,它将转换文件的文本格式。
此处提供更多信息:http : //www.grebulon.com/software/stripem.php
因此,我发现这个问题和答案非常令人困惑,尤其是因为我主要是在Linux和PhpStorm中进行开发的,所以从来没有这些问题。
我发现对于Visual Studio 2019,当与@jcox.editorconfig
对新文件所做的更改结合使用时,只有Munther Jaber的解决方案有效。
但是,由于不熟悉Visual Studio本身,我花了很长时间才找出行尾框在哪里。
因此,我制作了有关如何配置此设备的视频。 https://youtu.be/YfN3igHXTPo