【问题标题】:Expected linebreaks to be 'LF' but found CRLF预期换行符为 'LF' 但找到 CRLF
【发布时间】:2018-03-09 16:02:30
【问题描述】:

我正在使用 Visual Studio 代码并继承了一个使用“LF”行尾的项目。默认情况下,Visual Studio Code 在 CRLF 中打开我的文件(我使用的是 Windows 10),这会导致我的 git 预提交挂钩失败。如果我在屏幕右下角切换 Visual Studio Code 以使用 LF,我不会收到任何错误消息,但显然我想避免每次编辑并尝试提交文件时都必须切换它。

我按照this 问题的说明进行操作,我的理解是,将 files.eol 设置更改为“\n”会在 LF 中打开文件,但仍会在 CRLF 中打开它们。

我对这些东西有点陌生,所以请多多包涵,但如果有人能告诉我我做错了什么,那就太好了。

值得一提的是,该项目有一个 editorconfig 文件,其中 end_of_line 设置为 LF,将其更改为 CRLF 也无济于事

【问题讨论】:

    标签: javascript visual-studio


    【解决方案1】:

    在终端或 cmd 提示符下运行它

    git config core.autocrlf false
    git rm --cached -r .
    git reset --hard
    

    这通常发生在项目是在基于 UNIX 的系统上创建然后在 Windows 系统上使用时,因为两者都有不同的行尾。

    我们需要在 git 上禁用自动 CRLF 并取消提交并重新提交更改。

    注意 - 确保您没有任何未提交的更改,否则它将被删除!

    Reference

    【讨论】:

    • 这行得通。我们在 Windows 上有一个开发人员,使用 WebStorm 打开每个文件并发现关于 CRLF 的 linting 错误。 repo 中的文件是由 OS X 上的开发人员编写和提交的,因此我们无法弄清楚为什么 Windows 上的开发人员在更改文件之前就出现了 CRLF 错误。在 Windows 机器上按照这个解决方案修复它。
    【解决方案2】:

    可以在File > Preferences > Settings > Files:Eol下的VSCode中设置默认的行尾字符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 2017-12-22
      • 2011-02-06
      相关资源
      最近更新 更多