2010-10-22 63 views
90

在Visual Studio 2010中打开基于文本的文件时,它将使用CRLF而不是原始文件的行结尾格式编写我的编辑。我怎样才能阻止VS做到这一点?任何一个体面的编辑应该有这个能力。停止Visual Studio混合文件中的行结尾

更糟糕的是,由于VS使用CRLF中的部分编写了文件,因此(当再次打开文件时)会显示一个对话框,要求我将文件行转换为结尾。

+8

您可能想为此投票:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4160768-save-text-files-with-the-newline-convention-presen – 2013-07-05 17:36:30

+1

@ JonWatte目前正在审查截至2016年4月28日 – 2016-05-25 17:44:13

+2

我现在已经离开.NET,厌倦了MS每个季节似乎都在变化的重点,而忽略了这些简单的问题。很高兴看到他们最终修复它。 – 2016-05-26 20:50:50

回答

18

试试这个插件:Strip'em

+2

这当然是正确的方向,虽然不是很对。它有两个问题,首先它杀死了windows喜欢的utf-8魔术字节,并且在文件保存后也会导致更改,所以VS要求重新载入更改,我知道后者可以避免,但有时您不想自动重新加载更改。 – 2011-11-15 01:35:14

+4

实际上,删除UTF-8 BOM对我来说也很好,因为有些工具不喜欢它们。如果它是一个选项,会更好。 – dcstraw 2013-04-22 16:22:27

+0

VS 2013 Win桌面版有哪些版本的Strip'em?更改源清单中的目标允许安装,但在启动时崩溃插件的dll。 – BeyelerStudios 2016-04-02 11:58:53

78

文件菜单上,选择高级保存选项,您可以在那里控制它。

编辑:Here's the documentation,你应该先打开一个文件。

+3

我的VS2010终极安装没有这个菜单项。 – Palantir 2010-10-22 08:16:19

+0

该菜单选项不存在于VS2010的文件菜单上。 – snemarch 2010-10-22 08:17:53

+4

我在VS2010 Ultimate中有这个设置,但是这个选项不是全局持久选项,只对当前编辑器会话有效。我只想让VS在编辑文件时尊重当前打开的文件行尾。 – 2010-10-25 01:26:48

18

用VS2010 +有一个插件解决方案:Line Endings Unifier

在安装你可以右键点击文件和文件夹在解决方案资源管理器和调用菜单项Unify Line Endings in this file

配置该插件可通过

工具 - >选项 - >行尾统一者。

所包含的默认文件扩展名列表很窄:

.cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; 

可能要使用类似:

.cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config 
+9

这实际上是一个[插件](https://visualstudiogallery.msdn.microsoft.com/b2bbadd2-c337-43d7-9343-752ebbdd900f),默认情况下不安装。 – null 2015-10-09 06:59:55

+1

@null谢谢你指出,这实际上是我正在寻找。我更新了答案,以更好地反映所有这些 – 2016-05-25 17:44:45

51

在Visual Studio 2015年,检查设置:

工具>选项>环境>文档>在加载时检查一致的行结束

现在,VS2015会提示您在打开文件不一致时转换行结束符,因此您只需打开文件,从提示中选择所需的选项并再次保存。

+4

虽然这可能会有所帮助,但请注意问题已标记为[tag:visual-studio-2010]。 – dakab 2015-11-06 08:16:19

+2

此选项的问题在于它不会告诉您哪些行尾是文档中最常见的,因此我必须先在Notepad ++中打开文档,然后才选择正确的选项。此外,这是一个储蓄问题,而不是加载问题。 – 2015-12-27 17:52:13

+0

我遇到的问题是我正在打开文件,用LF结尾,然后我编辑或添加的每一行都会用CR LF结尾保存。当我再次打开文件时,它会问我想要将不一致的行结束符更改为什么,我会选择LF,然后重复该过程。 这里是我如何解决它: https://stackoverflow.com/a/47318778/2701911 – FragmentalStew 2017-11-15 23:05:57

相关问题