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中引入。