在线文档教程
Eslint
规则 | Rules

linebreak-style

强制执行一致的换行样式(换行样式)

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

当许多人都有不同的编辑器,VCS 应用程序和操作系统时,可能会发生不同的行结尾由上述任何一种写入(特别是在将SourceTree 的 Windows 和 Mac版本一起使用时)。

在 Windows 操作系统中使用的换行符换行符)通常是回车符(CR),后面是换行符(LF),使其成为回车换行符(CRLF),而Linux和Unix使用简单换行符(LF)。相应的控制序列"\n"(对于LF)和"\r\n"对于(CRLF)。

许多版本控制系统(如 git 和 subversion)可以自动确保正确的结局。但为了涵盖所有意外情况,您可以激活此规则。

规则细节

此规则强制执行统一的行结尾,而不受操作系统,VCS 或整个代码库中使用的编辑器的影响。

选项

这条规则有一个字符串选项:

  • "unix"(默认)强制使用Unix行结尾:\n对于LF。

  • "windows"强制使用Windows行结束符:\r\n用于CRLF。

unix

此规则的默认代码错误代码示例"unix"

/*eslint linebreak-style: ["error", "unix"]*/ var a = 'a'; // \r\n

具有默认选项的此规则的正确代码示例"unix"

/*eslint linebreak-style: ["error", "unix"]*/ var a = 'a', // \n b = 'b'; // \n // \n function foo(params) { // \n // do stuff \n }// \n

windows

此规则的错误代码示例包含以下"windows"选项:

/*eslint linebreak-style: ["error", "windows"]*/ var a = 'a'; // \n

此规则的正确代码示例包含以下"windows"选项:

/*eslint linebreak-style: ["error", "windows"]*/ var a = 'a', // \r\n b = 'b'; // \r\n // \r\n function foo(params) { // \r\n // do stuff \r\n } // \r\n

在版本控制系统中使用此规则

版本控制系统有时对换行符有特殊的行为。为了方便开发人员从不同平台为您的代码库做出贡献,您可能需要配置 VCS 以适当处理换行符。

例如,Windows 系统上 git 的默认行为是在检出文件时将 LF 换行转换为 CRLF,但在提交更改时将换行符存储为 LF。linebreak-style如果配置了该"unix"设置,这将导致规则报告错误,因为 ESLint 看到的文件将具有 CRLF 换行符。如果你使用 git,你可能想要添加一行到你的.gitattributes文件,以防止 git 转换.js文件中的换行符:

*.js text eol=lf

何时不使用它

如果您不担心代码中有不同的行尾,那么您可以放心地关闭此规则。

兼容性

  • JSCS:validateLineBreaks VersionThis规则是在 ESLint 0.21.0.Resources 中引入的