VScode的文件每行结尾都报红色,鼠标浮上去显示Delete `␍`,截图如下:
一、原因
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:点击一个个文件手动切换(效率较低)
打开文件,点击底部“CRLF”,把它换成“LF”
方法3:控制台输入 git config --global core.autocrlf false (最优)
罪魁祸首是git的一个配置属性:core.autocrlf
VScode 能够自动识别文件的换行符是LF还是CRLF。如果你用的是windows,文件编码是UTF-8且包含中文,最好全局将autocrlf设置为false。
git全局配置之后,你需要重新拉取代码