停止 VisualStudio 在文件中混合行结尾

在 VisualStudio2010中打开基于文本的文件时,它将使用 CRLF 而不是原始文件的行结束格式来编写我的编辑。我怎样才能阻止 VS 这样做呢?任何一个不怎么样的编辑都应该具备这种能力。

更糟糕的是,由于 VS 在 CRLF 写了部分文件,然后(当再次打开文件时)会出现一个对话框,要求我转换文件行结束。

142950 次浏览

档案菜单上,选择 高级保存选项,你可以在那里控制它。

编辑: 这是文件,你应该有一个文件首先打开。

VS2010 + 有一个插件解决方案: 线尾统一器

安装插件后,您可以在解决方案资源管理器中右键单击文件和文件夹,并调用菜单项 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

在 VisualStudio2015中(这个值在2019年仍然有效) ,检查设置:

工具 > 选项 > 环境 > 文件 > 检查加载时行尾是否一致

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

http://editorconfig.orghttps://learn.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. 如果不存在,则为项目添加一个名为. edit orconfig 的新文件

  2. 操纵编辑器配置以使用您的首选行为。

比起制表符,我更喜欢使用空格,并且对于所有代码文件都使用 CRLF。
这是我的编辑配置

# http://editorconfig.org
root = true


[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true


[*.md]
trim_trailing_whitespace = false


[*.tmpl.html]
indent_size = 4


[*.scss]
indent_size = 2