Eclipse和Windows换行符

Vas*_*asu 178 eclipse newline delimiter

当我的桌面崩溃时,我不得不将我的Eclipse工作区从Linux移动到Windows.一周后,我将它复制回Linux,代码愉快,致力于CVS.唉,windows换行已经污染了很多文件,所以CVS diff会转储整个文件,即使我换了一两行!

我可以编写一个脚本,但我想知道它是否会弄乱我的Eclipse项目文件.

Von*_*onC 353

正如这里这里提到的:

将文件编码设置为UTF-8和新文件的行结尾到Unix,以便文本文件以非特定于Windows操作系统的格式保存,并且最容易在异构开发人员桌面上共享:

  • 导航到工作区首选项(常规:工作区)
  • 将文本文件编码更改为 UTF-8
  • 将New Text File Line Delimiter更改为Other,然后从选择列表中选择Unix

替代文字

  • 注意:要转换现有文件的行结尾,请在Eclipse中打开该文件并选择 File : Convert Line Delimiters to : Unix

提示:您可以通过在Package Explorer中选择然后转到菜单条目来轻松转换现有文件File : Convert Line Delimiters to : Unix

  • 如果在package explorer中选择整个项目,可以使用`File:Convert Line Delimiters:Unix`命令立即"修复"项目中的所有文件. (39认同)
  • 这正是我想要的!我已经为新文件更改了它,但转换选项 - 错过了我的眼睛.谢谢VonC! (2认同)

小智 11

我有同样的,eclipse污染的文件,即使有一行换行.解决方案:Eclipse git设置 - >添加条目:密钥:core.autocrlf值:true

在此输入图像描述

在此输入图像描述


Ben*_*den 8

有一个方便的bash实用程序 - dos2unix- 这是一个DOS/MAC到UNIX文本文件格式转换器,如果你的发行版上还没有安装,应该可以通过包管理器轻松安装. dos2unix手册页


Mic*_*per 7

除了Eclipse解决方案和另一个答案中提到的工具之外,请考虑翻转.它可以在正常和Windows换行符之间"翻转",并且可以保存文件的时间戳和其他统计信息.

您可以像这样使用它来解决您的问题:

find . -type f -not -path './.git/*' -exec flip -u {} \;
Run Code Online (Sandbox Code Playgroud)

(如果你使用git,我会在一个子句中忽略你的.git目录,但是因为默认情况下flip会忽略二进制文件,所以你可能不需要这个.)