不喜欢广告? 无广告 今天

Prettier 配置生成器

数据开发人员
广告 移除?
输入
自动处理 客户端
JSON 是最常见的格式;如果需要动态配置或按环境切换,则选择 JS 格式。

核心选项

打印机将在此处换行的行长度。Prettier 默认值为 80。
每个缩进层级的空格数量。Prettier 默认值为 2。
更改对象属性名称的引号方式。
在多行结构中打印尾随逗号。
在单个箭头函数参数周围添加括号。
文件中使用的换行符风格。

JSX

Markdown & HTML

Prettier 如何处理 Markdown 文本换行。
Prettier 如何处理 HTML 中的空白字符。

按语言覆盖

使用 overrides block 用于针对特定文件类型调整设置。

输出选项

广告 移除?

指导

Prettier 配置生成器

Prettier 配置生成器

构建一个正确的 Prettier 配置,无需查阅文档。从清单中选择每个格式选项,为 Markdown、HTML、YAML 和 JSON 添加按语言覆盖设置,并将结果导出为 .prettierrc.json, .prettierrc.yaml,一个 ES 模块,一个 CommonJS 模块,或一个可直接粘贴的 "prettier"package.json。一个匹配的 .prettierignore 模板将与之生成,以便您的仓库在首次提交时即可格式化。

如何使用

  1. 选择一个 输出格式 — JSON 用于最简单的共享文件,YAML 用于更易编辑的人类格式,当需要条件逻辑时使用 JS 模块,或当希望在仓库中减少一个文件时使用 package.json 键。
  2. 设置 核心选项:行宽、制表符宽度、分号、引号风格、尾随逗号、括号间距、箭头函数括号以及换行符风格。
  3. 调整 JSX 块,如果您的代码库使用 React,以及 Markdown & HTML 块,用于处理文本换行和空白字符。
  4. 启用任何 按语言覆盖 以对特定文件类型应用不同规则 — 例如,为 JSON 设置更宽的 printWidth ,或为 HTML 设置单属性每行。
  5. 点击 复制下载 在生成的配置中。将其放置在项目根目录下并运行 npx prettier --write ..

特征

  • 所有官方 Prettier 选项 — printWidth、tabWidth、useTabs、semi、singleQuote、quoteProps、jsxSingleQuote、trailingComma、bracketSpacing、bracketSameLine、arrowParens、endOfLine、proseWrap、htmlWhitespaceSensitivity、singleAttributePerLine。
  • 五种输出格式 — JSON、YAML、ESM(.mjs)、CommonJS(.cjs)以及 package.json 片段。
  • 按语言覆盖块 针对 Markdown、HTML、YAML 和 JSON 提供合理的默认值,您可以直接复制或进行调整。
  • 自动生成 .prettierignore 模板涵盖构建输出、依赖项、锁定文件、最小化资产以及常见框架缓存文件夹。
  • JSDoc @type 注解 应用于 JS 模块输出,以便编辑器提供自动补全和类型检查。
  • 实时预览 — 每次更改都会立即更新输出,因此您可以几秒钟内对比不同选项组合。

常问问题

  1. 为什么 Prettier 故意只有很少的选项?

    Prettier 的设计目标是通过有明确立场来结束风格争论。每个选项都是经过谨慎添加的,因为关于“正确默认值”的共识是不可能达成的。团队明确反对新增选项,以保持配置的可移植性和跨项目的一致性。因此,像“关键字周围添加空格”这样的选项是不可配置的 —— Prettier 将格式化选择视为商品决策,而非个人表达。

  2. 尾随逗号 'es5' 与 'all' 有何区别?

    'es5' 在数组和对象中添加尾随逗号,这些位置在 ECMAScript 5 中是允许的,但在函数参数或调用中不添加。'all' 也在函数参数列表和调用位置添加尾随逗号,这在 ES2017 及以上是有效的,当添加或移除参数时能产生更清晰的 git 差异。'all' 是当前 Prettier 的默认值,也是任何目标现代 JS 或进行编译的项目推荐的选择。

  3. Prettier 如何与 ESLint 交互?

    Prettier 负责格式化;ESLint 负责正确性。它们在引号和分号等风格规则上重叠,导致 ESLint 报告的问题被 Prettier 重新写入。解决方案是 eslint-config-prettier —— 一个可共享的配置,它禁用了 Prettier 已经控制的每一个 ESLint 规则。先运行 Prettier 进行格式化,再运行 ESLint 捕捉错误。像 eslint-plugin-prettier 这样的插件,将 Prettier 作为 lint 规则运行,不再推荐,因为它们会减慢 ESLint 并掩盖错误来源。

  4. 在 Markdown 文件中,proseWrap 做什么?

    'preserve' 保留您现有的换行符。'always' 在 printWidth 处强制换行,使源代码在任何编辑器中都可读,这在文档仓库中效果良好。'never' 将换行段合并为单行,这是在文件将被工具编辑或在环境中渲染时显示为独立段落的正确选择。默认值为 'preserve',因为某些 Markdown 味道中换行符可能改变语义。

  5. 何时应使用 JS 配置而非 JSON?

    当配置是静态且在团队间共享时,使用 JSON —— 它是最简单且最可移植的形式。当需要从包中导入共享规则、根据环境变量切换选项、从代码中的 glob 列表推导覆盖规则,或使用 TypeScript 类型通过 JSDoc @type 导入时,使用 JS 配置。JS 配置加载较慢,因为 Prettier 需要执行它们,但在编辑器保存速度下这种开销是不可见的。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?