我在Windows上使用Intellij IDEA 14,在Unix服务器上使用Git作为VCS。
Windows中的行分隔符是Unix中的CLRF(\r\n
)和LF(\n
)。
在Git中,我使用的是config --global core.autocrlf input
。这将在提交时将所有CRLF转换为LF。
当我在格式良好的文件上使用“重新格式化代码”选项时,IDEA会将文件标记为已更改,并仅在行分隔符中显示diff。
如何在IDEA中禁用它?
答案 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)