此 GraphQL 格式化工具的功能
- 使用 Prettier 的 GraphQL 解析器应用一致、社区标准的格式化
- 支持查询、变更、订阅、片段和完整架构 SDL(类型、接口、联合、枚举、输入、指令)
- 可调缩进:选择空格或制表符并配置缩进大小(1–8)
- 通过可配置列宽进行可选的行长度/换行控制
- 在规范化布局的同时保持描述(`"""…"""`)和内联注释不变
- 在格式化过程中验证您的 GraphQL 文档结构;无效语法将显示错误,而非静默破坏代码
- 混合执行:可用时在浏览器中运行 Prettier,必要时回退到服务器格式化器
- 粘贴或上传 `.graphql` / `.gql` 文件,然后预览、复制或下载格式化结果
📝 如何在线格式化 GraphQL for graphql-formatter
粘贴或上传您的 GraphQL
将您的 GraphQL 模式或查询粘贴到编辑器中,或拖放 `.graphql` / `.gql` 文件。格式化器适用于 SDL 和操作文档。
调整格式化选项
选择空格或制表符,设置缩进大小,并配置您偏好的行长度。这些选项将传递给 Prettier 的 GraphQL 格式化器。
格式化、审查与导出
点击“格式化”应用更改。在预览窗格中审查结果,然后将其复制回您的编辑器或下载格式化后的文件。
技术规格
支持的输入
专为标准 GraphQL 模式和操作文档设计。
| 类型 | 示例 | 备注 |
|---|---|---|
| 模式 SDL | schema.graphql, schema.gql | 类型、接口、联合、枚举、输入、指令、模式定义 |
| 操作 | queries.graphql, app.gql | 查询、变更、订阅和片段 |
| 扩展 | 单独文件中的模式扩展 | 例如:`extend type Query { … }` 块 |
格式化引擎
格式化使用 Prettier 的 GraphQL 支持执行。在大多数情况下,Prettier 通过轻量级运行时在浏览器中运行。如果当前环境中无法解析 GraphQL 插件,格式化器将透明地回退到服务器端 Prettier 工作器。
可用选项(映射到 Prettier)
| 选项 | 行为 | 典型值 |
|---|---|---|
| 缩进样式 | 在空格和制表符之间选择 | 空格(默认)或制表符 |
| 缩进大小 | 每个缩进级别的空格数(使用空格时) | 1–8,默认:2 |
| 行长度 | 用于换行/截断长选择的目标列 | 0–120(0 ≈ 实际上不换行) |
限制与性能
该工具针对典型的GraphQL模式和操作文件进行了优化。几百KB到约2MB的请求通常是安全的;极大的文档可能会遇到超时或大小限制。
隐私与安全
GraphQL文档在您的浏览器中或在encode64的格式化后端进行格式化。它们不会被执行或发送给第三方服务。对于敏感模式,您可以在本地使用Prettier镜像相同的配置。
命令行等效工具(Prettier)
如果您已安装Node.js和Prettier,可以在本地重现此行为。
Node.js(所有平台)
原地格式化GraphQL模式文件
npx prettier --write schema.graphqlPrettier会根据文件扩展名自动检测GraphQL。
使用自定义缩进和行长度格式化
npx prettier --write schema.graphql --tab-width 2 --use-tabs false --print-width 80反映了在线工具中公开的缩进和换行选项。
从标准输入格式化(例如从另一个工具管道输入)
cat input.graphql | npx prettier --stdin-filepath input.graphql在shell脚本、CI流水线或Git钩子中很有用。
常见GraphQL格式化器使用场景
API模式开发
- 保持大型模式文件格式一致,便于导航
- 减少模式PR中的无关空白差异
- 为代码生成工具准备干净的SDL
# 之前
type User{ id:ID! name:String!}
# 之后
type User {
id: ID!
name: String!
}前端操作与片段
- 跨多个应用或包标准化共享查询
- 在调试时使嵌套选择更易于浏览
- 保持文档片段和playground示例格式美观
测试、夹具与工具
- 标准化快照测试中使用的GraphQL夹具
- 将格式化集成到预提交钩子或CI作业中
- 将干净文档输入到模式验证或差异工具中
❓ Frequently Asked Questions
GraphQL格式化器实际改变了什么?
它是否同时支持操作和模式SDL?
注释和描述字符串是否保留?
我的 GraphQL 代码会被执行吗?
格式化在哪里运行:客户端还是服务器?
这是免费使用的吗?
Pro Tips
在添加代码检查或破坏性更改之前,使用此格式化器标准化遗留模式;这使后续的差异审查更加容易。
将您的在线工具设置(缩进大小和行长度)与项目的 Prettier 配置对齐,以保持本地和网页格式化一致。
将代码中嵌入的长 GraphQL 字符串提取到 `.graphql` 文件中,以便统一格式化和重用。
将格式化与代码检查(例如 GraphQL ESLint)结合使用,以捕获超出空白和换行的问题。
Additional Resources
Other Tools
- CSS 美化器
- HTML 美化器
- JavaScript 美化器
- PHP 美化器
- 颜色选择器
- 精灵图提取器
- Base64 解码器
- Base64 编码器
- C# 格式化器
- CSV 格式化器
- Dockerfile Formatter
- Elm 格式化器
- ENV 格式化器
- Go 格式化器
- HCL 格式化器
- INI 格式化器
- JSON 格式化器
- LaTeX 格式化器
- Markdown 格式化器
- Objective-C 格式化器
- Php Formatter
- Proto 格式化器
- Python 格式化器
- Ruby 格式化器
- Rust 格式化器
- Scala 格式化器
- Shell 脚本格式化器
- SQL 格式化器
- SVG 格式化工具
- Swift 格式化工具
- TOML 格式化工具
- Typescript Formatter
- XML 格式化工具
- YAML 格式化工具
- Yarn 格式化工具
- CSS 压缩器
- Html Minifier
- Javascript Minifier
- JSON 压缩器
- XML 压缩器
- HTTP 头部查看器
- PDF 转文本
- 正则表达式测试器
- 搜索引擎排名检查器
- Whois 查询