Eslint
规则 | Rules

spaced-comment

要求或不允许开始评论的空格(空格或制表符)(空格或标签)

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

一些风格指南在初始///*评论之后立即要求或不允许空白。//或之后的空格/*可以更轻松地阅读评论中的文本。另一方面,注释代码更容易,而不必在//or 后面留下空格/*

规则细节

注释开始后,此规则将强制间距的一致性///*。它还为各种文档样式提供了一些例外。

选项

该规则有两个选项。

  • 第一个是它是一个字符串"always""never"。默认是"always"

- If `"always"` then the `//` or `/*` must be followed by at least one whitespace.

- If `"never"` then there should be no whitespace following.

  • 此规则也可以采用第二种选择,即具有以下任意键的对象:"exceptions""markers"

- The `"exceptions"` value is an array of string patterns which are considered exceptions to the rule. Please note that exceptions are ignored if the first argument is `"never"`.

"spaced-comment": ["error", "always", { "exceptions": "-", "+" }]

- The `"markers"` value is an array of string patterns which are considered markers for docblock-style comments, such as an additional `/`, used to denote documentation read by doxygen, vsdoc, etc. which must have additional characters. The `"markers"` array will apply regardless of the value of the first argument, e.g. `"always"` or `"never"`.

"spaced-comment": ["error", "always", { "markers": "/" }]

标记和异常之间的区别在于标记仅出现在注释的开头,而异常可以出现在注释字符串的任何位置。

您还可以为块和行注释定义单独的例外和标记。该"block"对象可以有一个额外的键"balanced",一个布尔值,用于指定内嵌块注释是否应具有平衡间距。默认值是false

  • 如果"balanced": true"always"然后/*必须遵循由至少一个空格,并且*/必须被至少一个空格之后。

"spaced-comment": ["error", "always", { "line": { "markers": ["/"], "exceptions": ["-", "+"] }, "block": { "markers": ["!"], "exceptions": ["*"], "balanced": true } }]

总是

此规则的错误代码示例包含以下"always"选项:

/*eslint spaced-comment: ["error", "always"]*/ //This is a comment with no whitespace at the beginning /*This is a comment with no whitespace at the beginning */

/* eslint spaced-comment: ["error", "always", { "block": { "balanced": true } }] */ /* This is a comment with whitespace at the beginning but not the end*/

此规则的正确代码示例包含以下"always"选项:

/* eslint spaced-comment: ["error", "always"] */ // This is a comment with a whitespace at the beginning /* This is a comment with a whitespace at the beginning */ /* * This is a comment with a whitespace at the beginning */ /* This comment has a newline */

/* eslint spaced-comment: ["error", "always"] */ /** * I am jsdoc */

决不

此规则的错误代码示例包含以下"never"选项:

/*eslint spaced-comment: ["error", "never"]*/ // This is a comment with a whitespace at the beginning /* This is a comment with a whitespace at the beginning */ /* \nThis is a comment with a whitespace at the beginning */

/*eslint spaced-comment: ["error", "never", { "block": { "balanced": true } }]*/ /*This is a comment with whitespace at the end */

此规则的正确代码示例包含以下"never"选项:

/*eslint spaced-comment: ["error", "never"]*/ /*This is a comment with no whitespace at the beginning */

/*eslint spaced-comment: ["error", "never"]*/ /** * I am jsdoc */

例外

此规则的错误代码示例包含以下"always"选项"exceptions"

/* eslint spaced-comment: ["error", "always", { "block": { "exceptions": ["-"] } }] */ //-------------- // Comment block //--------------

/* eslint spaced-comment: ["error", "always", { "exceptions": ["-", "+"] }] */ //------++++++++ // Comment block //------++++++++

/* eslint spaced-comment: ["error", "always", { "exceptions": ["-", "+"] }] */ /*------++++++++*/ /* Comment block */ /*------++++++++*/

/* eslint spaced-comment: ["error", "always", { "line": { "exceptions": ["-+"] } }] */ /*-+-+-+-+-+-+-+*/ // Comment block /*-+-+-+-+-+-+-+*/

此规则的正确代码示例,并带有以下"always"选项"exceptions"

/* eslint spaced-comment: ["error", "always", { "exceptions": ["-"] }] */ //-------------- // Comment block //--------------

/* eslint spaced-comment: ["error", "always", { "line": { "exceptions": ["-"] } }] */ //-------------- // Comment block //--------------

/* eslint spaced-comment: ["error", "always", { "exceptions": ["*"] }] */ /**************** * Comment block ****************/

/* eslint spaced-comment: ["error", "always", { "exceptions": ["-+"] }] */ //-+-+-+-+-+-+-+ // Comment block //-+-+-+-+-+-+-+ /*-+-+-+-+-+-+-+*/ // Comment block /*-+-+-+-+-+-+-+*/

/* eslint spaced-comment: ["error", "always", { "block": { "exceptions": ["-+"] } }] */ /*-+-+-+-+-+-+-+*/ // Comment block /*-+-+-+-+-+-+-+*/

标记

此规则的错误代码示例包含以下结合"markers""always"选项:

/* eslint spaced-comment: ["error", "always", { "markers": ["/"] }] */ ///This is a comment with a marker but without whitespace

/*eslint spaced-comment: ["error", "always", { "block": { "markers": ["!"], "balanced": true } }]*/ /*! This is a comment with a marker but without whitespace at the end*/

/*eslint spaced-comment: ["error", "never", { "block": { "markers": ["!"], "balanced": true } }]*/ /*!This is a comment with a marker but with whitespace at the end */

此规则的正确代码示例,并带有以下"always"选项"markers"

/* eslint spaced-comment: ["error", "always", { "markers": ["/"] }] */ /// This is a comment with a marker

/*eslint spaced-comment: ["error", "never", { "markers": ["!<"] }]*/ //!<This is a line comment with a marker /*!<this is a block comment with a marker subsequent lines are ignored */

/* eslint spaced-comment: ["error", "always", { "markers": ["global"] }] */ /*global ABC*/

相关规则

  • spaced-line-comment

版本

该规则在ESLint 0.23.0中引入。

资源