我们希望使用Visual Studio 2005在本地使用SVN仓库的副本。这个本地副本已经被Mac OS X检出(更新和提交只会在Mac OS X下进行,所以没有问题),因此行尾是UNIX风格。
我们担心Visual Studio会引入Windows风格的行尾。有没有可能强制Visual Studio使用UNIX风格的行尾呢?
我们希望使用Visual Studio 2005在本地使用SVN仓库的副本。这个本地副本已经被Mac OS X检出(更新和提交只会在Mac OS X下进行,所以没有问题),因此行尾是UNIX风格。
我们担心Visual Studio会引入Windows风格的行尾。有没有可能强制Visual Studio使用UNIX风格的行尾呢?
但我更进一步,通过转到“工具>扩展和更新>在线”,然后在右侧的搜索栏中搜索“行尾”来添加一个名为“Line Endings Unifier”的扩展。我将使用它来自动强制所有脚本以我选择的统一行尾保存,但您也可以做更多。
https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifierstrip'em是另一个类似于Line Endings Unifier的解决方案。http://www.grebulon.com/software/stripem.php
我不确定它们之间的区别或优缺点。主要是因为Line Endings Unifier在Visual Studio Marketplace中,所以我主要使用它。我想我过去用过所有这些方法,但我的记忆有点模糊。
我发现这个问题和答案非常令人困惑,特别是因为我主要在Linux和PhpStorm中开发,从来没有遇到过这些问题。
我发现对于Visual Studio 2019,只有Munther Jaber的解决方案与@jcox的.editorconfig
更改新文件时才有效。
然而,由于不熟悉Visual Studio本身,我花了很长时间才找到换行符选项...
所以我制作了一个视频来展示如何配置。 https://youtu.be/YfN3igHXTPo
警告:这个解决方案不再适用于Visual Studio 2017及更高版本。取而代之,需要使用jcox
和Munther Jaber
的两个答案。我将它们合并成一个答案。
如原帖所述,在“文件 > 高级保存选项”中,选择Unix换行符。
这只会影响新创建的文件。要修复以前创建的任何文件,可以逐个文件进行修复,或者您可以搜索工具来批量修复。
VS2017支持.editorconfig文件,可以与您的项目一起检查。这是设置Unix行结尾的相关命令:
end_of_line = lf
文件 > 高级保存选项",选择Unix行结尾可以基于文件进行工作。
或者您可以使用Visual Studio的Strip'em插件
此插件在Visual Studio中保存文件时转换文本格式。
"有一些VS扩展程序可以帮助解决这个问题。我建议使用Trim line ends on save。这个扩展程序是免费的,开源的。还有类似的扩展程序可能适合您,只需转到工具 | 扩展和更新并在线搜索“行尾”即可。
File > Preferences > Settings > Text Editor > Files > Eol