prettier
约 2 分钟阅读
- prettier/prettierGitHubprettier/prettierprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier 是什么?
- opinionated code formatter
- Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular
- 支持 Markdown, GraphQL, YAML, JSON
- 参考
- plugins
- php, pug, ruby, xml
- 社区: go-template, java, kotlin, properties, svelte, toml, sh
- benjie/prettier-plugin-pgGitHubbenjie/prettier-plugin-pgprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier PostgreSQL
- simonhaenisch/prettier-plugin-organize-importsGitHubsimonhaenisch/prettier-plugin-organize-importsprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier
- trivago/prettier-plugin-sort-importsGitHubtrivago/prettier-plugin-sort-importsprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier
- plugins
- 配置
- .prettierrc.json
- .prettierignore
- tailwindcss 插件要放在最后面
- YAML 无法调整 array 缩进
- sort-imports 错误处理
use client/use server指令 prettier-plugin-sort-imports#185GitHub Issuetrivago/prettier-plugin-sort-imports#185- 可以考虑用 ESLint sorting
# 直接格式化
npx prettier --write src/**/*.{ts,tsx,css,html}
# 格式检查
npx prettier --check src/**/*.{ts,tsx,css,html}
# 项目依赖
npm add -D prettier
# 当前配置文件
prettier --find-config-path src/types.d.ts
prettier --write src --cache --cache-strategy metadata
prettier --support-info
prettier --file-info a.js
pnpm dlx --packages={prettier-plugin-sh,prettier} prettier --write ./*.shprettier.config.js
// https://prettier.io/docs/en/options.html
module.exports = {
printWidth: 120,
singleQuote: true,
trailingComma: 'all',
};{
"prettier": {
"bracketSameLine": false,
"importOrder": ["^[^.]", "^[.][.]", "^[.][/]"],
"importOrderSeparation": false,
"trailingComma": "all",
"printWidth": 120,
"singleQuote": true,
"overrides": [
{
"files": ["*.html", "*.css"],
"options": {
"singleQuote": false
}
}
]
},
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
}
}npm install --save-dev husky lint-staged
npx husky install
npm set-script prepare "husky install"
npx husky add .husky/pre-commit "npx lint-staged"排序 import
- trivago/prettier-plugin-sort-importsGitHubtrivago/prettier-plugin-sort-importsprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier
- IanVS/prettier-plugin-sort-importsGitHubIanVS/prettier-plugin-sort-imports
npm add -D @trivago/prettier-plugin-sort-importsmodule.exports = {
printWidth: 80,
tabWidth: 4,
trailingComma: 'all',
singleQuote: true,
jsxBracketSameLine: true,
semi: true,
importOrder: ['^@core/(.*)$', '^@server/(.*)$', '^@ui/(.*)$', '^[./]'],
};- importOrderParserPlugins
- BabelParserPluginsList
- the-guild-org/shared-config/packages/prettier-config/index.cjsGitHub 文件the-guild-org/shared-config/packages/prettier-config/index.cjs
- import with
- babel 支持 importAttributesKeyword , 但是无法传递
plugins
- prettier-plugin-sql
- prettier-plugin-sh
- prettier-plugin-pkg
- package.json
- rx-ts/prettierGitHubrx-ts/prettierprettier/prettier 是什么? · opinionated code formatter · Web/Node 开发的 gofmt - JS/TS/Flow/JSX, CSS/SCSS/LESS, Vue, Angular · 支持 Markdown, GraphQL, YAML, JSON笔记:prettier
- sql,sh,pkg
- prettier.io/docs/en/plugins.html
ignore
.prettierignore- prettier-ignore 注释
// prettier-ignore<div>
{/* prettier-ignore */}
<span ugly format='' />
</div><!-- prettier-ignore -->SyntaxError: This experimental syntax requires enabling one of the following parser plugin(s): "decorators", "decorators-legacy".
importOrderParserPlugins: ['typescript', 'decorators-legacy'],.prettierrc.json
{
"bracketSameLine": false,
"trailingComma": "all",
"printWidth": 120,
"singleQuote": true,
"jsxSingleQuote": true,
"overrides": [
{
"files": ["*.html", "*.css"],
"options": {
"singleQuote": false
}
},
{
"files": ["*.sql"],
"options": {
"tabWidth": 4
}
}
],
"importOrder": [
"^node:",
"<BUILTIN_MODULES>",
"[.](polyfill|shim)$",
"reflect-metadata",
"^react(-dom)?",
"<THIRD_PARTY_MODULES>",
"^@/",
"^[.][.]",
"^[.][/]"
],
"importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy", "importAttributes"],
"plugins": ["prettier-plugin-pkg", "@ianvs/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"],
"tailwindFunctions": ["clsx", "tw", "cn"],
"tailwindConfig": "./tailwind.config.ts"
}No parser could be inferred for file
cat abc.css | prettier --stdin-filepath abc.css关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Web Dev FAQ笔记 · prettier
| abbr. | stand for | · | iife | Immediately Invoked Function Expression | · 在开发时 assert 错误 · invariant · 早期来自 React, flux
参考资料
GitHub11 条
- trivago/prettier-plugin-sort-importsgithub.com/trivago/prettier-plugin-sort-imports
- benjie/prettier-plugin-pggithub.com/benjie/prettier-plugin-pg
- brodybits/prettierxgithub.com/brodybits/prettierx
- IanVS/prettier-plugin-sort-importsgithub.com/IanVS/prettier-plugin-sort-imports
- prettier/prettiergithub.com/prettier/prettier
- redhat-developer/vscode-yaml#172github.com/redhat-developer/vscode-yaml/issues/172
- rx-ts/prettiergithub.com/rx-ts/prettier
- simonhaenisch/prettier-plugin-organize-importsgithub.com/simonhaenisch/prettier-plugin-organize-imports
- the-guild-org/shared-config/packages/prettier-config/index.cjsgithub.com/the-guild-org/shared-config/blob/main/packages/prettier-config/index.cjs
- trivago/prettier-plugin-sort-imports#185github.com/trivago/prettier-plugin-sort-imports/issues/185
- trivago/prettier-plugin-sort-imports#273github.com/trivago/prettier-plugin-sort-imports/pull/273
其他外链1 条
- prettier.io/docs/en/plugins.htmlprettier.io/docs/en/plugins.html