版本

linebreak-style

强制一致的换行符样式

🔧 可修复

此规则报告的一些问题可以通过 --fix 命令行 选项自动修复

此规则在 ESLint v8.53.0 中已被弃用。请使用 相应规则@stylistic/eslint-plugin-js 中。

当与许多人一起开发,而每个人都使用不同的编辑器、VCS 应用程序和操作系统时,可能会发生使用不同的行结尾符(可能特别是在使用 Windows 和 Mac 版本的 SourceTree 时)。

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"]*/ // \r\n
// \r\n
var a = 'a', // \r\n
    b = 'b'; // \r\n
// \r\n
function foo(params) { // \r\n
    // do stuff \r\n
} // \r\n

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

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

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

*.js text eol=lf

何时不使用它

如果您不关心代码中是否有不同的行结尾符,那么您可以安全地关闭此规则。

兼容性

版本

此规则在 ESLint v0.21.0 中引入。

资源

更改语言