导图社区 vscode源码分析
vscode源码分析,架构图,一目了然,文件调用关系图
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
vscode
out
typescript编译后的输出目录; 这个路径是在src/tsconfig.json中配置的
main.js
实际的入口文件
build
.build
test
scripts
code.bat
windows下启动vscode的批处理
code.sh
linux下启动vscode的脚本
test.bat
windows下执行测试的批处理
test.sh
linux下执行测试的批处理
extensions
resources
remote
package.json
入口文件指向out目录的main.js yarn watch指令会监视vscode源码文件的变化,如果有变化,它会马上执行增量的构建,实时反映源码变化的结果
src
tsconfig.json
vs
base
browser
common
lifecycle.ts
lifecycle的事件分发机制在此实现
node
psf.ts
提供了创建目录的工具方法
parts
worker
code
electron-browser
workbench
程序启动后,第一个画面,也是唯一一个画面
workbench.html
除了引入workbench.js外,没做任何事情
workbench.js
加载了workbench.main.ts ...
electron-main
main.ts
调用同目录下的app.ts,意图打开窗口 启动一系列的基础服务:此颜色标志 基础服务创建好之后,就初始化了一堆目录;
app.ts
调用同目录下的windows.ts,意图打开窗口; 如果启动了性能追踪,那么在window.ready事件触发时,会结束性能问题追踪; 创建第一个窗口的时候,启动了一堆消息信道:颜色
windows.ts
本程序负责管理已经打开的窗口 调用同目录下的window.ts,意图打开窗口
window.ts
实例化一个具体的窗口
buildfile.js
editor
contrib
standalone
platform
layout
lifecycle
lifecycleMain.ts
监听了electron原生的事件(基础服务之一)before-quit、window-all-closed、will-quit 还为程序的签名提供一些hack工作 集成自Disposable(lifecycle.ts),事件分发在基类内完成
accessibility
log
log.ts
日志服务(基础服务之一),可以以不同的方式保存日志,默认console.log
logIpc.ts
日志信道
label
actions
instantiation
instantiationService.ts
这是个工厂函数,负责创建对象的实例;提供了反射、实例化的一些方法
descriptors.ts
一个descriptors的实例,持有一个类型,以后可以创建该类型的实例(依赖注入)
environment
environmentService.ts
运行环境服务(基础服务之一)
configuration
configurationService.ts
系统配置服务(基础服务之一),根据配置文件的路径,读取配置文件的内容,以供应用读写
state
stateService.ts
记录程序的运行状态
request
requestService.ts
请求服务,(基础服务之一)使用electron提供的net.request方法
diagnostics
diagnosticsService.ts
诊断服务(基础服务)CPU消耗、内存消耗、GPU消耗等
theme
themeMainService.ts
界面主题服务(基础服务)获取背景色、设置背景色,通过stateService保存
windows
windowsIpc.ts
消息信道, onWindowOpen,onWindowMaximize等事件,通过这里中转
windowsService.ts
launch
launchService.ts
获取主进程相关信息的信道 getMainProcessId,getMainProcessInfo
update
updateIpc.ts
应用升级相关的信道 升级检测feed的地址、检测升级、执行升级、退出并升级
update.ts
issue
issueIpc.ts
问题追踪与收集、上报相关的IPC信道
issue.ts
workspaces
workspacesIpc.ts
工作区相关消息信道 createUntitledWorkspace,deleteUntitledWorkspace
workspaces.ts
workspace
menubar
menubarIpc.ts
更新菜单栏的消息信道
menubar.ts
url
urlIpc.ts
打开一个路径时的IPC信道
url.ts
storage
storageIpc.ts
数据保存IPC信道
storage.ts
workbench.main.ts
vscode主窗口加载的第一个文件; 这个文件加载了很多类 算是初始化界面的第一步
api
layout.ts
workbench.ts
基类是同目录下的layout.ts 它和基类负责初始化第一个界面
负责加载workbench工作台 把body传递给了workbench.main.ts
services
主进程的第一个程序文件 在这里注册了electron的onReady的事件; 如果启动命令里包含trace指令,那么就会追踪性能问题