linebreak-style
强制执行一致的换行风格
此规则报告的一些问题可以通过--fix
命令行选项自动修复。
此规则在 ESLint v8.53.0 中已弃用。请使用 相应的规则 在 @stylistic/eslint-plugin-js
中。
当与许多人一起开发时,每个人都拥有不同的编辑器、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"]*/ // \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
何时不使用它
如果您不关心代码中是否具有不同的换行符,则可以安全地关闭此规则。
兼容性
- JSCS:validateLineBreaks
版本
此规则是在 ESLint v0.21.0 中引入的。