乐闻世界logo
搜索文章和话题

Prettier 支持哪些编程语言和文件类型?

2月21日 16:54

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 通过解析器支持不同语言:

  1. 解析器选择: 根据文件扩展名自动选择对应的解析器
  2. AST 生成: 使用语言特定的解析器生成抽象语法树
  3. 格式化: 应用统一的格式化规则
  4. 代码生成: 将格式化后的 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 的多语言支持使其成为全栈项目的理想格式化工具,可以统一整个项目的代码风格。

标签:Prettier