使用UNIX端行配置Visual Studio?

moa*_*ala 61 visual-studio-2005 line-endings visual-studio end-of-line

我们希望Visual Studio 2005能够处理SVN存储库的本地副本; 这个本地副本已经由Mac OS X签出(和更新,并提交将只在Mac OS X中进行,所以没有问题与),并因此行的末尾是UNIX.

我们担心Visual Studio会引入WINDOWS行尾.是否可以强制Visual Studio使用UNIX行尾?

谢谢.

Zer*_*ero 46

当OP指出"文件>高级保存选项"时,选择Unix Line Endings.

  • 这不是一种可扩展的方法,每天不仅仅是"高级保存选项"300源文件.让我感到惊讶的是MS设计的Visual Studio那种方式. (24认同)
  • 在VS2010 express上找不到文件>高级保存选项,有什么选择吗? (7认同)
  • 这似乎只改变了当前打开的文件,对吗? (5认同)
  • 它将更改新创建的文件的默认值。它不会修改已创建的具有一致行结尾的文件。默认情况下,当您打开具有混合行结尾的文件时,Visual Studio 会发出警告,并提示您选择一致的行结尾。 (2认同)
  • 这个答案已经完全过时了。我成为 StackOverflow 会员已经 10 年了,但我不确定我们应该做什么。否决答案似乎……不对……因为它消除了曾经有效的答案的业力。 (2认同)

Fra*_*tew 30

以下是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. 但我更进了一步,我通过转到"工具>扩展和更新>在线"添加了一个名为"Line Endings Unifier"的扩展,然后在右侧的搜索栏中搜索"行结尾".我将使用它来自动强制我的所有脚本保存我选择的统一行结尾,但你可以用它做更多. 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中.我想我过去曾使用过所有这些方法,但我的记忆很模糊.

  • @Sudsy 我对此进行了测试,并确认它在 Visual Studio 社区 2017 版本 15.7.4 中确实有效。根据 Zero,当使用高级保存选项时,“更改设置将适用于在 Visual Studio 中创建的所有新文件”。我想知道这种方法是否也是如此。 (2认同)

The*_*ith 22

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

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

但是,由于不熟悉 Visual Studio 本身,我花了很长时间才找出行结束框的位置......

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

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

  • 我看不到该栏中的右下角按钮,如何激活这些按钮? (2认同)
  • 确保您使用的是 Visual Studio 而不是 Visual Studio Code。这是问题和答案中的一个主要混淆点...... (2认同)

jco*_*cox 11

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

end_of_line = lf
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于我的新文件。我将其包含在我的答案中,不过。/sf/ask/266168451/#63109256 (3认同)

Gib*_*boK 8

"文件>高级保存选项",选择基于每个文件的Unix Line Endings.

或者,您可以使用适用于Visual Studio的Strip'em外接程序

此加载项在文件保存在Visual Studio中时转换文件的文本格式.

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


kam*_*ayd 6

有一些VS扩展可用于解决此问题我将建议修剪线路结束保存.此扩展程序是免费和开源的.有类似的扩展可能适合您,只需转到TOOLS | 扩展和更新并在线搜索"line end"

  • 虽然我决定选择不同的扩展名(Line Endings Unifier),但对于我来说,比"高级保存选项"的答案更有价值. (2认同)

小智 5

对于 Visual Studio 2019 for Mac

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

图像