MLARC - ML Archive VSCode 插件
MLARC (ML Archive) 是一个 VSCode 插件,实现了文件夹与文本/图片的双向转换协议,支持压缩、校验、分包处理和图片隐写术。
功能特性
核心功能
- ✅ 导出工作区到文本:将当前工作区文件夹转换为可复制粘贴的文本格式
- ✅ 从文本导入归档:从文本文件还原文件夹结构
- ✅ 导出工作区到图片:使用图片隐写术将工作区数据嵌入到图片中
- ✅ 从图片导入归档:从包含隐写数据的图片中恢复工作区
- ✅ 忽略文件支持:通过
.mlarcignore
文件控制要忽略的文件
🔥 新增优化特性
- ✅ 高密度图片隐写:支持1-4位/通道的可配置位密度,相比原版提升2-4倍信息密度
- ✅ 智能图片尺寸调整:当图片容量不足时自动放大,最大支持16倍放大
- ✅ 独立分包配置:图片分包和文本分包可分别配置,默认5MB
- ✅ 降级容错机制:高密度模式失败时自动降级,减少导出失败情况
- ✅ 交互式配置:导出时可实时选择位密度和分包大小
- ✅ 向后兼容性:自动识别不同版本的隐写数据并正确解析
基础功能
- ✅ 数据压缩:使用 zlib 压缩减少文件大小
- ✅ 分包处理:支持大文件自动分割
- ✅ 完整性校验:CRC校验确保数据完整性
- ✅ 进度显示:实时显示处理进度
- ✅ 随机图片生成:可生成随机背景或使用自定义图片
使用方法
导出工作区到文本
- 打开要导出的工作区文件夹
- 按
Ctrl+Shift+P
(macOS: Cmd+Shift+P
) 打开命令面板
- 输入
MLARC: Export Workspace to Text
并执行
- 选择保存位置和文件名
- 等待导出完成
从文本导入归档
- 按
Ctrl+Shift+P
(macOS: Cmd+Shift+P
) 打开命令面板
- 输入
MLARC: Import Archive from Text
并执行
- 选择要导入的
.mlarc
文件
- 选择要恢复到的目标文件夹
- 等待导入完成
导出工作区到图片
- 打开要导出的工作区文件夹
- 按
Ctrl+Shift+P
(macOS: Cmd+Shift+P
) 打开命令面板
- 输入
MLARC: Export Workspace to Image
并执行
- 选择图片类型:
- 生成随机图片:使用算法生成随机背景图片
- 使用自定义图片:选择已有图片作为背景
- 如果选择自定义图片,请选择背景图片文件
- 选择图片保存文件夹
- 等待导出完成,会生成一个或多个PNG图片文件
从图片导入归档
- 按
Ctrl+Shift+P
(macOS: Cmd+Shift+P
) 打开命令面板
- 输入
MLARC: Import Archive from Image
并执行
- 选择包含隐写数据的图片文件(可多选)
- 选择要恢复到的目标文件夹
- 等待导入完成
忽略文件配置
在工作区根目录创建 .mlarcignore
文件,语法类似 .gitignore
:
# 编译输出
out/
dist/
node_modules/
# 日志文件
*.log
# 临时文件
*.tmp
*.bak
# 但保留重要文件
!important.tmp
配置选项
在 VSCode 设置中可以配置以下选项:
{
"mlarc.autoOpenExport": true,
"mlarc.defaultExportName": "${workspaceName}-${timestamp}.mlarc",
"mlarc.ignorePatterns": [
".DS_Store",
"Thumbs.db",
".git/",
"**/node_modules",
"**/*.log"
],
// 🔥 新增图片导出优化配置
"mlarc.textSegmentSize": 5242880, // 文本分包大小(字节),默认5MB
"mlarc.imageSegmentSize": 5242880, // 图片分包大小(字节),默认5MB
"mlarc.imageBitsPerChannel": 2, // 图片隐写术位密度:1-4位/通道
"mlarc.imageAutoResize": true, // 当图片容量不足时自动放大
"mlarc.imageMaxResizeRatio": 16, // 图片最大放大倍数
// 默认图片设置
"mlarc.defaultImageType": "random", // 默认图片类型:random/custom
"mlarc.defaultCustomImagePath": "", // 默认自定义图片路径
"mlarc.useDefaultExportLocation": true, // 使用默认导出位置
"mlarc.useDefaultImportLocation": true // 使用默认导入位置
}
版本历史
v0.0.2 (当前版本):
- 🔥 重大优化:图片隐写术信息密度提升2-4倍
- ✨ 支持1-4位/通道的可配置位密度
- ✨ 智能图片尺寸调整,最大16倍放大
- ✨ 独立的图片和文本分包配置(默认5MB)
- ✨ 降级容错机制,减少导出失败
- ✨ 交互式配置界面,实时选择导出参数
- ✨ 向后兼容性,支持旧版本数据格式
- 🐛 修复大文件导出时的内存问题
- 🐛 优化图片处理性能和错误处理
v0.0.1:
- 初始版本,实现基本的导出/导入功能
- 添加图片隐写术功能
- 重构代码架构,采用模块化设计
- 支持随机图片生成和自定义图片背景
许可证
MIT License