阻止Visual Studio混合文件中的行结尾

Bre*_*yan 115 newline visual-studio-2010 visual-studio

在Visual Studio 2010中打开基于文本的文件时,它将使用CRLF而不是原始文件的行结束格式编写我的编辑.我如何阻止VS这样做?任何一半体面的编辑都应具备此功能.

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

GvS*_*GvS 83

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

编辑:这是文档,你应该先打开一个文件.

  • 这实际上并没有解决问题,因为您必须在每次保存时选择该选项.这也意味着每次保存时都必须选择一个行结束选项.正确的行为是每个其他文本编辑器支持的,它是在加载时检测格式,并在保存时以该格式保存.没有办法让VS2010做那个AFAICT,这是一个耻辱. (87认同)
  • 对于那些在`File`菜单中看不到命令​​的人,你可能需要转到`Tools`,`Customize`,`Commands`选项卡,`Menu Bar`:`File`,`Add Command ... `,`File`,`Advanced Save Options ...`,`Ok`,`Close`.现在你应该有选择权. (11认同)
  • 我确实在VS2010 Ultimate中有此设置,但是此选项不是全局持久选项,仅对当前编辑器会话有效.我想要的是VS在编辑文件时尊重当前打开的文件行结尾. (6认同)
  • 我的VS2010终极安装上没有此菜单项. (3认同)
  • 文件+另存为,单击保存按钮上的箭头.同样的事情,但具体到文件. (2认同)

小智 64

在Visual Studio 2015中,检查设置:

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

当你打开一个不一致的文件时,VS2015现在会提示你转换行结尾,所以你需要做的就是打开文件,从提示中选择所需的选项并再次保存.

  • 虽然这可能现在有用,但请注意问题标记为[tag:visual-studio-2010]. (4认同)
  • 此选项的问题在于它不会告诉您文档中最常见的行结尾,因此我必须先在Notepad ++中打开文档,然后才选择正确的选项.此外,这是一个节约问题,而不是装载问题. (3认同)
  • 我遇到的问题是我正在打开带有LF结尾的文件,然后我编辑或添加的每一行都将带有CR LF结尾。当我再次打开文件时,它将询问我要将不一致的行尾更改为什么,然后选择LF,然后重复该过程。这是我如何解决它:/sf/answers/3312314491/ (2认同)

gea*_*sin 21

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

安装插件后,您可以右键单击解决方案资源管理器中的文件和文件夹,然后调用菜单项 Unify Line Endings in this file

可通过以下方式进行配置

工具 - >选项 - >行结尾统一器.

包含的默认文件扩展名列表非常窄:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;
Run Code Online (Sandbox Code Playgroud)

可能想要使用类似的东西:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config
Run Code Online (Sandbox Code Playgroud)

  • 这实际上是一个[插件](https://visualstudiogallery.msdn.microsoft.com/b2bbadd2-c337-43d7-9343-752ebbdd900f),默认情况下没有安装. (11认同)

Chr*_*ler 6

请参阅http://editorconfig.orghttps://docs.microsoft.com/zh-cn/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. 如果不存在,请为您的项目添加一个名为.editorconfig的新文件。

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

我更喜欢使用空格而不是制表符,而对于所有代码文件,则更喜欢使用CRLF。
这是我的.editorconfig

# 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 
Run Code Online (Sandbox Code Playgroud)