如何在IntelliJ IDEA中禁用行分隔符中的diff?

时间:2014-11-14 09:37:34

标签: java git intellij-idea diff

我在Windows上使用Intellij IDEA 14,在Unix服务器上使用Git作为VCS。 Windows中的行分隔符是Unix中的CLRF(\r\n)和LF(\n)。 在Git中,我使用的是config --global core.autocrlf input。这将在提交时将所有CRLF转换为LF。

当我在格式良好的文件上使用“重新格式化代码”选项时,IDEA会将文件标记为已更改,并仅在行分隔符中显示diff。

Right mouse button on changed file -> Git -> Compare with Latest Repository Version

如何在IDEA中禁用它?

5 个答案:

答案 0 :(得分:10)

在您窗口的右下角,将[CRLF]更改为[LF]

答案 1 :(得分:4)

我也正在使用Windows开发,因为我们的服务器是由Linux驱动的,所有代码都必须基于Linux,所以我更倾向于将所有文件更改为LF而不是CRLF。

来自git命令行:

git config --global core.autocrlf false

我正在使用intellij想法,所以这很容易:

  

1)文件 - >设置 - >编辑 - >代码样式:(对于任何新文件都会   被创造)

     

一个。方案:默认

     

湾行分隔符:unix和os x(\ n)

     

2)标记项目的根目录 - >文件 - >行分隔符 - >如果   unix和os x(\ n)(对于现有文件)

备注:您还可以使用dos2unix.exe等应用程序或其他一些脚本。

比我使用命令行:(你也可以从想法中做到这一点)

git commit -m "bla bla"
git add .
git push origin master
从那时起,我没有收到这些警告

答案 2 :(得分:1)

如果像我这样来到此线程,以寻求答案,为什么单元测试(JUnit)无法将生成的JSON(或任何其他包含行分隔符的结构)与手写的进行比较,则应将\ n替换为\ r \ n(对于Windows)在您的字符串中。上面给出的说明不适用于这种情况。

UPD。

答案 3 :(得分:0)

在Intellij 17.3中,您可以选择"比较"比较窗口中的组合框是否要比较二进制内容'或者'文字'在第二种情况下,CRLF和LF未显示为"不同"。

答案 4 :(得分:0)

在同一目录中创建parser.py。 更改名称并运行。 享受))

with open('./file_to_fix.py', 'r') as f:
    a = f.read()

with open('./file_to_fix.py', 'w') as f:
    # for i in a.split('\r\n'):
    #     f.write(i)
    aa = a.replace('\r\n', '\n')
    f.write(aa)