Prettier 代码排版格式化

Prettier原生支持 JavaScript,TypeScript,JSON,HTML,CSS,Markdown,YAML,GraphQL,Vue等前端语言代码的排版格式化工具。管"长啥样":缩进,行宽,引号,分号

主要与VS Code,WebStorm,Sublime Text等Windows的前端IDE集成。

Prettier配置文件格式的种类如下:

格式 说明及特点 适用场景
prettier片段 嵌入在package.json中 看到要认识,但不推荐散落在其他文件中
.prettierrc 无扩展名的JSON/YAML文件; 书写简洁,但没有注释。 早期的写法,留存在大量老项目中; 新项目不推荐使用。
.prettierrc.json .prettierrc.yml 显示扩展名的配置文件;根据扩展名,编码器自动识别,语法高亮,语法校验。 另外,YAML形式支持注释,但因为缩进敏感,写错空格就报错,所以普及率低。 固定参数即可满足需求,就用**.prettierrc.json**
.prettierrc.toml 与上面的一样,仅支持固定静态参数 Rust,Python项目以外,很少用。
.prettierrc.js prettier.config.js 可执行JS代码,动态生成配置 两种内容写法都是一样的;仅是命名习惯不同,新项目的习惯是prettier.config.js ・根据环境变量(DEV/PRD)动态切换 ・配置继承或复用公共配置 ・读取本地文件信息,动态调整规则 ・和ESLint共用一套配置范式。

.prettierrc.json样例

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| { "printWidth": 120, // 一行最大字符数(超过自动换行) "tabWidth": 2, // 缩进空格数(前端通用 2 格) "useTabs": false, // 不使用 Tab 缩进,用空格 "semi": true, // 代码末尾保留分号 "singleQuote": true, // 使用单引号 "jsxSingleQuote": false, // JSX属性使用双引号 "quoteProps": "as-needed", // JSX属性仅在必要时加引号 "trailingComma": "es5", // 对象或数组的最后一项保留尾逗号 "bracketSpacing": true, // 对象字面量两侧加空格 { name: 'xxx' } "bracketSameLine": false, // HTML/JSX 标签的 > 不单独一行 "arrowParens": "always", // 箭头函数参数始终加括号 (x) => x "proseWrap": "preserve", // 默认折行标准 "endOfLine": "lf", // 换行符LF(通常运行在Linux) "htmlWhitespaceSensitivity": "css", // HTML空格敏感度,默认惯例 "embeddedLanguageFormatting": "auto" // 自动格式化内嵌代码,默认惯例 } |

※红字的设置即可,其他属性使用默认值,可以不必显性设置。

※对于不同语言文件的差异,需要不同于默认值时,叠加以下overrides

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| "overrides": { "files": \["\*.json", "\*.jsonc", ".prettierrc", "options": { "parser": "json", "trailingComma": "none" } }, { "files": "*.md", "options": { "proseWrap": "always", "printWidth": 80 } }, { "files": "\*.html", "\*.vue", "options": { "htmlWhitespaceSensitivity": "ignore", "singleAttributePerLine": true "vueIndentScriptAndStyle": true } }, { "files": "\*.css", "\*.scss", "\*.less", "options": { "singleQuote": false } } ] | // JSON不需要尾随逗号 // 确保.prettierrc等无扩展名文件被正确解析 // 默认preserve不处理换行,设置为always,可按printWidth自动换行 // 默认css会保留inline元素间的空格,设为ignore可避免意外空白 HTML属性多时,强制每行一个,提升可读性 Vue中<script>和<style>内容缩进 // CSS中,双引号更常见 |

※另外还有以下,不常用的属性,了解即可。

・plugins:设置非内置功能

・requirePragma和insertPragma:对于既存项目,标签哪些是格式化对象文件的设置。

※ 忽略文件(.prettierignore)的配置

XML 复制代码
# 依存関係
node_modules/

# ビルド出力・成果物
dist/
build/
out/
public/build/

# ログ・キャッシュ
*.log
.cache/
.temp/


# 環境変数
.env.*

# パッケージ管理ファイル
package.json
package-lock.json
相关推荐
IT_陈寒15 小时前
Vite静态资源路径这个坑差点让我加班到凌晨
前端·人工智能·后端
掘金酱16 小时前
「TRAE Work 实战帮」征文启动!你沉淀的经验,值得被看见!
前端·人工智能·后端
橙子家16 小时前
Windows 上同时安装多个 node 版本
前端
晓说前端16 小时前
TypeScript 高级特性 —— 类型断言与泛型
前端·typescript
爱勇宝16 小时前
DeepSeek V4-Flash 更新:代码与 Agent 能力全面增强
前端·后端·deepseek
GuWenyue16 小时前
90%前端写React+TS都踩坑!从组件类型、单向数据流到本地存储完整实战
前端·react.js
妙码生花16 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(四十五):前端远程下拉输入组件
前端·javascript·vue.js
明月_清风16 小时前
全栈工程师必会技术栈:从入门到架构的完整成长地图 🗺️
前端·后端·全栈
windliang16 小时前
Claude Code 源码分析(三):一次模型回答如何流进 Agent
前端·算法·ai编程