Issue Analysis
Issue Analysis 是一个基于 TypeScript 的 VS Code 扩展,用于管理多项目、多工程阶段的问题数据,支持 PostgreSQL 持久化、Excel 导入、树形浏览、表格过滤排序,以及借助 GitHub Copilot 生成 Markdown 分析报告。
功能概览
- Activity Bar 中新增 Issue Analysis 入口。
- 左侧树结构固定展示 ALL / 项目 / 工程阶段。
- 标题栏提供数据库连接按钮,连接串加密保存到 SecretStorage。
- 右键 ALL 可创建项目、发起分析。
- 右键项目可创建工程阶段、发起分析、删除项目及其下全部数据。
- 右键工程阶段可导入 Excel、发起分析、删除阶段及其问题数据。
- 点击树节点打开表格 Webview,支持排序、筛选,大数据量时切换服务端分页。
- 导出 Markdown 报告,包含 Mermaid 图表、统计表格和可选 AI 分析结论。
- AI 分析会在模型确认后显示 VS Code 右下角加载动画,分析完成后再输出 Markdown 报告。
- AI 分析会结合各工程阶段的问题发现方式区分 Review 发现的问题和测试中发现的 Bug,并输出更具体的个人与团队改进建议。
技术栈
- TypeScript strict mode
- VS Code Extension API 1.95+
- PostgreSQL + pg
- Excel 解析: xlsx
- 打包: esbuild
- 测试: vitest
项目结构
src/
analysis/
database/
import/
tree/
utils/
webview/
resources/icons/
test/suite/
docs/
本地开发
- 安装依赖
npm install
- 编译扩展
npm run compile
- 启动监听
npm run watch
- 运行测试
npm test
- 在 VS Code 中按 F5 启动 Extension Development Host。
使用流程
- 打开左侧 Issue Analysis 图标。
- 点击标题栏数据库按钮,输入 PostgreSQL 连接串。
- 在 ALL 上创建项目。
- 在项目节点上创建工程阶段。
- 在工程阶段节点上导入 Excel。
- 点击任意节点浏览数据。
- 右键项目或工程阶段节点时,可按需删除节点;删除前会弹出确认对话框,确认后会级联删除数据库中的对应数据。
- 右键任意节点执行分析;确认模型和数据发送后,右下角会显示分析进度,完成后再导出 Markdown 报告。
Excel 导入规则
- 支持 .xlsx 和 .xls。
- 会在前 15 行中搜索表头。
- 必需字段: 問題説明、検出日、重要度、要因分類、不具合起因段階、発生原因。
- 若同一阶段已有旧数据,导入前会提示替换确认。
数据安全
- 所有 SQL 采用参数化查询。
- 连接串仅保存在 SecretStorage 中。
- Webview 启用了 CSP 和 nonce 脚本约束。
- AI 分析前需要用户明确确认。
已知实现说明
- 表格已支持本地筛选、排序和服务端分页切换。
- 日期筛选当前采用字符串条件过滤,后续可扩展为独立的范围控件。
- 报告中已移除时间趋势章节,当前重点保留项目分布、工程阶段分布、要因分类、人员工作量和重要度分布。
- AI 分析提示词已强化为输出可落地、可执行、可直接用于下个项目或下个 task 的建议。
- Mermaid 图表为报告默认输出形式,同时保留数据表格以兼容不支持 Mermaid 的阅读器。
| |