# md2wx-vscode **Repository Path**: cd20/md2wx-vscode ## Basic Information - **Project Name**: md2wx-vscode - **Description**: markdown 文章发布平台的 vscode 插件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-23 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # md2wx VSCode插件 ## 简介 md2wx是一个VSCode插件,用于管理和编辑Markdown文件。它提供了一个简洁的侧边栏资源浏览器,可以方便地浏览和管理项目中的Markdown文件。 ## 主要功能 1. Markdown资源浏览器 - [x] 在VSCode侧边栏显示所有Markdown文件 - 支持多层目录结构 - 支持文件夹的展开和折叠 - 按最后修改时间排序文件 2. 文件状态显示 - 解析文件头部的draft状态 - draft = "false"时显示绿色标题 - draft = "true"时显示蓝色标题 - 支持自定义状态颜色 3. 文件编辑 - [x] 点击文件直接在编辑区打开 - 支持 Markdown 语法高亮 ## 安装 1. 在VSCode扩展市场中搜索"md2wx" 2. 点击安装 3. 重启VSCode ## 使用方法 1. 打开包含Markdown文件的项目文件夹 2. 点击侧边栏的md2wx图标 3. 在资源浏览器中浏览和管理Markdown文件 ## 配置选项 插件提供以下配置选项: ```json { "md2wx.appearance.draftTrue": { "type": "string", "default": "#0000ff", "description": "Draft为true时的颜色" }, "md2wx.appearance.draftFalse": { "type": "string", "default": "#00ff00", "description": "Draft为false时的颜色" } } ``` ## 文件格式要求 1. 文件必须是.md后缀的Markdown文件 2. draft状态需要在文件头部的两个"+++"之间定义,例如: ```markdown +++ draft = "false" +++ # 文章标题 正文内容... ``` ## 开发 1. 克隆仓库 ```bash git clone https://github.com/yourusername/md2wx.git ``` 2. 安装依赖 ```bash npm install ``` 3. 编译 ```bash npm run compile ``` 4. 启动调试 - 按F5启动调试实例 - 在新窗口中测试插件 ## 贡献 欢迎提交Issue和Pull Request! ## 许可证 MIT ## 缓存状态显示功能流程 下面的序列图展示了缓存状态显示功能的调用流程: ```mermaid sequenceDiagram participant VSCode participant Extension participant DraftManager participant CacheManager participant MarkdownExplorer participant NodeProvider participant UI VSCode->>Extension: 激活扩展 Extension->>DraftManager: 创建(context) DraftManager->>CacheManager: 初始化缓存 Extension->>MarkdownExplorer: 创建(rootPath, draftManager) VSCode->>MarkdownExplorer: 请求视图 MarkdownExplorer->>NodeProvider: getChildren() NodeProvider->>DraftManager: getMdFile(file) DraftManager-->>NodeProvider: 返回MdFile对象 NodeProvider->>DraftManager: isInCache(file) DraftManager->>CacheManager: 检查文件是否在缓存中 CacheManager-->>DraftManager: 返回缓存状态 DraftManager-->>NodeProvider: 返回缓存状态 Note over NodeProvider: 根据缓存状态和草稿状态
设置图标和颜色 alt 文件在缓存中 NodeProvider->>UI: 显示绿色图标 else 文件是草稿 NodeProvider->>UI: 显示黄色图标 else 普通文件 NodeProvider->>UI: 显示普通图标 end NodeProvider-->>MarkdownExplorer: 返回节点列表 MarkdownExplorer-->>VSCode: 显示文件树 ``` ### 图标颜色逻辑 - **绿色图标**: 文件在缓存中(优先级最高) - **黄色图标**: 文件是草稿但不在缓存中 - **普通图标**: 文件既不是草稿也不在缓存中