在更漂亮的情况下禁用 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的主要内容,如果未能解决你的问题,请参考以下文章