当在gulp项目中使用eslint时,我遇到过这样的错误问题 预期换行符是“LF”,但发现“CRLF”换行风格,我使用Windows环境的运行gulp和整个错误日志如下所示

 Kiran (master *) Lesson 4 $ gulp
 Using gulpfile c:\Users\Sai\Desktop\web-build-tools\4\
 gulpfile.js
 Starting 'styles'...
 Finished 'styles' after 17 ms
 Starting 'lint'...
 'lint' errored after 1.14 s
 ESLintError in plugin 'gulp-eslint'
 sage: Expected linebreaks to be 'LF' but found 'CRLF'.
 ails: fileName: c:\Users\Sai\Desktop\web-build-tools\4\js\extra.js



$>Users\Sai\Desktop\web-build-tools\4\js\extra.js
error  Expected linebreaks to be 'LF' but found 'CRLF'  linebreak-style

我还包括extra.js文件作为错误指示可能的错误。

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();

当前回答

如果你正在使用vscode并且你在Windows上,我建议你单击窗口右下角的选项,并将其从CRLF设置为LF。因为我们不应该仅仅为了删除Windows上的错误而关闭配置

如果没有看到LF / CLRF,则右击状态栏并选择编辑器行结束。

其他回答

提示:如果没有,请确保您已经安装了图片中的Git。 您可以将其他功能作为默认,您可以选择visual studio代码作为默认编辑器。这对你以后很有帮助。

Windows用户: 卸载Visual Studio Code,然后重新安装,EditorConfig应该可以正常工作。

卸载Visual Studio Code仍然会保留旧的设置和扩展!完全删除Windows上的Visual Studio代码

卸载的Visual Studio

本机>本地盘(C) Users > CurrentUser > AppData > Local > Programs > Microsoft VS Code Unins000.exe或从控制面板卸载它 本机>本地盘(C) Users > CurrentUser > AppData > Local > Roaming 代码=>文件夹应该删除它 这台PC >本地盘(C) Users > CurrentUser > .vscode =>文件夹应该删除它 重新安装vs代码现在应该工作了。

发生在我身上,因为我运行git配置核心。这是真的,我忘记了回头。

在那之后,当我签出/提取新代码时,所有LF (Unix中的换行符)都被CRLF (Windows中的换行符)所取代。

我运行linter,所有错误消息都是预期换行符为“LF”,但发现“CRLF”

为了解决这个问题,我通过运行git config——list | grep selflf检查了selflf的值,我得到:

core.autocrlf=true
core.autocrlf=false

我编辑了全局GIT配置~/。Gitconfig,并将selflf = true替换为selflf = false。

之后,我进入我的项目并执行以下操作(假设代码在src/文件夹中):

CURRENT_BRANCH=$(git branch | grep \* | cut -d ' ' -f2);
rm -rf src/*
git checkout $CURRENT_BRANCH src/

如果你想要更改为LF,并且你正在使用VS Code,你可以这样逐个文件执行:

我将换行样式设置为0,但不工作。

rules: {
    "linebreak-style": 0,
 },

所以后来我发现需要把每个文件从“CRLF”改为“LF”,这需要很多时间。

这很有帮助

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

在我的情况下(vue.js项目,使用vue-cli创建),lint问题预期换行符是“LF”,但发现“CRLF”换行风格与pretty相关。 从版本>= 2更漂亮的替换所有行结尾“lf”:https://prettier.io/docs/en/options.html#end-of-line

由于我使用Windows开发,我设置了这3个(git, eslint,更漂亮)配置,以避免行结束问题:

Git:我设置了Git配置全局核心。autocrlf真实 eslint:在.eslintrc.js文件中配置:

      module.exports = {
      rules: {
        'linebreak-style': ['error', 'windows'],
      },
    };

最后在prettier.config.js中:

module.exports = {
    endOfLine: "crlf",
};