美文网首页
跨平台开发时换行符(LF 和 CRLF)带来的问题和解决方案

跨平台开发时换行符(LF 和 CRLF)带来的问题和解决方案

作者: 王小错 | 来源:发表于2020-03-02 23:16 被阅读0次

起因

linux 或 unix 环境的换行符很简单—— LF,即我们熟知的 \n。但是在 windows 平台,默认的换行符是 CRLF,即 \r\n

很多时候我们都是跨平台开发项目,如果项目中使用了 eslint 控制代码规范,就会因此遇到麻烦。因为 eslint 默认的换行符风格要求是 unix 的。

"linebreak-style": [
  "error",
  "unix"
]

当把项目 clone 到 windows 平台时,git 会尝试把 LF 转换为 CRLF,这时你如果随便打开一个源码文件,就会“砰”地发现,全篇爆红,每一行都报错。报错信息为 Deleteeslint(prettier/prettier)

1

解决

以下措施做完,已出现问题的文件并不会自动修复,可以手动点击 VSCode 右下角,修改换行符。如果是刚拉下来的项目,git checkout . 重置一下当前版本就行。

项目根目录下 .editorconfig 配置

# /.editorconfig
root = true

[*]
autocrlf = false
end_of_line = lf

VSCode setting.js 配置

如果你用的是 VSCode 的话

# 设置文件换行符为 LF
"files.eol": "\n"

修改全局的 GIT 配置

以下方式二选一:

  • 方式1 直接修改 ~/.gitconfig 配置文件
# 追加如下配置
[core]
    autocrlf = false
  • 方式2 命令行执行以下命令,效果一样
git config --global core.autocrlf false

相关文章

网友评论

      本文标题:跨平台开发时换行符(LF 和 CRLF)带来的问题和解决方案

      本文链接:https://www.haomeiwen.com/subject/zuygkhtx.html