Skip to content

自强 Prettier Config

快速开始

自强 Prettier Config 是一套 prettier 配置,因此需要先安装 prettier 才能正常运行。

pnpm i -D @zqstudio/configs prettier

安装后可以参考 Prettier 官网 进行配置。

js
import config from '@zqstudio/configs/prettier';

export default config;

WARNING

自强 Prettier Config 仅支持 javascript 格式的复用,暂不支持 json 格式的复用,即不支持 .prettierrc 格式的配置文件。

之后可以添加 format 脚本在本地运行 Prettier,也可以使用 ESLint 自动规范代码,具体可以参考 自强 ESLint Config

json
...
    "format": "prettier ."
...

扩展配置

扩展 Prettier 配置也非常简单。

js
import config from '@zqstudio/configs/prettier';

export default {
  ...config,
  singleQuote: false,
  printWidth: 120,
};

Prettier 配置参考

ts
import { Config } from 'prettier';

export const config: Config = {
  // 一行最多 80 字符
  printWidth: 80,
  // 使用 2 个空格缩进
  tabWidth: 2,
  // 不使用缩进符,而使用空格
  useTabs: false,
  // 行尾需要有分号
  semi: true,
  // 使用单引号
  singleQuote: true,
  // 对象的 key 仅在必要时用引号
  quoteProps: 'as-needed',
  // jsx 不使用单引号,而使用双引号
  jsxSingleQuote: false,
  // 末尾需要有逗号
  trailingComma: 'all',
  // 大括号内的首尾需要空格
  bracketSpacing: true,
  // jsx 标签的反尖括号需要换行
  bracketSameLine: false,
  // 箭头函数,只有一个参数的时候,也需要括号
  arrowParens: 'always',
  // 每个文件格式化的范围是文件的全部内容
  rangeStart: 0,
  rangeEnd: Infinity,
  // 不需要写文件开头的 @prettier
  requirePragma: false,
  // 不需要自动在文件开头插入 @prettier
  insertPragma: false,
  // 使用默认的折行标准
  proseWrap: 'preserve',
  // 解决 Vue 代码中 html 缩进问题
  htmlWhitespaceSensitivity: 'ignore',
  // vue 文件中的 script 和 style 内不用缩进
  vueIndentScriptAndStyle: false,
  // 换行符使用 lf
  endOfLine: 'lf',
  // 格式化内嵌代码
  embeddedLanguageFormatting: 'auto',
};

export default config;