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

avf*_*lov 16 java git diff intellij-idea

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

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

更改文件上的鼠标右键 - > Git  - >与最新存储库版本进行比较

如何在IDEA中禁用它?

Pet*_*rey 14

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

  • 全球设置:https://www.jetbrains.com/help/idea/2017.1/configuring-line-separators.html (3认同)
  • 但它在外部工具(例如 Git 扩展)中将 diff 显示为空的更改文件,并且我无法提交此文件。 (2认同)

dsa*_*don 8

我也在Windows上进行开发,由于我们的服务器由Linux驱动,并且所有代码都必须基于Linux,所以我更愿意将所有文件更改为LF而不是CRLF。

从git命令行:

git config --global core.autocrlf false
Run Code Online (Sandbox Code Playgroud)

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

1)文件->设置->编辑器->代码样式:(将创建任何新文件)

一种。方案:默认

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

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

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

比我在命令行中所做的要多:(您也可以从想法中做到这一点)

git commit -m "bla bla"
git add .
git push origin master
Run Code Online (Sandbox Code Playgroud)

从那时起,我没有收到那些警告


Rom*_*nko 7

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