VSCode For Web 深入浅出 -- 插件加载机制

2023-05-08
阅读 5 分钟
1.4k
最近我在浏览 VSCode for web 的 repo,在最近更新的一些 commit 中发现了一个新的 VSCode 插件特性支持,名为 webOpener,它的作用是什么呢?又是如何影响插件加载的呢?在这一篇中我们结合 VSCode For Web 的插件加载机制来详细分析一下。

浅析依赖注入框架的生命周期(以 InversifyJS 为例)

2023-02-10
阅读 3 分钟
1.1k
在上一篇介绍了 VSCode 的依赖注入设计,并且实现了一个简单的 IOC 框架。但是距离成为一个生产环境可用的框架还差的很远。行业内已经有许多非常优秀的开源 IOC 框架,它们划分了更为清晰地模块来应对复杂情况下依赖注入运行的正确性。这里我将以 InversifyJS 为例,分析它的生命周期设计,来弄清楚在一个优秀的 IOC 框...

VSCode For Web 深入浅出 -- 依赖注入设计

2022-11-15
阅读 6 分钟
4.7k
在阅读 VSCode 代码的过程中,我们会发现每一个模块中都有大量装饰器的使用,用来装饰模块以及其中依赖的模块变量。这样做的目的是什么呢?在这一篇中我们来详细分析一下。

VS Code For Web 深入浅出 -- Server 模块设计篇

2022-11-07
阅读 8 分钟
5k
在了解了 VS Code 的通信机制后,我们可以着手分析 VS Code Server 中各模块的实现以及设计思路了。<!-- more -->VSCode Server 模块设计通过之前的介绍我们可以了解到,VS Code 的能力是前后端分离的,这使得 remote server 的改造实现变得简单。通过这一张架构图,我们可以直观的看到在 VS Code 中,前后端能力...

VS Code For Web 深入浅出 -- 进程间通信篇

2022-10-20
阅读 3 分钟
3.9k
在上一篇中,我们一起分析了 VS Code 整体的代码架构,了解了 VS Code 是由前后端分离的方式开发的。且无论前端是基于 electron 还是 web,后端是本地还是云端,其调用方式并无不同。

VS Code For Web 深入浅出 -- 导读篇

2022-10-17
阅读 3 分钟
787
众所周知,VS Code 是当前工业界最优秀的代码编辑器之一。它由《设计模式》的作者 Erich Gamma 领导开发,因此,它的设计架构在很多地方十分精妙,近些年已经成为了各家竞相模仿学习的对象。