项目待办
一个轻量的 VS Code 项目待办插件。它在左侧活动栏提供简单的输入框、完成状态和删除操作,并为每个项目保存独立的待办清单。
功能
- 在侧栏中使用会随内容增高的输入框添加待办
- 使用 Markdown 编写、展示和编辑待办内容
- 单击待办切换完成状态
- 完成的待办自动归档到底部折叠区,并显示完成时间
- 创建后为待办标记高、普通或低优先级
- 拖拽待办左侧手柄调整显示顺序
- 悬停后删除待办
- 每个项目使用独立的数据文件
- 切换项目时自动切换待办清单
- 外部修改数据文件后自动刷新侧栏
- 从旧版全局存储自动迁移一次
- 使用 VS Code 主题颜色保持界面风格一致
数据存储
待办保存在当前项目中:
<项目根目录>/.vscode/todos.json
文件采用可读的 JSON 格式,可以随项目备份或提交到版本库:
{
"version": 3,
"todos": [
{
"id": "示例-id",
"title": "完成发布准备",
"completed": true,
"priority": "high",
"completedAt": "2026-08-06T02:10:30.000Z"
}
]
}
旧版数据缺少 priority 时会自动按普通优先级读取;历史完成项没有 completedAt 时会显示“完成时间未知”,不会伪造时间。数据会在下次保存时升级格式,数组中的顺序即侧栏中的拖拽顺序。
多根工作区当前使用第一个工作区文件夹作为待办存储目录。
使用方法
- 打开一个项目文件夹。
- 单击左侧活动栏中的“项目待办”。
- 输入 Markdown 待办内容,然后单击输入框右侧的纸飞机图标;也可以按
Ctrl/Cmd + Enter 添加。
- 创建后使用下拉框调整重要性,悬停后单击编辑按钮可修改 Markdown 原文。
- 单击待办可切换完成状态;完成项会进入底部默认收起的归档区,展开后可恢复。
- 拖动左侧手柄可排序,悬停后可删除。
如果没有打开项目文件夹,输入框会保持禁用,避免待办再次落入全局共享存储。
安装 VSIX
在 VS Code 中打开扩展面板,单击右上角菜单,选择“从 VSIX 安装”;也可以使用命令行:
code --install-extension project-todo-sidebar-1.2.1.vsix --force
安装或升级后执行“开发人员: 重新加载窗口”即可使用新版本。
开发
环境要求:
- Node.js 18 或更高版本
- VS Code 1.85 或更高版本
安装依赖并验证:
npm ci
npm test
按 F5 可以启动扩展开发宿主进行调试。
打包
npx @vscode/vsce package
打包前会自动编译 TypeScript,生成的 VSIX 不包含源码、测试文件和开发依赖。
发布
发布到 VS Code Marketplace 前,需要:
- 在 Visual Studio Marketplace 创建自己的 Publisher。
- 将
package.json 中的 publisher 改为自己的 Publisher ID。
- 创建具有
Marketplace: Manage 权限的 Azure DevOps PAT,或使用 Microsoft Entra ID 自动发布。
- 执行
vsce login <publisher-id> 和 vsce publish。
不要把 PAT、Cookie 或其他登录凭据写入仓库。
跨平台
插件只使用 TypeScript、HTML、CSS 和 VS Code API,不包含平台相关原生二进制。同一个 VSIX 可用于 Windows、macOS 和 Linux。
开源说明
本项目基于 Aayush Kumar Sah 的 Vs-Code-TODO-Extension 修改,保留原项目的 MIT 许可证和版权声明。
当前修改版仓库:https://github.com/dayhi/project-todo-sidebar