在更漂亮的情况下禁用 printWidth

Posted

技术标签:

【中文标题】在更漂亮的情况下禁用 printWidth【英文标题】:disable printWidth on prettier 【发布时间】:2019-06-16 23:15:01 【问题描述】:

有没有办法在 prettier 中禁用 printWidth 规则警告?

为了便于阅读,我希望能够确定自己的行长。在某些情况下,我想要换行,而在其他情况下,我不想要。

我在我的 .prettierrc 文件中试过这个:


  "singleQuote": true,
  "printWidth" : "off"

但这不起作用。

【问题讨论】:

【参考方案1】:

简短的回答是否定的,你不能完全禁用它。

然而,有一些解决方法,但它们有一些警告。

在 github 上引用此问题的答案:https://github.com/prettier/prettier/issues/3468。 printWidth 不是规则,而是他们用来生成输出的算法的输入。意思是,它必须在那里。

一种解决方法是将 printWidth 设置为一个非常高的数字,但尽管这可以防止断行,但更改此属性会影响整个代码库,导致整个代码库中的其他行合并为一行,这很可能不会想要的。

您的第二个选项是使用 // prettier-ignore 语法为代码块禁用 prettier。这样做的缺点是您将禁用这部分代码的所有更漂亮的功能。此外,我个人认为在你的代码中使用这样的 cmets 并不是很“干净”。 您可以在此处阅读有关如何使用忽略功能的信息:https://prettier.io/docs/en/ignore.html

【讨论】:

这个工具应该叫uglier printWidth: Infinity 为我工作。 请注意,有时多行会合并为一行,这可能是不希望的。不幸的是,我手头没有示例,但我已经看到了多个屏幕宽度的线条。当然可能会在较新的版本中得到修复。【参考方案2】:

如果您想禁用一次更漂亮的规则,只需执行以下操作:

// prettier-ignore
const date = new Date()   // prettier disabled on this line

【讨论】:

@OliverWatkins Oliver 是对的,他的代码不会“更漂亮”,而是“更丑”。此选项破坏了使用格式化工具的全部意义。 IMO 这不仅仅是一个糟糕的解决方案,而且它根本不是一个解决方案,因为它没有禁用规则,它只是完全禁用了 1 行的更漂亮。他打算怎么做?

以上是关于在更漂亮的情况下禁用 printWidth的主要内容,如果未能解决你的问题,请参考以下文章

VSCode 更漂亮的 printWidth

如何在没有科学记数法和给定精度的情况下漂亮地打印 numpy.array?

Eslint /漂亮的javascript文件

保存混乱的 .jsx 文件时更漂亮的格式

vscode 更漂亮的设置

在某些情况下禁用滚动视图右侧