3

我注意到prettierVetur 现在使用它来格式化 Vue 文件的 HTML 部分。我并不总是理解它的格式:

<b-button v-else pill variant="primary" @click="submit"
  >Finish</b-button
>

如果我只添加一个class元素,它会:

<b-button
  v-else
  pill
  class="pb-2"
  variant="primary"
  @click="submit"
  >Finish</b-button
>

但是,由于我的编辑器的宽度超过 100 个字符,因此将其格式化为:

<b-button v-else pill class="pb-2" variant="primary" @click="submit">
  Finish
</b-button>

我查看了 Prettier 的选项,但没有找到任何与这件事相关的配置设置。

如何告诉我的 vscode 格式化程序根据需要格式化 HTML 标签?

在我的.prettierrc.json我有:

{
  "singleQuote": true,
  "arrowParens": "avoid",
  "jsxBracketSameLine": true
}
4

1 回答 1

2

prettier 为您提供两种选择:

要获得所需的输出,您可能需要:

{
  "printWidth": 100,
  "htmlWhitespaceSensitivity": "ignore"
}

默认情况下,htmlWhitespaceSensivity设置为'css',因为:

正如您在日常 HTML 工作中可能注意到的那样,以下两种情况不会产生相同的输出:

1<b> 2 </b>3 => 1 2 3

1<b>2</b>3 => 123

发生这种情况是因为空白在行内元素中很重要。

来自:https ://prettier.io/blog/2018/11/07/1.15.0.html#whitespace-sensitive-formatting

于 2020-10-04T07:57:46.947 回答