spaced-comment
Выполнять согласованное расстояние после // или /* в комментарии
Некоторые проблемы, сообщаемые этой правил, автоматически исправляются с помощью параметра --fix командной строки
Эта правила была устаревшей в ESLint v8.53.0. Используйте соответствующее правило в @stylistic/eslint-plugin-js.
Некоторые руководства по стилю требуют или запрещают пробел сразу после начального // или /* комментария. Пробел после // или /* облегчает чтение текста в комментариях. С другой стороны, выключение кода проще без необходимости размещения пробела сразу после // или /*.
Подробное описание правила
Это правило будет обеспечивать согласованность расстояния после начала комментария // или /*. Оно также предоставляет несколько исключений для различных стилей документации.
Параметры
Правило принимает два параметра.
-
Первый — это строка, которая может быть
"always"или"never". По умолчанию"always".-
Если
"always", то//или/*должны быть последовать хотя бы одним пробелом. -
Если
"never", то пробел после него не должен быть.
-
-
Это правило также может принимать второй параметр, объект с любыми из следующих ключей:
"exceptions"и"markers".- Значение
"exceptions"— массив строковых шаблонов, которые считаются исключениями из правила. Правило не будет выводить предупреждение, когда шаблон начинается с начала комментария и повторяется до конца строки или*/, если комментарий — комментарий на одной строке. Обратите внимание, что исключения игнорируются, если первый аргумент —"never".
"spaced-comment": ["error", "always", { "exceptions": ["-", "+"] }]- Значение
"markers"— массив строковых шаблонов, которые считаются маркерами комментариев в стиле документации, например, дополнительный/, используемый для обозначения документации, читаемой doxygen, vsdoc и т. д., которые должны иметь дополнительные символы. Массив"markers"будет применяться независимо от значения первого аргумента, например,"always"или"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", { "block": { "balanced": true } }] */
Примеры правильного кода для этого правила с параметром "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"]*/
/*eslint spaced-comment: ["error", "never", { "block": { "balanced": true } }]*/
Примеры правильного кода для этого правила с параметром "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
/* eslint spaced-comment: ["error", "always", { "block": { "exceptions": ["*"] } }] */
Примеры правильного кода для этого правила с параметром "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
/*-+-+-+-+-+-+-+*/
/* eslint spaced-comment: ["error", "always", { "block": { "exceptions": ["*"] } }] */
/***************/
/********
COMMENT
*******/
метки
Примеры неправильного кода для этой правила с опцией "always" в сочетании с "markers".
/* eslint spaced-comment: ["error", "always", { "markers": ["/"] }] */
/*eslint spaced-comment: ["error", "never", { "block": { "markers": ["!"], "balanced": true } }]*/
Примеры правильного кода для этого правила с опцией "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*/
Связанные правила
Версия
Это правило было добавлено в ESLint v0.23.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/spaced-comment