当前位置: 首页 > 后端技术 > Node.js

认识vscode(一)

时间:2023-04-03 23:03:06 Node.js

最近因为工作和自己的爱好等巧合,需要对vscode进行二次魔改。所以一直在啃vscode的源码。vscode整体结构非常复杂,但同时源码非常清晰,有第三方依赖,大部分核心模块都是自己实现的,包括依赖注入系统、UI管理、插件服务,终端(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逻辑通用(一些共享逻辑.config等)如果写一些依赖node库的代码来运行到这里,让浏览器调用。会导致vscode卡死。