【问题标题】:How to use eslint to format my javascript code?如何使用 eslint 格式化我的 javascript 代码?
【发布时间】:2016-10-06 01:57:28
【问题描述】:

我使用 vim 作为我的编辑器,我使用 eslint 来检查 javascript 代码。之前,我使用js-beautify 来格式化js 代码。但最近我发现 eslint 有一个--fix 选项,可以修复正常的编码风格问题,违反 eslint 规则。

我还发现了这个post,它建议使用 eslint 进行代码格式化。我觉得这是个好主意,因为我发现同时拥有 eslint 和 js-beautify 有点多余。既然 eslint 已经可以检测到我所有的编码风格问题,为什么不能帮我格式化呢?

同时拥有 js-beautify 和 eslint 还有一个缺点,我需要调整 js-beautify 以符合 eslint 规则。这是完全没有必要的。

但是当我对 js 文件使用 eslint --fix 时,它只会做一些修复,例如:插入分号,在必要时添加一些空格。但如果我的代码被压缩,它就不能很好地将其格式化为人类可读的格式。

如何让 eslint 像 js-beautify 一样做代码格式?

【问题讨论】:

  • “但是如果我的代码被压缩,它就不能很好地将其格式化为人类可读的格式。” - 为什么你的代码被压缩了?出于部署目的而缩小你的代码是好的(甚至是好的),但你应该以人类可读的格式编写维护它.
  • 如果你查看ESLint rules的列表,你会发现只有一些规则可以用---fix自动修复。
  • @nnnnnn,好吧,我不是要格式化压缩文件,只是更容易测试 eslint --fix 是否会很好地将它们格式化为单独的行。使用压缩文件只是为了方便测试

标签: javascript eslint js-beautify


【解决方案1】:

我并没有真正制作 eslint 格式的代码。但是可以使用一个技巧是将js-beautify 的结果通过管道传输到eslint --fix。因此,同一行的多个语句将被 js-beautify 格式化并将结果发送到 eslint --fix 以修复正常的样式问题,最后得到格式化和修复的代码版本。

【讨论】:

    【解决方案2】:

    并非所有规则都可以自动修复。有时,人类决定如何纠正问题很重要。这些规则不会为您固定。

    其他规则,如尾随逗号,可以安全地自动修复,并与--fix一起应用。

    【讨论】:

    • 感谢您的回答。我的意思是也使用 eslint 作为代码格式化程序。例如如果在同一行上有多个语句,它们将被格式化为单独的行。如果代码缩进不好,它会很好地缩进代码。只是想找到一种方法告诉 eslint 根据我的 eslint 配置来做这样的格式化工作。
    猜你喜欢
    • 2020-02-27
    • 2018-02-01
    • 2011-12-14
    • 1970-01-01
    • 2023-03-22
    • 2020-07-18
    • 2021-01-30
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多