跳至内容

@stylistic/js/

multiline-comment-style

许多风格指南要求对跨越多行的注释使用特定的风格。例如,一些风格指南更喜欢对多行注释使用单个块注释,而其他风格指南则更喜欢连续的行注释。

规则详细信息

此规则旨在强制执行多行注释的特定风格。

选项

此规则有一个字符串选项,它可以具有以下值之一

  • "starred-block" (默认): 禁止连续行注释,而使用块注释。此外,要求块注释在每行之前都有一个对齐的 * 字符。
  • "bare-block": 禁止连续行注释,而使用块注释,并且禁止块注释在每行之前都有一个 "*" 字符。此选项忽略 JSDoc 注释。
  • "separate-lines": 禁止块注释,而使用连续行注释。默认情况下,此选项忽略 JSDoc 注释。要将此规则也应用于 JSDoc 注释,请将 checkJSDoc 选项设置为 true

此规则始终忽略指令注释,例如 /* eslint-disable */

此规则使用默认 "starred-block" 选项的不正确代码示例

js

/* eslint @stylistic/js/multiline-comment-style: ["error", "starred-block"] */

// this line
// calls foo() foo();
/*
this line
calls foo() */
foo();
/*
this comment
* is missing a newline after /* */ /* * this comment * is missing a newline at the end
*/
/*
* the star in this line should have a space before it
*/ /* * the star on the following line should have a space before it
*/
不正确

此规则使用默认 "starred-block" 选项的正确代码示例

js
/* eslint @stylistic/js/multiline-comment-style: ["error", "starred-block"] */

/*
 * this line
 * calls foo()
 */
foo();

// single-line comment
正确

此规则使用 "bare-block" 选项的不正确代码示例

js
/* eslint @stylistic/js/multiline-comment-style: ["error", "bare-block"] */

// this line
// calls foo() foo();
/*
* this line * calls foo() */ foo();
不正确

此规则使用 "bare-block" 选项的正确代码示例

js
/* eslint @stylistic/js/multiline-comment-style: ["error", "bare-block"] */

/* this line
   calls foo() */
foo();
正确

此规则使用 "separate-lines" 选项的不正确代码示例

js

/* eslint @stylistic/js/multiline-comment-style: ["error", "separate-lines"] */

/*
This line
calls foo() */ foo();
/*
* This line * calls foo() */ foo();
不正确

此规则使用 "separate-lines" 选项的正确代码示例

js
/* eslint @stylistic/js/multiline-comment-style: ["error", "separate-lines"] */

// This line
// calls foo()
foo();
正确

此规则使用 "separate-lines" 选项和 checkJSDoc 设置为 true不正确代码示例

js

/* eslint @stylistic/js/multiline-comment-style: ["error", "separate-lines", { "checkJSDoc": true }] */

/*
*
* I am a JSDoc comment * and I'm not allowed */ foo();
不正确

以下是使用 "separate-lines" 选项和 checkJSDoc 设置为 true 时,符合此规则的正确代码示例。

js
/* eslint @stylistic/js/multiline-comment-style: ["error", "separate-lines", { "checkJSDoc": true }] */

// I am a JSDoc comment
// and I'm not allowed
foo();
正确

何时不使用它

如果您不想对多行注释强制执行特定样式,可以禁用此规则。