全体思路是将 VSCode 作为一个底层结构 Vender 引入到 IDE 中,上层的 IDE 经过新增一个 SWAN IDE API 模块来完结与 VSCode 的整合;原经过自有插件机制实现的模块改为以 VSCode 插件的方法来实现;
全体能够看到 IDE 将会分为 4 层:
①VSCode 层:新增开发者东西定制扩展点以及 SWAN IDE API 相关才能支撑;
②SWAN IDE API 层:将扩展点包装成不同的 API 给上层开发者东西事务层运用;
③内置 VSCode 插件层:开发者东西底层事务层,建立事务模块,调用 SWAN IDE API 完结和 IDE 结构交互;
④外置 VSCode 插件层:开发者东西上层事务,扩展开发者东西自定义插件 VSCode 插件。
此处,因为我们的扩展需要做一些 UI 交互,需要在 IDE 根底上来做扩展,因而规划了 Widget 扩展点,除了能够直接集成 VSCode Extensions 之外,还新增了 IDE Extensions 的才能;与开发 VSCode Extensions 的**区别是新增封装了能够对 IDE 中心插件或主体进行扩展的 API 才能;我们能够依据需求状况自主扩展来构建自己的 小程序 IDE 。