如何使用 Prettier 禁用元素标签中的属性中断

Posted

技术标签:

【中文标题】如何使用 Prettier 禁用元素标签中的属性中断【英文标题】:How to disable attributes breaking in element tags with Prettier 【发布时间】:2020-12-13 02:09:35 【问题描述】:

我使用 Vue CLI 生成了一个新的 Vue 项目。对于 linter 选项提示,我选择了 Prettier。如何禁用将属性中断为新行?例如:

这是我的标记:

<v-navigation-drawer
  v-model="drawer"
  :clipped="$vuetify.breakpoint.lgAndUp"
  app
>
   ...
</v-navigation-drawer>

我的预期输出是这样的:

<v-navigation-drawer v-model="drawer" :clipped="$vuetify.breakpoint.lgAndUp" app>
   ...
</v-navigation-drawer>

我尝试创建.prettierrc 文件,并添加了这个配置:


  "htmlWhitespaceSensitivity": "ignore"

但这对我不起作用,HTML 看起来还是一样。

【问题讨论】:

【参考方案1】:

此处强制执行的 Prettier 选项是 printWidth,其默认值为 80。所讨论的标记行长度为 82 个字符加上前面的制表符空间的长度,这会导致 linter/formatter 分解该行.

你可以增加printWidth来解决这个问题:

// .eslintrc.js
module.exports = 
  rules: 
    //...
    "prettier/prettier": [
      "warn",
      
        printWidth: 180,  // default = 80
      
    ]
  


【讨论】:

以上是关于如何使用 Prettier 禁用元素标签中的属性中断的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用更漂亮的设置创建新的> html标签行?

ESLint 和 Prettier 冲突,无法为代码块禁用 Prettier

禁用与状态相关的整个表单元素。反应

实现a标签按钮完全禁用

如何设置表单元素的只读和禁用属性

JS实现60s倒计时(亲测有效),及span标签如何使用和禁用onclick事件