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"然后/*必须遵循由至少一个空格,并且*/必须被至少一个空格之后。
  • 如果"balanced": true"never"那么就应该有以下没有空格/*或之前*/
  • 如果"balanced": false那么平衡的空白不被执行。
"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中引入。

资源

扫码关注云+社区

领取腾讯云代金券