【问题标题】:ESLint rule for whitespace before single-line inline comment单行内联注释前空格的 ESLint 规则
【发布时间】:2021-07-20 11:29:10
【问题描述】:

我正在寻找一些我认为在 ESLint 规则中是标准但在 list of rules 中找不到的东西。

spaced-comment 规则在单行注释的开头 之后立即强制使用空格。

我想在 内嵌评论之前立即强制使用空格。

test(); // This would be allowed
test();// This wouldn't be

有没有我没有看到的规则?

【问题讨论】:

    标签: javascript eslint


    【解决方案1】:

    不幸的是,正如另一个答案所提到的,ESLint 没有规定在双前斜杠 // 之前需要空间行注释的开头。仅允许您设置双斜杠后的空格数://。 ESLint v8.0 是一个非常令人兴奋的更新,因此我已经阅读了它包含的内容,并且我知道它不包含评论前的空格,因此,假设 ESLint 将这个小消息留给格式化程序或用户(如果该用户不使用格式化程序)。



    有两种解决方案,但都不包含 ESLint 规则:

    • 第一个非常明显,但比我曾经想象的更常见 - 整理代码,然后使用鼠标和眼球手动格式化代码。

    • 第二个可能是最流行的选项:使用 Prettier,__FYI:你不需要为此使用插件“。Prettier 是有偏见的,带有内联注释的空格是不可更改的Prettier Style Guide 的一部分。很多人避免使用 prettier,因为将 ESLint 和 Prettier 加入到同一个项目中并实现两者之间无冲突的和谐是一项非常艰巨的任务这两个 ECMAScript 工具,但是,由于已经创建了新的扩展和插件,这两个所需的现代配置要容易得多。如果你使用 VSCode,你只需要安装 ESLint 和 Prettier-ESLint 扩展,再加上你需要 NPM 安装 ESLint & Prettier 作为开发环境扩展。



    > "上面可能不是你要找的,但我觉得值得一提,因为即使你已经知道我写的所有内容,至少它证实了你在哪里站,是你使用的 Linter 也站的地方。”

    重要的是要注意,linter 不是格式化程序,反之亦然,这就是人们同时使用两者的原因。

    【讨论】:

    • @MarioVarchmin 马里奥爵士,请允许我启发您。您编写的以下句子不准确:​​ “但是,如果您不希望格式化程序格式化您的代码,而只使用 eslint 对其进行 lint,则 eslint-plugin-prettier eslint 插件允许您这样做,” 该插件不会将 Prettier 更改为 linter, 或将 Prettier 的规则添加到 ESLint,而是允许代码由 Prettier 格式化,并由 ESLint linted,在某种程度上,两者可以在同一个项目中和谐共存。当用户使用以下依赖项时:
    • eslint-plugin-prettier & eslint-config-prettier,实际上,插件和配置禁用了 ESLint 使用的所有规则——___“从技术上讲”__ — 格式化代码,这允许 Prettier 格式化代码而不会破坏任何 ESLint 规则。您还可以从 prettier 中获得一些语法高亮显示,当某些内容没有以 prettier 允许的方式格式化时,它会显示为 Prettier/Prettier ESLint 规则。重点是,您不仅在检查代码,还在格式化代码。
    • @Mario 我用粗体,以及斜体(你没有指出那部分),作为将我的开场白与我引用的不准确句子分开的一种手段,因此社区成员可以轻松区分两者。可以说出我在说什么,以及你引用的句子。在修正的同时,进一步;你怎么不明白eslint-plugin-prettier 格式化代码。我说 prettier 解决了这个问题,并明确指出使用 prettier 的解决方案不会向 ESLint 添加规则。我当时说过,现在我坚持。
    • 插件eslint-plugin-prettier 没有添加规则,事实上您认为eslint-plugin-prettier 以某种方式向 ESLint 添加了规则,用于 "OP" (*air引号)的要求表明您对这些工具缺乏了解。您坚持说的插件是一个答案,只是我摘录的第二个解决方案的复杂版本。另外请尝试通过格式化您的 cmets 和贡献来保持 Stack Overflow 模型。
    • 你有几个连续的句子,因为你没有正确插入连接副词,一个句子被分成两个独立的想法。另外,我注意到有几个你写代词而不大写的例子。我怀疑你知道名词何时实际上是代词,我也怀疑你知道它们都应该大写。你知道你应该在他们的第一个字母大写的情况下写它们,请在最终提交你的作品之前尽量确保你为 Stack Overflow 贡献的所有内容都经过编辑和格式化。
    猜你喜欢
    • 2020-03-27
    • 2019-03-20
    • 2017-04-14
    • 2019-06-17
    • 1970-01-01
    • 2018-09-05
    • 2023-03-08
    • 2019-01-01
    • 2015-09-14
    相关资源
    最近更新 更多