一、原因

VScode 出现 Delete 的原因,大部分都是因为安装了 Prettier 插件指定了文件的结尾换行符与系统不一致导致的,就是下面这个插件

  • 由于历史原因,windows 和 linux 两个系统的文本文件的换行符不一致;
  • Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF;
  • 而Mac和Linux系统,仅仅使用了换行符LF;
  • 较老版本的Mac系统使用的是回车符CR;
  • 从而导致,文本在不同系统下创建和使用之时,就会出现不兼容的问题;
  • 项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的(工程化需要,统一标准);
  • 但是我们的 Prettier 插件默认 LF;
  • 所以,今天大家看到我写的文章是有历史原因的,不是无缘无故就相遇好吧!

二、解决

方法1:打开设置,或者直接快捷键 Ctrl + , 在搜索栏输入 prettier,然后找到 End Of Line 这个选项设置为 auto

方法2:点击一个个文件手动切换(效率较低)


方法3:控制台输入 git config --global core.autocrlf false (最优)

  • 罪魁祸首是git的一个配置属性:core.autocrlf
  • VScode 能够自动识别文件的换行符是LF还是CRLF。如果你用的是windows,文件编码是UTF-8且包含中文,最好全局将autocrlf设置为false。
  • git全局配置之后,你需要重新拉取代码