max-len
强制最大行长
此规则在 ESLint v8.53.0 中已弃用。请使用 对应规则 在 @stylistic/eslint-plugin-js
中。
任何语言中非常长的代码行都可能难以阅读。为了帮助提高可读性和可维护性,许多程序员制定了一种约定,将代码行限制为 X 个字符(传统上为 80 个字符)。
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long
规则详细信息
此规则强制执行最大行长以提高代码可读性和可维护性。行的长度定义为行中 Unicode 字符的个数。
选项
此规则最多可以接受两个数字作为位置参数(用于 code
和 tabWidth
选项),然后是一个对象选项(前提是提供的位置参数具有优先级)。
"code"
(默认值80
)强制执行最大行长。"tabWidth"
(默认值4
)指定制表符字符的字符宽度。"comments"
强制执行注释的最大行长;默认为code
的值。"ignorePattern"
忽略与正则表达式匹配的行;只能匹配单行,并且在 YAML 或 JSON 中写入时需要双重转义。"ignoreComments": true
忽略所有尾部注释和独立行的注释。"ignoreTrailingComments": true
仅忽略尾部注释。"ignoreUrls": true
忽略包含 URL 的行。"ignoreStrings": true
忽略包含双引号或单引号字符串的行。"ignoreTemplateLiterals": true
忽略包含模板字面量的行。"ignoreRegExpLiterals": true
忽略包含 RegExp 字面量的行。
code
使用默认的 { "code": 80 }
选项时,此规则的不正确代码示例。
/*eslint max-len: ["error", { "code": 80 }]*/
使用默认的 { "code": 80 }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "code": 80 }]*/
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" },
"easier": "to read"
};
tabWidth
使用默认的 { "tabWidth": 4 }
选项时,此规则的不正确代码示例。
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
使用默认的 { "tabWidth": 4 }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" }
};
comments
使用 { "comments": 65 }
选项时,此规则的不正确代码示例。
/*eslint max-len: ["error", { "comments": 65 }]*/
/**
**/
ignoreComments
使用 { "ignoreComments": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreComments": true }]*/
/**
* This is a really really really really really really really really really long comment
**/
ignoreTrailingComments
使用 { "ignoreTrailingComments": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
var foo = 'bar'; // This is a really really really really really really really long comment
ignoreUrls
使用 { "ignoreUrls": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreUrls": true }]*/
var url = 'https://www.example.com/really/really/really/really/really/really/really/long';
ignoreStrings
使用 { "ignoreStrings": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreStrings": true }]*/
var longString = 'this is a really really really really really long string!';
ignoreTemplateLiterals
使用 { "ignoreTemplateLiterals": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/
var longTemplateLiteral = `this is a really really really really really long template literal!`;
ignoreRegExpLiterals
使用 { "ignoreRegExpLiterals": true }
选项时,此规则的正确代码示例。
/*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/
var longRegExpLiteral = /this is a really really really really really long regular expression!/;
ignorePattern
使用 ignorePattern
选项时,此规则的正确代码示例。
/*eslint max-len:
["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }]*/
var dep = require('really/really/really/really/really/really/really/really/long/module');
相关规则
版本
此规则是在 ESLint v0.0.9 中引入的。