我在Windows上使用Intellij IDEA 14,在Unix服务器上使用Git作为VCS。Windows中的行分隔符是CLRF(\r\n)和Unix中的LF(\n)。在Git中,我使用config --global core.autocrlf input。这将在提交时将所有CRLF转换为LF。当我在格式良好的文件上使用“重新格式化代码”选项时,IDEA会将文件标记为已更改,并仅在行分隔符中显示差异。
\r\n
\n
--global core.autocrlf input
如何在IDEA中禁用该功能?
rbl8hiat1#
在窗口的右下角,将[CRLF]更改为[LF]
[CRLF]
[LF]
avwztpqn2#
我也在Windows上开发,因为我们的服务器是由Linux驱动的,所有的代码都必须基于Linux,我宁愿把我所有的文件改为LF而不是CRLF。从git命令行:
git config --global core.autocrlf false
我正在使用intellij idea,所以这很简单:1)文件--〉设置--〉编辑器--〉代码样式:(对于任何将创建的新文件)a.方案:默认B.行分隔符:Unix和OS x(\n)2)标记项目的根目录--〉文件--〉行分隔符--〉LF unix和os x(\n)(对于现有文件)备注:您也可以使用dos2unix.exe等应用程序或其他脚本。比我用命令行做的要多(你也可以从想法中做到这一点)
git commit -m "bla bla" git add . git push origin master
从那以后我就没收到过警告
cwtwac6a3#
如果您像我一样来到这个主题,想知道为什么您的单元测试(JUnit)无法将生成的JSON(或任何其他包含行分隔符的结构)与手工编写的JSON进行比较,那么您应该将字符串中的\n替换为\r\n(适用于Windows)。
mwkjh3gx4#
在Intellij 17.3中,您可以在比较窗口的“比较方式”组合框中选择要比较“二进制内容”还是“文本”。在第二种情况下,CRLF和LF不会显示为“不同”。
7gyucuyw5#
选择文件夹-〉文件-〉文件属性-〉行分隔符-〉LF所有文件将标记为changed。
changed
Make regular commit with line separator changes ounly. It will fail but `changed` marks will disappear.
新文件将继承文件夹属性。
eblbsuwk6#
在parser.py同一目录中创建www.example.com。更改名称并运行。享受))
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)
6条答案
按热度按时间rbl8hiat1#
在窗口的右下角,将
[CRLF]
更改为[LF]
avwztpqn2#
我也在Windows上开发,因为我们的服务器是由Linux驱动的,所有的代码都必须基于Linux,我宁愿把我所有的文件改为LF而不是CRLF。
从git命令行:
我正在使用intellij idea,所以这很简单:
1)文件--〉设置--〉编辑器--〉代码样式:(对于任何将创建的新文件)
a.方案:默认
B.行分隔符:Unix和OS x(\n)
2)标记项目的根目录--〉文件--〉行分隔符--〉LF unix和os x(\n)(对于现有文件)
备注:您也可以使用dos2unix.exe等应用程序或其他脚本。
比我用命令行做的要多(你也可以从想法中做到这一点)
从那以后我就没收到过警告
cwtwac6a3#
如果您像我一样来到这个主题,想知道为什么您的单元测试(JUnit)无法将生成的JSON(或任何其他包含行分隔符的结构)与手工编写的JSON进行比较,那么您应该将字符串中的\n替换为\r\n(适用于Windows)。
mwkjh3gx4#
在Intellij 17.3中,您可以在比较窗口的“比较方式”组合框中选择要比较“二进制内容”还是“文本”。在第二种情况下,CRLF和LF不会显示为“不同”。
7gyucuyw5#
选择文件夹-〉文件-〉文件属性-〉行分隔符-〉LF
所有文件将标记为
changed
。新文件将继承文件夹属性。
eblbsuwk6#
在parser.py同一目录中创建www.example.com。更改名称并运行。享受))