我们很高兴推出全新版本的 Swagger 编辑器。
随着我们为 Swagger 工具套件的激动人心的新发展做好准备,旨在支持 API 社区使用各种 API 规范和语言,我们从头开始构建了下一代 Swagger 编辑器。新的编辑器配备了丰富的编辑功能,例如特定语言的文档、更好的自动完成、验证、语法高亮、转到引用和查找符号。
与往常一样,我们将继续在您的浏览器中直接提供这些功能和文档预览功能。更重要的是,体验将不再局限于 OpenAPI 规范的版本。我们知道 API 格局正在迅速发展,并且我们将可扩展性作为我们工具的基础。从发布开始,我们的新编辑器将支持多种规范,同时确保易于扩展。这将有助于快速采用新的规范和版本。
下一代 Swagger 编辑器 - 其功能
新的编辑器开箱即用地支持 AsyncAPI(版本 2.*)。这在您的 Web 浏览器中提供了跨 OpenAPI 和 AsyncAPI 的丰富编辑体验。我们增强的编辑器体验提供了现代集成开发环境 (IDE) 中所需的许多功能。
图 1 - Swagger 编辑器支持 AsyncAPI
开始探索新功能
您可以在 https://editor-next.swagger.io/ 试用新的 Swagger 编辑器
技术堆栈
新的编辑器是从头开始构建的,并使用 Monaco 编辑器。Monaco 是为 VS Code 提供支持的同一代码编辑器。利用 Monaco 进行编辑体验提供了优雅的现代 UI、出色的自动完成功能以及使创建具有语言服务器协议 (LSP) 功能的强大客户端成为可能的 API。
Monaco 支持 Edge、Chrome、Firefox、Safari 和 Opera 浏览器。它具有强大的可扩展性功能,这支持我们在编辑器和本机 IDE 插件之间共享最佳 API 设计和开发体验的愿景。
下一代编辑器建立在我们多规范核心 Swagger ApiDOM 的基础上,它为跨 API 描述语言和序列化格式描述 API 提供了一个统一的结构。我们将很快分享有关 Swagger ApiDOM 的更多信息和背景,敬请关注!
结合 Swagger ApiDOM、Swagger ApiDOM 语言服务和 Monaco 的强大核心,使我们的编辑器体验具有强大而直观的功能,开发人员在编辑 API 工件时希望在本地 IDE 体验中获得这些功能。将支持验证、语法高亮、自动完成、语法检查、转到引用、转到定义、操作等语言功能。
后续步骤
目前,新编辑器版本在唯一的位置提供,并且与现有版本并行。
当我们在新的 Swagger 编辑器上具有足够的功能对等性时,我们将把现有的编辑器版本移至维护模式。实现功能对等性的路线图包括完全支持 OpenAPI 2.0(又名 Swagger 2.0)和 OpenAPI 3.0。
一旦我们达到期望的功能对等性级别,现有编辑器版本将被新的基于 Monaco 的编辑器取代。
与此同时,我们正在努力在新的编辑器体验中提供 OpenAPI 3.1 支持。正在进行向我们的 Swagger Core 和 Swagger Parser Java 工具添加 OpenAPI 3.1 支持的工作。很快,我们将提供更多关于我们在 Swagger 工具链中对 OpenAPI 3.1 支持的历程的信息,以及有关我们计划的路线图的见解。
我们很乐意您参与我们在 Swagger 中的开源计划。欢迎查看我们的 贡献指南。