自动为 VS Code 工作区中新建的文件和目录生成 .meta 元数据文件,维护节点唯一标识及上级目录关联关系。
功能特性
- 自动生成文件元数据:创建文件时,自动生成同名
.meta 文件。
- 自动生成目录元数据:创建目录时,在目录内部生成
dir.meta。
- 唯一标识生成:根据节点路径、时间戳及随机标识生成 16 位十六进制
unique_key。
- 上级目录关联:通过
superior 关联上级目录的 unique_key。
- 缺失元数据兼容:上级目录没有对应元数据时,
superior 设置为空字符串。
- 保护已有数据:目标元数据文件已存在时,不覆盖原有内容。
- 轻量运行:基于 VS Code Extension API 和 esbuild 实现,无需额外数据库。
元数据规则
1. 文件元数据
创建 DxWithoutDocInventoryPost.py 后,自动生成以下文件:
DxWithoutDocInventoryPost.py
DxWithoutDocInventoryPost.py.meta
DxWithoutDocInventoryPost.py.meta 内容示例:
{
"unique_key": "3805d5cd873ccad2",
"name": "DxWithoutDocInventoryPost.py",
"type": "file",
"superior": "6afde5ce1a94444c",
"deleted_mark": ""
}
2. 目录元数据
创建 inventory 目录后,自动生成以下文件:
inventory/
└── dir.meta
dir.meta 内容示例:
{
"unique_key": "7a9b2c4d6e8f1035",
"name": "inventory",
"type": "dir",
"superior": "6afde5ce1a94444c",
"deleted_mark": ""
}
以上标识仅为示例,实际值由插件生成。
字段说明
| 字段 |
类型 |
说明 |
unique_key |
string |
节点唯一标识,当前实现为 文件名+时间戳 MD5 截取16位 |
name |
string |
原始文件名或目录名,不包含元数据文件后缀 |
type |
string |
节点类型:file 或 dir |
superior |
string |
上级目录的 unique_key;没有可用元数据时为空字符串 |
deleted_mark |
string |
删除标记,默认空字符串 |
上级目录关联规则
| 节点位置 |
上级目录元数据 |
superior |
| 工作区根目录中的文件 |
根目录 .meta 存在 |
根目录的 unique_key |
| 普通目录中的文件 |
目录 dir.meta 存在 |
目录的 unique_key |
| 新建目录 |
父目录的元数据存在 |
父目录的 unique_key |
| 任意目录 |
上级目录元数据不存在 |
"" |
插件不会为了补全 superior 而自动创建缺失的上级目录元数据,也不会在启动时扫描整个项目。
兼容性与注意事项
- 插件针对 VS Code 工作区中的文件和目录创建事件执行处理。
- 已存在的目标
.meta 文件不会被覆盖。
unique_key 的生成方式以插件当前实现为准。
- 元数据文件的生成取决于 VS Code 能否检测到相应的文件系统变化。
许可证
本项目采用 MIT License 开源许可证