41 lines
1.7 KiB
Plaintext
41 lines
1.7 KiB
Plaintext
在 VS Code 源码中,资源管理器(Explorer)相关实现分散在多个目录/文件中。以下是关键文件和目录的定位(用于对照实现与阅读)。
|
||
|
||
## 1) 入口注册(Explorer Contributions)
|
||
|
||
- `src/vs/workbench/contrib/files/browser/files.contribution.ts`
|
||
- 注册资源管理器相关视图、命令、菜单等贡献点。
|
||
|
||
## 2) 视图实现(Explorer View)
|
||
|
||
- `src/vs/workbench/contrib/files/browser/views/explorerView.ts`
|
||
- Explorer 视图的渲染、布局与交互(树展示、展开折叠、选中、右键、拖拽等)。
|
||
|
||
## 3) 数据模型(Explorer Model)
|
||
|
||
- `src/vs/workbench/contrib/files/common/explorerModel.ts`
|
||
- Explorer 的数据模型(树数据构建、过滤/排序、与文件服务交互)。
|
||
|
||
## 4) 通用资源树结构(ResourceTree)
|
||
|
||
- `src/vs/base/common/resourceTree.ts`
|
||
- 基于 URI 的通用树结构实现,Explorer 使用的重要基础。
|
||
|
||
## 5) 文件相关命令(File Commands)
|
||
|
||
- `src/vs/workbench/contrib/files/browser/fileCommands.ts`
|
||
- 浏览器端通用文件命令(新建/删除/重命名/复制粘贴等)。
|
||
- `src/vs/workbench/contrib/files/electron-browser/fileCommands.ts`
|
||
- 桌面端特有命令(如在系统文件管理器中显示等)。
|
||
|
||
## 6) 文件服务接口(File Service)
|
||
|
||
- `src/vs/platform/files/common/files.ts`
|
||
- 文件服务核心接口(`IFileService`),提供文件系统读写与监听能力。
|
||
|
||
## 7) 辅助工具(URI/过滤等)
|
||
|
||
- `src/vs/base/common/resources.ts`:URI/路径工具
|
||
- `src/vs/workbench/common/resources.ts`:glob 匹配/过滤(排除文件等)
|
||
- `src/vs/workbench/contrib/files/common/files.ts`:文件资源通用类型
|
||
|