将一段代码复制到vscode里面时,突然出现Delete `CR`错误
这通常是由于Windows系统和Linux或Mac系统在处理换行符上的差异所导致的。Windows系统在换行时会使用CRLF(即\r\n
),而Linux和Mac系统则只使用LF(即\n
)。当你的项目在Windows环境下提交,然后在Linux或Mac环境下运行ESLint时,ESLint可能会因为换行符的不一致而抛出错误。
解决办法
- 临时解决:在某些IDE中,例如VSCode,你可以通过点击右下角的LF/CRLF按钮来临时切换文件的换行符。
就临时解决报错了
- 配置.prettierrc文件:在你的项目根目录下创建一个.prettierrc文件,并设置"endOfLine"为"auto",这样Prettier就会根据操作系统的不同来自动选择合适的换行符。
这样也能解决,
'prettier/prettier': ['error', { endOfLine: 'auto' }],
是ESLint中的一个配置项,用于指定Prettier插件如何处理文件的换行符。其中,['error', { endOfLine: 'auto' }]
表示当Prettier检测到不符合规范的换行符时,会将其视为一个错误,并给出相应的提示。{ endOfLine: 'auto' }
则是指定Prettier在处理文件时,应自动识别并调整换行符以符合规范 - 关闭git自动转换:你可以通过设置
git config --global core.autocrlf false
来关闭git的自动CRLF转换功能。这样,当你在Windows环境下提交代码时,git就不会自动将LF转换为CRLF,从而避免了换行符不一致的问题