91

我们想使用 Visual Studio 2005 来处理 SVN 存储库的本地副本。这个本地副本已经被 Mac OS X 签出(并且更​​新和提交只会在 Mac OS X 下进行,所以没有问题),因此行尾是 UNIX 风格的。

我们担心 Visual Studio 会引入 Windows 样式的行尾。是否可以强制 Visual Studio 使用 UNIX 行尾?

4

10 回答 10

54

警告:此解决方案不再适用于 Visual Studio 2017 及更高版本。相反,需要jcox和的答案Munther Jaber。我已将它们组合成一个答案

当 OP 声明“文件 > 高级保存选项”时,选择 Unix Line Endings。

这只会影响创建的新文件。可以逐个文件修复之前创建的任何内容,或者您​​可以搜索将批量修复的工具。

于 2012-05-16T04:22:44.227 回答
49

以下是 Visual Studio Community 2017 可用的一些选项

  1. 由于“不常用”,微软已删除“文件 > 高级保存选项”。不管什么意思。https://developercommunity.visualstudio.com/content/problem/8290/file-advanced-save-options-option-is-missed.html 您可以通过转到“工具>自定义”然后“命令”选项卡将其添加回来,选择“菜单栏”旁边的下拉菜单,选择“文件”,然后选择“添加命令”>“文件”>“高级保存选项..”。然后您可以使用“下移”在文件菜单中对其重新排序。

我不知道您是否必须为每个文件设置高级保存选项,但这可能会阻止我遇到的问题,即我的 Visual Studio 不断将 CL RF 行结尾添加到我的文件中,这些文件都是 LF。

  1. 但我更进一步,我通过转到“工具>扩展和更新>在线”添加了一个名为“行尾统一器”的扩展,然后在右侧的搜索栏中搜索“行尾”。我将使用它来自动强制我的所有脚本以我选择的统一行结尾进行保存,但你可以用它做更多的事情。 https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifier

  2. strip'em 是另一种类似于 Line Endings Unifier 的解决方案。 http://www.grebulon.com/software/stripem.php

我不确定它们有何不同或两者的优缺点。我主要使用 Line Endings Unifier 只是因为它在 Visual Studio Marketplace 中。我想我过去用过所有这些方法,但我的记忆很模糊。

于 2017-11-15T23:01:20.940 回答
30

所以我发现这个问题和答案非常令人困惑,特别是因为我主要在 Linux 和 PhpStorm 中开发并且根本没有这些问题。

我发现对于 Visual Studio 2019,只有 Munther Jaber 的解决方案在与 @jcox.editorconfig对新文件的更改结合使用时才有效。

但是,由于不熟悉 Visual Studio 本身,我花了很长时间才找出行尾框在哪里......

所以我制作了一个关于如何配置它的视频。 https://youtu.be/YfN3igHXTPo

更新:我学会了如何通过 FFMPEG 制作动画 GIF,这样我就可以在这里嵌入视频了! 在此处输入图像描述

于 2020-07-27T05:40:27.993 回答
25

VS2017 支持.editorconfig 文件,可以和你的项目一起签入。这是设置 Unix 行尾的相关命令:

end_of_line = lf
于 2018-06-28T20:17:16.763 回答
9

“文件 > 高级保存选项”,选择 Unix Line Endings works per file based。

或者,您可以使用 Strip'em Add-in for Visual Studio

当文件保存在 Visual Studio 中时,此加载项会转换文件的文本格式。

更多信息在这里:http ://www.grebulon.com/software/stripem.php

于 2015-03-04T14:05:19.110 回答
6

有一些 VS 扩展对解决这个问题很有用,我会推荐Trim line ends on save。这个扩展是免费和开源的。有类似的扩展可能对您有用,只需转到工具 | 扩展和更新并在线搜索“line end”

于 2015-04-15T19:14:09.517 回答
3

适用于 Mac 的 Visual Studio 2019

转到项目> 解决方案选项> 源代码> 代码格式> 文本文件 在行终止下拉框中选择 Unix/Mac。

图片

于 2020-06-04T09:03:12.527 回答
1

可以在 Visual Studio 2017 for Mac 中强制换行

  1. 转到工具 > 添加自定义工具...。
  2. 在出现的对话框中,将左侧菜单向下滚动到“文本编辑器”部分,然后选择“常规”。
  3. 在第一个选项Line ending conversion中,更改Leave line endings as isAlways convert line endings

对话框截图

于 2018-12-21T02:39:25.897 回答
0

在此处输入图像描述 LF 是可点击的,您可以选择 LF 或 CRLF。

于 2018-08-15T20:44:46.163 回答
-1

在 Windows 上的最新版本中,您可以访问

File > Preferences > Settings > Text Editor > Files > Eol
于 2021-11-12T20:40:28.987 回答