Prettier 支持的编程语言和文件类型
Prettier 是一款支持多种编程语言的代码格式化工具,几乎涵盖了现代前端开发中使用的所有主要语言。
完全支持的语言
JavaScript 生态系统
- JavaScript (ES6+)
- TypeScript
- JSX (React)
- TSX (TypeScript + React)
- Flow
- Vue 单文件组件 (.vue)
- Angular 模板
样式语言
- CSS
- SCSS/SASS
- Less
- Stylus
模板语言
- HTML
- Vue 模板
- Angular 模板
- Handlebars
- Mustache
数据格式
- JSON
- JSON5
- JSONC (带注释的 JSON)
配置文件
- YAML
- TOML
- INI
文档语言
- Markdown (.md)
- MDX
其他语言
- GraphQL
- Markdown
- XML
部分支持的语言
- Java (通过插件)
- PHP (通过插件)
- Python (通过插件)
- Ruby (通过插件)
- Go (通过插件)
- Rust (通过插件)
语言支持原理
Prettier 通过解析器支持不同语言:
- 解析器选择: 根据文件扩展名自动选择对应的解析器
- AST 生成: 使用语言特定的解析器生成抽象语法树
- 格式化: 应用统一的格式化规则
- 代码生成: 将格式化后的 AST 转换回源代码
指定解析器
如果 Prettier 无法自动识别文件类型,可以在配置中指定解析器:
json{ "overrides": [ { "files": "*.vue", "options": { "parser": "vue" } } ] }
多语言项目配置
对于包含多种语言的项目,可以使用 overrides 配置为不同文件类型设置不同的格式化规则:
json{ "semi": true, "overrides": [ { "files": "*.css", "options": { "singleQuote": false } }, { "files": "*.json", "options": { "tabWidth": 4 } } ] }
Prettier 的多语言支持使其成为全栈项目的理想格式化工具,可以统一整个项目的代码风格。