如何解决在VCode中将CRLF更改为LF,因为eslint给我错误
为什么我必须手动将每个文件从“ CRLF”更改为“ LF”,以使eslint(更漂亮)警告消失?。
在提交并且其他用户在各自的环境中加载文件时,此方法是否存在问题。如您在图片上看到的,我收到 "eslint": "^6.6.0"
的投诉,当我将右下角的“ CRLF”切换为“ LF”时,eslint(漂亮)很高兴。
以后会出现问题吗?
解决方法
换行符通常在DOS / Windows系统上由两个字节(CR和LF)表示,而在Unix / Linux系统上仅由一个字节(LF)表示。您所看到的记录在for eslint here和for prettier here中的规则默认表示所有文件应使用Unix约定(说“删除CR”等效于说“仅将CRLF转换为LF”)以确保代码库是一致的。
如果当前所有文件均为CRLF,则有两种选择:
- 配置eslint / prettier来代替“ crlf” /“ windows”(或完全禁用该规则)。
- 将文件的行尾从CRLF更改为LF。可以使用您显示的设置,通过运行
dos2unix
之类的命令行工具,或者通过配置prettier
来自动解决问题,来逐个文件显示。
除了修复现有文件外,您可能还想看看它们以这种方式显示的原因:
- 确保将VSCode配置为默认情况下以Unix / LF行尾创建新文件
- git具有一个“功能”,默认情况下,Windows上创建的签出将在每次签出时将LF转换为CRLF,并在提交时将其转换回CRLF。由于任何体面的代码编辑器都可以很好地处理LF行尾(即使记事本现在也支持它们!),您应该使用
git config core.autocrlf false
将此功能关闭
关于这将如何影响其他人:
- 如果您更改共享存储库中文件的行尾,则将显示为版本历史记录中每一行的更改。这主要是一次性的麻烦,当您查看文件的历史记录时会产生一些噪音。
- 在不太可能的情况下,有人使用仅支持CRLF行尾的工具打开文件,他们会在打开文件时遇到问题。他们可以通过上述
core.autocrlf
设置或使用更好的工具来解决该问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。