vscode二次开发_认识vscode(一)

本文介绍了VSCode的二次开发背景,详细剖析了其整体架构,包括核心模块如extensions、vs-base、vs-editor、vs-platform和vs-workbench。每个模块又分为browser、common和node子模块,运行在不同进程中。通过IPC通讯实现进程间交互。学习了开发命令如yarn watch和编译不同平台的VSCode。下篇将探讨VSCode的运行流程。
摘要由CSDN通过智能技术生成

967c1f0ec7b337d264d3b308bad19f8e.png

近期因为工作和自身的爱好等等机缘巧合.需要对vscode进行二次魔改。

所以一直在啃vscode源码.

vscode 整体架构非常复杂,但同时源码非常清晰明了,有第三方依赖,核心模块大都是由自身实现,包括依赖注入系统、UI管理、插件服务、terminal(powershell)管理.

vscode的模块架构非常清晰.主要包含

  • extensions (插件模块.该目录下每个目录都是一个独立的插件. build/builtInExtensions.json 描述了额外依赖的远程插件
  • vs-base (基础功能模块
  • vs-code (这里还没了解是啥后续更新。代码很少
  • vs-editor ( monaco-editor...
  • vs-platform ( 这里可以理解为跟系统原生API交互的一些组件. 比如 fileDialog.. powershell. bash 啊这些..
  • vs-workbench ( 这里相当于我们看到的vscode的整个界面.下一篇文章会讲到vscode会用electron打开一个渲染进程直接载入workbench.html ...二次开发主要也是改这里

每个模块基本还会细分为三个子模块分别运行在三个不同的进程.

  • browser (UI逻辑
  • common (共享的一些逻辑. config 之类的 如果在这里写了一些依赖node 库才能运行的代码 让 browser调用了。会导致vscode卡死..
  • node (node逻辑代码
  • el
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值