VSCode在保存文件时将CRFL更改为LF,即使没有更改,git也会记录更改

fcipmucu  于 2023-01-01  发布在  Git
关注(0)|答案(2)|浏览(604)

我注意到VSCode中有一个奇怪的行为,当我保存一个文件时,即使我没有做任何修改,我也可以在右下角看到它从CRLF变成LF。即使我做了几个修改,git也会跟踪额外的行,因为它们是同时添加和删除的。
我在Windows上工作,到目前为止我没有任何问题,它刚刚开始发生。我试过将VSCode中EOL的全局设置设置为CRLF,并将Prettier扩展也设置为CRLF(因为我无法禁用它),但问题仍然存在。
我是新来的,在网上找不到类似的问题,只是说明如何设置CRLF。

2hh7jdfx

2hh7jdfx1#

我遇到过一些类似的问题,因为我在一个有UNIX和Windows环境的团队中工作。我使用Windows,但项目的所有文件都保存在repositorie中,格式为LFeol。在您的情况下(Windows环境),您需要保证Git的默认行为:

git config --global core.autocrlf true

这样,Git会尝试将eol的文件更改为CRLF(新建分支、克隆等)。甚至,您可以尝试在VSCode的用户/工作区设置中添加"files.eol": "\r\n",然后您的IDE会默认使用CRLF(新文件、新行)。

3pvhb19x

3pvhb19x2#

首先,确保vscode上的行尾设置设置为crlf。如果你想将其作为全局设置,请按ctr+shift+p并键入user settings json,然后选择第一个选项打开全局设置文件。如果你只想在特定项目上使用它,请在项目基础的.vscode文件夹中创建一个settings.json文件。然后在那里添加此行。

...
    "files.eol": "\r\n"

但这并不能解决问题。每次拉取或启动vscode后,更改仍然会显示。只是运行一个git add .将不会显示更多的更改,我认为这是需要的,但你不想每次都这样做。
要解决这个问题,您需要在项目的基础上有一个. editorconfig文件。在该文件中,您可以添加:

[*]
   ...
   end_of_line = crlf

应该是这样。

相关问题