我正在使用 Monaco Editor 开发一个项目,我需要在同一页面上使用多个 TypeScript 编辑器。每个编辑器都需要独特的 extraLib 来定义自己的类型定义。然而,Monaco Editor 的 typescriptDefaults 是全局的,这意味着所有 TypeScript 编辑器共享相同的配置。
为了解决这个问题,我想为每个编辑器实例注册一种新语言(例如 typescriptA、typescriptB)。每种语言应该:
从默认打字稿语言克隆所有现有配置(例如,IntelliSense、诊断等)。
允许为隔离行为设置唯一的额外库。
问题
我如何在摩纳哥编辑器中注册一种新语言:
完全复制 TypeScript 的行为(语法突出显示、IntelliSense、诊断)。
支持每个编辑器实例的自定义配置,例如 extraLibs?
如果可能,请提供一个示例,说明如何通过克隆 typescript 的配置并应用独特的 extraLib 来注册新语言。谢谢!
不,那是不可能的。您最好拆分编辑器(例如在选项卡视图上,每个选项卡上的每个编辑器,当选项卡变为非活动状态时将被卸载)。