一、原因
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全局配置之后,你需要重新拉取代码