VS Code + Prettier 不使用 printWidth 设置?

Posted

技术标签:

【中文标题】VS Code + Prettier 不使用 printWidth 设置?【英文标题】:VS Code + Prettier not using printWidth setting? 【发布时间】:2021-05-22 13:22:10 【问题描述】:

我正在尝试让 Prettier 使用 80 个字符的 printWidth 格式化我的文件(我理解为默认值)。但是,即使配置了我的用户设置:

"prettier.printWidth": 80

在项目中使用.prettierrc 配置:


  "tabWidth": 2,
  "useTabs": false,
  "printWidth": 80

...保存文件时没有任何变化(实现了其他设置,这让我认为某处存在冲突)。

甚至 VS Code 中的 Prettier 输出也显示它正在拉入配置:

["INFO" - 8:27:53 PM] Using config file at '/Users/username/Documents/whatever/.prettierrc'
["INFO" - 8:27:53 PM] Prettier Options:

  "filepath": "/Users/username/Documents/whatever/project/file.mdx",
  "parser": "mdx",
  "tabWidth": 2,
  "useTabs": false,
  "printWidth": 80

["INFO" - 8:27:53 PM] Formatting completed in 93.855083ms.

【问题讨论】:

"其他设置已实现" -- 究竟是什么意思? @thorn̈ 抱歉措辞不当 - 我的设置中的其他配置已正确应用,只是没有 printWidth 我猜你正在寻找这个选项prettier.io/docs/en/options.html#prose-wrap。 printWidth 只是一个数字,不能禁用。 谢谢!我将尝试使用 always 设置。 【参考方案1】:

您正在格式化 MDX,它是 Markdown 的一种变体。默认情况下,在 Markdown 中打破文本以尊重打印宽度被认为是不安全的,因为这会影响一些对换行敏感的渲染器。这就是 Prettier 的选项 proseWrap(docs) 默认为 preserve 的原因。将其设置为 always 以便 Prettier 开始环绕文本。

【讨论】:

以上是关于VS Code + Prettier 不使用 printWidth 设置?的主要内容,如果未能解决你的问题,请参考以下文章

vs code 使用eslint prettier插件格式化eslint

vs code settings.json

VS Code:Prettier 将段落文本拆分为多行

VS Code + ESLint + Prettier + Google Style + Typescript

将 prettier 作为 NPM 包安装和在 VS Code 中安装 prettier 扩展有啥区别

VS Code Prettier - Code Formatter Extension 不适用于使用 Typescript 模板的 Create-React-App