簡體   English   中英

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

[英]How can I disable diff in line separators in IntelliJ IDEA?

我在 Windows 和 Git 上使用 Intellij IDEA 14 作為 Unix 服務器上的 VCS。 Windows 中的行分隔符是 Unix 中的 CLRF ( \r\n ) 和 LF ( \n )。在 Git 中,我使用的是 config --global core.autocrlf input 這將在提交時將所有 CRLF 轉換為 LF。

當我在格式良好的文件上使用“重新格式化代碼”選項時,IDEA 將文件標記為已更改並僅在行分隔符中顯示差異。

在更改的文件上單擊鼠標右鍵 -> Git -> 與最新存儲庫版本比較

我怎樣才能在 IDEA 中禁用它?

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

我也在 Windows 上進行開發,因為我們的服務器由 Linux 提供支持,並且所有代碼都必須基於 Linux,所以我更喜歡將所有文件更改為 LF 而不是 CRLF。

從 git 命令行:

git config --global core.autocrlf false

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

1) 文件--> 設置--> 編輯器--> 代碼樣式:(對於將創建的任何新文件)

一種。 方案:默認

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

2) 標記項目根目錄 --> 文件 --> 行分隔符 --> LF unix 和 os x (\\n)(用於存在文件)

備注:您也可以使用諸如 dos2unix.exe 或其他一些腳本之類的應用程序。

比我使用我的命令行所做的:(你也可以從這個想法中做到這一點)

git commit -m "bla bla"
git add .
git push origin master

從那以后,我沒有收到這些警告

如果你像我一樣來到這個線程尋求答案,為什么你的單元測試 (JUnit) 在比較生成的 JSON(或任何其他包含行分隔符的結構)與手工編寫的比較時失敗,你應該用 \\r\\ 替換 \\n n (對於 Windows)在您的字符串中。 上面給出的說明不適用於這種情況。

更新。

在 Intellij 17.3 中,您可以在比較窗口的“比較依據”組合框中選擇是要比較“二進制內容”還是“文本”。 在第二種情況下,CRLF 和 LF 未顯示為“不同”。

在同一個目錄中創建 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)

select 文件夾 -> 文件 -> 文件屬性 -> 行分隔符 -> LF

所有文件都將被標記為已changed

定期提交行分隔符更改。 它會失敗,但changed的標記會消失。

新文件將繼承文件夾屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM