版本

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 來適當地處理換行符號。

例如,在 Windows 系統上 git 的預設行為是在檢出檔案時將 LF 換行符號轉換為 CRLF,但在提交變更時將換行符號儲存為 LF。如果設定為 "unix" 設定,這將導致 linebreak-style 規則報告錯誤,因為 ESLint 看到的檔案將具有 CRLF 換行符號。如果您使用 git,您可能需要在您的 .gitattributes 檔案 中新增一行,以防止 git 轉換 .js 檔案中的換行符號

*.js text eol=lf

何時不該使用

如果您不擔心程式碼中存在不同的行尾符,則可以安全地關閉此規則。

相容性

版本

此規則在 ESLint v0.21.0 中引入。

資源

變更語言