{"id":42804114,"url":"https://github.com/pikastech/mdtodo","last_synced_at":"2026-02-04T08:01:42.395Z","repository":{"id":335218060,"uuid":"1144796668","full_name":"pikasTech/MDTODO","owner":"pikasTech","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-30T08:29:50.000Z","size":2746,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-30T16:53:54.723Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pikasTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-29T03:57:44.000Z","updated_at":"2026-01-30T08:29:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pikasTech/MDTODO","commit_stats":null,"previous_names":["pikastech/mdtodo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pikasTech/MDTODO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikasTech%2FMDTODO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikasTech%2FMDTODO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikasTech%2FMDTODO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikasTech%2FMDTODO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pikasTech","download_url":"https://codeload.github.com/pikasTech/MDTODO/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikasTech%2FMDTODO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28928628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T02:59:34.861Z","status":"ssl_error","status_checked_at":"2026-01-31T02:59:05.369Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-30T03:34:07.689Z","updated_at":"2026-01-31T04:00:35.805Z","avatar_url":"https://github.com/pikasTech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSCODE MDTODO Plugin\n\nVSCODE插件，渲染TODO文件为树形任务列表，支持Claude Code集成。\n\n\u003e **自举说明**：本项目完全通过以下 TODO 文件自举完成开发，所有开发任务、进度记录、技术调研均在这些文件中：\n\u003e - [`docs/20260120_MDTODO2.md`](./docs/20260120_MDTODO2.md)\n\u003e - [`docs/20260120_MDTODO.md`](./docs/20260120_MDTODO.md)\n\n![alt text](image.png)\n\n## 功能特性\n\n- **树形任务列表**：将Markdown格式的TODO文件渲染为可展开/折叠的树形结构\n- **任务状态管理**：支持完成状态标记 `[completed]`、进行中状态 `[in_progress]`\n- **实时预览**：自动检测文件变化并更新视图\n- **Claude Code集成**：一键执行任务，支持生成执行报告并自动链接\n- **Markdown渲染**：支持行内代码、代码块、LaTeX公式渲染\n- **链接管理**：支持跳转到链接文档，右键菜单提供复制路径、删除链接等操作\n- **快捷导航**：快速跳转到下一个未完成任务\n- **多文件支持**：同时管理多个 TODO 文件\n- **双向滚动同步**：与 VSCode 编辑器滚动位置同步\n\n## 安装\n\n### 方式一：使用 install.bat（推荐，适用于 Windows）\n\n在项目目录下直接运行：\n\n```powershell\n.\\install.bat\n```\n\n或使用 PowerShell：\n\n```powershell\npowershell -ExecutionPolicy Bypass -Command \".\\install.bat\"\n```\n\n\u003e **注意**：需要在 vscode-mdtodo 目录下执行\n\n安装脚本会自动完成以下步骤：\n1. 安装项目依赖\n2. 编译项目（使用 TypeScript + Webpack）\n3. 打包为 VSIX 安装包\n4. 卸载旧版本（如果存在）\n5. 安装新版本到 VSCode\n\n**安装成功后的验证方法：**\n1. 打开 VSCode\n2. 按 `Ctrl+Shift+X` 打开扩展面板\n3. 搜索 \"MDTODO\" 确认已安装\n\n**故障排除：**\n- 如果安装失败，请确保 VSCode 的 `code` 命令已在 PATH 中\n- 添加方法：打开 VSCode，按 `Ctrl+Shift+P`，输入 \"Shell Command: Install 'code' command in PATH\"\n- 确保使用 PowerShell 执行，Windows 命令提示符不支持 `-ExecutionPolicy` 参数\n\n### 方式二：手动安装\n\n1. 确保已安装 Node.js（推荐 v18+）\n2. 安装依赖：`npm install`\n3. 编译项目：`npm.cmd run compile`\n   \u003e **重要**：Windows 下必须使用 `npm.cmd`，直接使用 `npm` 会导致构建失败\n4. 打包：`npm.cmd run package`\n5. 在 VSCode 中安装生成的 `.vsix` 文件（拖拽或通过扩展面板右上角\"...\"选择\"从VSIX安装\"）\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 开发模式（监听文件变化，自动重新编译）\nnpm.cmd run watch\n\n# 按 F5 启动调试（会打开一个新的 VSCode 窗口进行测试）\n```\n\n## 项目结构\n\n```\nvscode-mdtodo/\n├── src/\n│   ├── extension.ts           # 扩展入口\n│   ├── parser/                # Markdown 解析器\n│   ├── providers/             # Webview 提供者和管理器\n│   │   └── managers/          # 管理器模块\n│   ├── services/              # 文件服务和 Claude 服务\n│   ├── types/                 # TypeScript 类型定义\n│   └── webview/               # React 前端组件\n│       └── components/        # UI 组件\n└── resources/                 # 构建产物\n```\n\n## 使用\n\n1. **打开任务列表**\n   - 按 `Ctrl+Shift+P` 打开命令面板\n   - 输入 \"MDTODO\" 或 \"打开TODO文件\"\n   - 选择要打开的 TODO 文件\n\n2. **基本操作**\n   - 点击任务标题进入编辑模式\n   - 点击复选框标记完成/未完成\n   - 点击展开/折叠按钮查看子任务\n   - 点击 Claude 按钮执行任务\n\n3. **右键菜单操作**\n   - 任务块：复制执行命令\n   - 链接：打开链接、复制路径、删除链接\n\n4. **快捷键**\n   - `Ctrl+Shift+P`：打开命令面板\n   - 在调试窗口按 `Ctrl+R`：重新加载扩展\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `MDTODO` | 打开 MDTODO 独立视图 |\n| `MDTODO: 打开TODO文件` | 打开一个新的 TODO 文件 |\n| `MDTODO: 刷新任务列表` | 手动刷新视图 |\n| `MDTODO: 使用Claude执行任务` | 执行当前选中的任务 |\n| `MDTODO` (从预览) | 从 Markdown 预览打开 |\n\n## 文件格式\n\n```markdown\n## R1 任务标题\n\n任务描述，支持 **Markdown** 格式，包括代码块和 LaTeX 公式。\n\n### R1.1 子任务 [in_progress]\n\n子任务描述...\n\n### R1.2 已完成子任务 [completed]\n\n完成的描述...\n\n#### R1.2.1 三级子任务\n\n更深层级的子任务...\n```\n\n**状态标记说明：**\n| 标记 | 状态 |\n|------|------|\n| `[completed]` | 已完成 |\n| `[in_progress]` | 进行中 |\n| 无标记 | 未开始 |\n\n**兼容性说明：**\n- 旧标记 `[Processing]` 会自动转换为 `[in_progress]`\n- 旧标记 `[Finished]` 会自动转换为 `[completed]`\n\n## 依赖要求\n\n- **Node.js**：推荐 v18+\n- **VSCode**：^1.70.0\n- **操作系统**：Windows/macOS/Linux\n\n## 版本信息\n\n- **当前版本**：0.0.2\n- **VSCode 兼容性**：^1.70.0\n\n## 常见问题\n\n**Q: 修改代码后视图没有更新？**\nA: 确保在开发模式下运行 `npm.cmd run watch`，然后在调试窗口中按 `Ctrl+R` 重新加载。\n\n**Q: Windows 下 npm 命令不工作？**\nA: 请使用 `npm.cmd` 替代 `npm`，这是 Windows 特有的要求。\n\n**Q: 如何更新插件？**\nA: 重新运行 `install.bat` 脚本（或手动执行编译打包流程），它会自动卸载旧版本并安装新版本。\n\n**Q: 如何卸载插件？**\nA: 在 VSCode 扩展面板中找到 MDTODO，点击齿轮图标选择\"卸载\"，或运行命令：\n```bash\ncode --uninstall-extension mdtodo\n```\n\n**Q: 支持多级子任务吗？**\nA: 支持，格式为 `## R1` → `### R1.1` → `#### R1.1.1`，支持无限层级嵌套。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikastech%2Fmdtodo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpikastech%2Fmdtodo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikastech%2Fmdtodo/lists"}