版本

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

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

*.js text eol=lf

何時不使用它

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

相容性

版本

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

資源

變更語言