配置Visual Studio以使用UNIX行尾


72

我们想使用Visual Studio 2005处理SVN信息库的本地副本。此本地副本已由Mac OS X签出(并且更​​新和提交将仅在Mac OS X下进行,因此在那里没有问题),因此该行的结尾为UNIX样式。

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

Answers:


49

警告:此解决方案不再适用于Visual Studio 2017和更高版本。相反,需要jcoxMunther Jaber提供两个答案。我把它们组合成一个答案

当OP指出“文件>高级保存选项”时,选择Unix行尾。

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


9
在VS2010 Express上找不到“文件”>“高级保存选项”,还有其他选择吗?
肖啸

6
似乎只更改了当前打开的文件,对吗?
阿尔伯特

1
它将更改新创建文件的默认设置。它不会修改行尾一致的已创建文件。默认情况下,当您打开包含混合行尾的文件时,Visual Studio会警告您,并提示您选择一致的行尾。
2014年

1
@xiaoxiao尝试将您的环境设置为一般msdn.microsoft.com/en-us/library/dd409797.aspx
GibboK 2015年

29
这不是一种可扩展的方法,不能简单地每天“高级保存选项” 300个源文件。令我惊讶的是,MS以这种方式设计了Visual Studio。
CoffeDeveloper

39

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

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

我不知道是否需要为每个文件设置高级保存选项,但是这可能会避免我的Visual Studio一直在向统一为LF的文件中添加CL RF行尾的问题。

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

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

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


1
截至2018年7月,还有另一个选项-选择文件->另存为,然后在保存对话框中,保存按钮具有一个下拉菜单,用于编码保存。您可以在此处设置行尾。
Sudsy

1
@Sudsy我对此进行了测试,并确认它在Visual Studio Community 2017版本15.7.4中有效。根据零,使用高级保存选项时,“更改设置将应用于在Visual Studio中创建的所有新文件”。我想知道这种方法是否也适用。
FragmentalStew


8

在“文件>高级保存选项”中,选择“基于每个文件的Unix行结尾”。

或者,您可以使用Visual Studio的Strip'em加载项

当该文件保存在Visual Studio中时,它将转换文件的文本格式。

此处提供更多信息:http : //www.grebulon.com/software/stripem.php


8

因此,我发现这个问题和答案非常令人困惑,尤其是因为我主要是在Linux和PhpStorm中进行开发的,所以从来没有这些问题。

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

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

因此,我制作了有关如何配置此设备的视频。 https://youtu.be/YfN3igHXTPo

更新:我学会了如何通过FFMPEG制作GIF动画,以便将视频嵌入此处! 在此处输入图片说明


我在该栏中看不到右下角的按钮,如何激活这些按钮?
Oneiros

6

有一些VS扩展名对于解决此问题很有用,我建议在保存时修剪行尾。此扩展是免费和开放源代码。有一些类似的扩展可能对您有用,只需转到TOOLS | 扩展和更新,并在线搜索“行尾”


2
Advanced Save Options尽管我决定采用其他扩展名(“线尾统一符”),但对我来说,比起参考的答案更有价值。
Trevor



1

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

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

对话框的屏幕截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.