Delete `␍`eslint(prettier/prettier)

一、问题:

今天下午配置eslint和prettier 时,频频报错:Delete `␍`eslint(prettier/prettier),vscode全页面爆红。

经过多次尝试与试验后,最终多种方式结合解决了这个问题。

二、报错原因是:

安装了prettier 插件指定了文件结尾的换行符与系统的不一样所导致的。

Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF; 而项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的,这也是工程化的需要。

我们的 Prettier 插件默认 LF,所以从仓库中拉取下来的代码会因为换行符的不同导致全屏爆红。

三、解决办法

1、通过IDE一键切换

在vscode文件的底部配置,将LF直接改为CRLF,但是这个方法只针对单个文件,所有文件都需要一个一个手动修改,比较麻烦。

2、在vscode设置中,在搜索栏中搜索prettier,找到End Of Line 这个选项设置为 auto

3、配置.prettierrc文件,

在文件对象中添加下面的配置即可,然后重启vscode

复制代码
"endOfLine": "auto"

4、Crtl+S保存文件

Crtl+S保存当前报错文件,eslint错误消失,不知道是什么原理,可以试试

5、修改git全局配置(最佳方案)

这个问题是因为Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF; 而项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的,因此,文本文件在不同系统下创建和使用时就会出现不兼容的问题,当我用windows电脑git clone代码的时候,若我的autocrlf(在windows下安装git,该选项默认为true)为true,那么文件每行会被自动转成以CRLF结尾,若对文件不做任何修改,pre-commit执行eslint的时候就会提示你删除CR

针对这个问题,可以对git全局配置做处理,使用下面这个命令,之后的仓库拉取就不会出现类似问题,执行git命令

复制代码
git config --global core.autocrlf false

这个方法主要是针对git的配置,如果想要当前项目不爆红,重新拉取一次仓库代码即可,git全局配置之后,你需要重新拉取代码。

相关推荐
我命由我1234513 小时前
VSCode - VSCode 修改文件树缩进
前端·ide·vscode·前端框架·编辑器·html·js
white-persist14 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
我命由我1234515 小时前
VSCode - VSCode 颜色值快速转换
前端·ide·vscode·前端框架·编辑器·html·js
徐小夕@趣谈前端16 小时前
LuckyFlow:用Vue3实现的一款AI可视化工作流编辑器
vue.js·人工智能·编辑器
海阔的天空20 小时前
VSCode通过continue插件免费安装AI模型实现自动编程
运维·ide·人工智能·vscode·编辑器·ai编程
金融小师妹1 天前
机器学习驱动分析:ADP就业数据异常波动,AI模型预测12月降息概率达89%
大数据·人工智能·深度学习·编辑器·1024程序员节
ii_best1 天前
ios脚本开发工具安装按键精灵uncOver越狱教程ios14以及以下系统
ios·自动化·编辑器
工程师平哥1 天前
ARCH-04 BSW服务层
笔记·嵌入式硬件·mcu·编辑器
ONLYOFFICE1 天前
ONLYOFFICE 文档与桌面编辑器 9.2 版本更新说明
人工智能·编辑器·onlyoffice