Commit Graph
39 Commits
Author SHA1 Message Date
范智鹏 3a66aa538f data: demo-pmd 每文件审核报告入库(26 份,绝对路径规范化) 2026-08-26 22:29:47 +08:00
范智鹏 3c390cfa90 feat: demo-pmd 样本工程入库 + Windows spawn cmd EINVAL 修复 + 实测报告清理
- data/demo-pmd 全量入库(26 源文件 + pom/mvnw/lib/reports),.gitignore 排除 target/
- 归档 demo-pmd 实测覆盖率报告(279/279 全覆盖)至 reports/
- 删除 4 份覆盖率报告中的后续建议/实测进度总览(全部实测已收官)
- 修复 Windows spawn .cmd/.bat EINVAL(auxClasspath.ts 经 cmd.exe /d /s /c 间接执行)
2026-08-26 22:04:47 +08:00
范智鹏 e9762bfbe1 test: 目录对齐赛道二成果物规范(tests/ 迁移+实验报告+提效测量脚本)
- src/test 迁移至根目录 tests/(16 测试 + fixtures/manual),导入改为 ../src/
- 新增 tsconfig.test.json 独立编译测试;.vscode-test.mjs / package.json / .gitignore 同步
- 新增 tests/test-execution-log.md、tests/test-cases.md(116 用例清单)
- 新增 tests/measure/measure-review-time.mjs + performance-comparison.md(提效测量)
- 重命名 3 个中文报告文件为 demo-*-coverage-report.md
- git rm --cached 解除 vsix 跟踪;README 标注演示视频进行中
2026-08-26 19:17:44 +08:00
范智鹏 313ae24346 merge: 合并 vscode-code-reviewer 开发分支至 main 2026-08-26 19:04:22 +08:00
范智鹏 c92249a044 docs: 归档 demo 工程样例与插件实测报告
- 新增三个 demo 工程(demo-eslint / demo-sqlfluff / demo-stylelint):各含 src/ 样例代码与覆盖率映射(run-coverage.mjs、coverage_map.json、stylelint_line_map.json)

- 归档各 demo 的插件实测导出报告(reports/):

  - demo-eslint:common.js / esm-demo.js / legacysyntax.cjs / typescript.ts 审查报告 + 覆盖率报告(292/292 条零偏差,126 种规则全覆盖)

  - demo-sqlfluff:11 个 SQL 样例审查报告 + 覆盖率报告(113/113 条零偏差,57 种规则全覆盖,含 JJ01 行号缺陷修复后的复测验证)

  - demo-stylelint:common.css / empty-source.css 审查报告 + 覆盖率报告(145/145 条零偏差,68 种规则全覆盖)
2026-08-25 22:00:19 +08:00
范智鹏 9c676e46e6 feat: AI 修复预生成 + 审查面板 diff 预览两步确认 + SQLFluff 行号修复 + PMD 内置规则精简
- AI 修复预生成:静态/custom/AI 条目审查时预生成修复片段(originalText/newText),展开问题即显示行级 diff,无预生成时展示占位提示,匹配失败回退实时 LLM 生成

- 修复前 diff 预览:侧边新建编辑器组打开内置 diff,确认后写入(两步确认),不覆盖当前文件

- fix: sqlfluff 在 jinja 标签位于注释内时 JJ01 JSON 缺失 end_line_no/end_line_pos,适配器 Range 构造产生 NaN 被 VSCode 交换 start/end 导致行号 LNaN;新增 resolveSqlFluffRange 兜底 + 面板/report 行号 Number.isFinite 防御

- fix: 从 PMD 内置 ruleset 移除 5 条实际不可触发规则(AvoidAssertAsIdentifier、AvoidEnumAsIdentifier、AccessorClassGeneration、AccessorMethodGeneration、LoosePackageCoupling),内置配置 274→269 条全部可触发,同步 static-rules.json 与翻译脚本

- docs: README/DESIGN 更新
2026-08-25 21:58:14 +08:00
fzp 59e5fcde8c docs: 新增 DESIGN.md 设计文档 2026-08-21 10:58:00 +08:00
范智鹏 65b9e1915b docs: 重写 README 补齐安装/运行/环境要求/API 密钥配置/依赖清单/前端面板说明
- 新增运行环境要求(VS Code ^1.120.0、Node、Java、sqlfluff、内置 ESLint/Stylelint)
- 新增安装步骤(VSIX 安装 + 源码构建两方式)
- 新增运行方法(端用户命令表 + 开发者命令表)
- 新增前端 Webview 面板启动方式说明
- 新增 API 密钥配置说明(SecretStorage 存储 + 配置项表 + 自定义供应商)
- 新增依赖清单(运行时/开发依赖表)及 linter/PMD/SQLFluff 等配置项
2026-08-20 22:34:13 +08:00
范智鹏 d16d680f0f feat: AI 修复链路扩展 + 修复预览两步确认 + 自定义规则/AI 审查条目支持 AI 修复
- AI 修复:无原生 fix 的 linter 条目走 AI 修复(aiFixEngine/fixPrompt,AI 重检收敛),自定义规则与 AI 审查条目新增 AI 修复按钮(customFixEngine),自定义规则条目展开显示 AI 建议(suggestion 字段)

- 修复预览:面板触发修复先用内置 diff 预览,面板内「应用/取消」两步确认后才写入(fixPreview/fixPending,单条与分 tab 批量均支持)

- 修复面板交互:linter/custom/ai 分 tab「全部修复」、已修复+撤销、pending 按钮状态同步

- bug 修复:修复按钮失败后卡  不恢复;custom/ai 修复不稳定(空修复重试、AI 重检收敛判定放宽、降级接受最后一次有效修复)

- 移除 AI codeDiff 展示块
2026-08-20 22:26:30 +08:00
范智鹏 3d8119d9c9 feat: 自动修复重构与审查面板交互修复 + 静态分析 AI 翻译配对 + SQLFluff 方言显示
- 自动修复:废弃 AI 修复,改 linter 原生 fix 多轮收敛;CodeAction hover + 面板修复/全部修复 + 快照 diff 撤销;hover 修复不入「已修复」列表、重新审查清空;修复/撤销后自动保存;单条修复只修目标问题(区间重叠收敛,不再连带相邻同规则)
- 审查面板:内联 JS 外部化(reviewPanel.js)修复 CSP 屏蔽导致的修复按钮/行号跳转/tab 失效;面板操作不依赖文件焦点(resolveFixDocument);行号跳转定位已打开编辑器,不在面板列新开副本
- 静态分析:translatedDiagnostics 规则 ID 归一化配对 + 深度审查 prompt 强化,静态分析条目显示中文翻译与逐条 AI 建议
- 波浪线:诊断补 source/code,hover 显示快速修复链接
- SQLFluff:设置面板方言徽章(显式/全局/项目/内置来源配色)
2026-08-18 21:41:51 +08:00
范智鹏 3cf5c7165e fix: JS 审查解析错误不静默丢弃 + flat config 守卫 + 面板 Stylelint 配置识别补齐
- eslint: ruleId===null 的致命解析错误产出 eslint:parse-error 诊断,不再静默丢弃(修复 no-octal / no-nonoctal-decimal-escape 不出结果)
- ts.configs.recommended 逐项补 files 守卫,避免 TS parser 误报到 JS;新增 JS_FILES 独立 config 启用 JSX
- setupView: stylelint 清单补齐 stylelint.config.mjs / stylelint.config.cjs,与适配器对齐
- 新增 3 个 adapter 测试,npm test 84 passing
2026-08-13 20:32:36 +08:00
范智鹏 3d15737d6e docs: AI 使用日志链路规范化(补齐 B1/B3/B4 及行18 缺失阶段) 2026-08-11 19:21:28 +08:00
范智鹏 6aaccd490c fix: 审查报告修复与清理,升级至 1.3.0
- 版本号 1.2.0 -> 1.3.0;CHANGELOG 新增 1.3.0 条目(修复 6 项 + 清理 3 项)
- addCustomRule 空壳命令改为打开设置面板(抽取 openSetupPanel 复用)
- deactivate 清理 analysisTimers pending 定时器 + 显式 dispose markers
- PMD execPmd 去掉 stdout.length>0 兜底,非零退出按 stderr 报错
- SQLFluff 项目配置检测全量支持 setup.cfg/tox.ini/pep8.ini/pyproject.toml(内容感知)
- 删除 orchestrator 未使用的 getAdapterMap/getAdaptersByIds,补充单语言单 linter 设计注释
- 删除 pmd.ts 未使用的 jarPathChecked 死字段
- merger 翻译配对改为按 originalRuleId 匹配,新增 2 个测试
- runStaticAndApply 包 try-catch,消除未处理 Promise 拒绝
- AGENTS.md 日志规则新增打包排除项;_AI_USAGE_LOG.md 追加记录
2026-08-09 14:35:43 +08:00
范智鹏 8c3e239acd feat: PMD 依赖 classpath 自动探测 + SQLFluff AL06 参数修复 + 诊断消息前缀 Code Purifier + AI maxTokens 统一走配置 2026-08-09 00:07:08 +08:00
范智鹏 d22bb61aba feat: 创建项目配置=内置配置(三语注释)+ 设置面板帮助图标 + 快速开始三步文案重写 + 图标更新 2026-08-06 21:17:21 +08:00
范智鹏 50855dae67 feat: 编辑器波浪线自动标记 + SQLFluff 默认方言改 oracle + AI 审查行号修正
- 波浪线标记:打开/编辑/保存自动静态分析,新增 markers.enabled 配置与 onStartupFinished 激活,带防抖与版本竞态保护
- SQLFluff:默认方言 sql->oracle;PRS 解析错误改用 i18n 三语友好提示(含当前方言与配置指引)并提升为 error
- AI 审查:mergeResults 统一 aiFindings 行号为 0 基,修复整文件审查行号偏移 1 行
2026-08-04 22:10:41 +08:00
范智鹏 247f19fd44 feat: 方法级代码审查 + 模板导入/预览增强 + SQLFluff 方言 + AI 空响应报错修复
- 方法级审查:CodeLens 触发 + 单次 AI 调用(规则匹配 + 6 维度深度审查),新增 method-extractor / status-cache / codeLensProvider
- 模板导入:severity 保留原始值 + 占位 id、去重对照统一 known-rules、重复提示条双语翻译、箭头展开/折叠 UI、520 条静态规则补 zh/ja 翻译
- SQL:sql-lint 重命名 sqlfluff + sqlfluff.dialect 方言可配置 + 默认方言调整
- ESLint:v9 flat config 接线修复(overrideConfigFile)+ legacy 迁移提示
- AI:空响应 EmptyContentError + 重试一次 + max_tokens 截断专用报错
- JSP:整文件检查走 PMD JSP 规则集 + scriptlet 包装解析 + 行号映射
- 诊断按 severity + 行号排序
2026-08-03 22:53:20 +08:00
范智鹏 5848eaa82a feat: Linter 规则精细化增强 + 模板导入/导出闭环
ESLint: +29 条 P1/P2 规则 + 12 条 TS 专属规则(含 no-shadow/no-array-constructor 冲突处理)
Stylelint: 集成 stylelint-config-recommended + 27 条额外规则
PMD: 排除 20 弃用 + 17 噪音规则,补启 Security/Multithreading,274+12 条精选
SQL-lint: 内置精选 57 条规则配置 + 按 tier 分级 severity + 无项目配置时自动注入临时配置
模板导出: export-service.ts 导出 2-sheet xlsx(复用 xlsx 零新依赖)
模板导入: template-converter.ts 固定列映射解析 + dedup-prompt.ts AI 语义去重
导入预览增强: 错误规则分组置顶只读、跳过行提示、空数据提示
i18n: 新增 18 条模板导入/导出相关翻译
WebView: 静态分析/自定义规则项默认可展开显示 suggestion
2026-07-30 23:17:20 +08:00
范智鹏 d2dd16a043 chore: 移除 .superpowers/ 和 src/test/ 文件并加入 .gitignore 2026-07-28 23:02:33 +08:00
范智鹏 d3ab7066d2 删除文件 .superpowers/brainstorm 2026-07-28 14:58:22 +00:00
范智鹏 effcf30802 feat: 适配器 i18n + Provider 动态注册 + SetupView 重构 + jars 资源
- 适配器 i18n 接入(eslint/pmd/sql-lint/stylelint)
- Provider 动态注册机制(registry.ts + providers.json + factory 重构)
- SetupView 全面重构(setupView.ts 新增 600+ 行)
- i18n 消息扩展(messages.ts +210 行)
- 规则导入流程优化(import-service / prompt-builder)
- 新增 PMD jars 依赖及测试用例
2026-07-28 22:57:15 +08:00
范智鹏 83712aa260 feat: 规则转换器/导入/过滤/i18n 基础设施
- converters: 8 个转换器(markdown/txt/excel/docx/pptx/yaml + prompt-builder + converter 接口)
- import: import-preview/import-service/import-types
- rule-filter: 规则预过滤功能
- static-rules.json: 静态规则数据
- i18n/messages.ts: 国际化消息
- types/mammoth.d.ts: mammoth 类型声明
2026-07-26 23:04:13 +08:00
范智鹏 6d29f304e3 feat: AI 引擎提示词三语化 + 语言下拉框母语名称
- engine.ts: CUSTOM_RULE_SYSTEM_PROMPT / DEEP_REVIEW_SYSTEM_PROMPT 从硬编码中文改为三语模板(zh-CN/en/ja);parseJsonResponse 错误消息改用 t() 本地化;用户消息标签按语言本地化
- setupView.ts: 删除未使用的 getLanguageLabel / languageLabel;语言下拉选项文本固定为母语名称(中文(简体)/English/日本語),不再随界面语言翻译
2026-07-26 22:59:48 +08:00
范智鹏 ff32ecf5c2 i18n 国际化全量接入 + 修复与 UI 增强
- 引入 i18n 系统,所有用户可见字符串替换为 t() 调用,支持中/EN/日三语
- 插件激活时读取 ai.outputLanguage 配置初始化语言,onDidChangeConfiguration 监听变更自动切换
- ReviewPanel 与 SetupViewProvider 注册 onLanguageChange 回调,语言切换时全量重渲染
- package.json description:"AI 输出语言" -> "插件语言"
- 修复 repairJsonEscapes 无差别解引号导致 JSON 解析失败
- 设置页规则名称空值时输入框红框 + 错误提示
- 规则导入流程添加 withProgress 加载提示
2026-07-26 15:44:26 +08:00
范智鹏 d96e4dd866 docs: add i18n internationalization design spec 2026-07-26 00:31:03 +08:00
范智鹏 3661c80db5 feat: 规则预过滤 + 自定义规则去重增强 + 导入预览编辑 + Word/PPT 导入 + UI 优化
- 规则预过滤:根据文件语言注入匹配的自定义规则,跳过不相关规则
- 导入去重:对比已有规则,重复项自动注释/标注
- 导入预览编辑:支持在导入前编辑规则字段(severity、description 等)
- Word/PPT 导入:新增 DocxConverter、PptxConverter
- UI:审查报告移除设置按钮;自定义规则标签显示注入比例
2026-07-25 23:57:21 +08:00
范智鹏 62faad9305 chore: bump version to 1.0.0 + package vsix 2026-07-23 19:43:12 +08:00
范智鹏 99b8f26f61 fix: 三 tab 修复按钮一致性 — 全部诊断可修复 + AI 区域 header 加全部修复 + 移除底部冗余按钮 2026-07-23 18:37:47 +08:00
范智鹏 1a050d7699 feat: 规则导入 Converter 架构 + Excel/AI 转换 + 多项优化
- 提取 RuleConverter 接口及 5 个实现(Yaml/Md/Txt/ExcelConverter),
  由 ImportService 按扩展名路由,简化 setupView.ts addRule() 为单行调用
- Excel 导入:读取 xlsx → Markdown 表格 → AI 识别列头 → 生成 YAML
- 添加规则支持 yaml/yml/md/txt/xlsx/xls 多种格式
- 导出报告改为 QuickPick 双选(复制到剪贴板 / 下载 Markdown 文件)
- 修复测试连接成功后第三步圆圈不变绿的 bug
- 侧边栏标题改为「净码特工 · 代码审查 · 设置」
- 规则名称输入框增加提示文字
- 新增测试:adapter、config、merger、pipeline + fixtures/manual
- 依赖:新增 xlsx
2026-07-21 22:16:52 +08:00
范智鹏 d4c3fb9df7 feat: redesign review panel UI + use VS Code theme variables in setup view 2026-07-21 20:35:25 +08:00
范智鹏 c96c543cfa docs: 审查面板优化设计 spec 2026-07-20 20:47:55 +08:00
范智鹏 a734cdf009 refactor: 品牌重命名 + maxTokens 支持 + 设置面板简化
- CodeGuard → Code Purifier / 净码特工(displayName、命令、配置标题)
- 新增 ai.maxTokens 配置项,所有 Provider 及 fixer 传入 maxTokens
- AI 引擎增强:repairJsonEscapes + JSON 解析 fallback + 详细错误信息
- 设置面板规则管理改为文件级(list/delete .yaml),addRule 改为 AI 从 Markdown 生成 YAML
- yaml-parser 简化:移除 config.yaml 的 enable/disable 过滤逻辑
- 审查报告面板:errorBanner 优先显示具体错误、lint 诊断显示 suggestion、移除 translatedDiagnostics 独立渲染
- merger 中 translatedDiagnostics 覆盖原始 lint 诊断 message/suggestion
- HTML linter 配置项、测试用例重写、typescript-eslint 移入 dependencies
2026-07-20 20:24:40 +08:00
范智鹏 805737fcfc feat: 设置面板 + Provider 扩展 + 构建脚本
- 设置面板:三步引导 / AI 配置 / API Key / 规则管理 / 连接测试
- Provider 重构:统一 OpenAICompatibleProvider 基类,新增 Gemini/Claude/混元/智谱等
- 审查面板 Webview:三 Tab、统计卡片、问题列表、postMessage 通信
- esbuild 构建脚本 + 生产打包 + PMD 下载
- 保存文件自动静态分析(500ms debounce)
2026-07-16 22:20:30 +08:00
Developer 1144c9b5db feat: implement core code review extension 2026-07-14 21:18:19 +08:00
Developer cafe67db6d docs: upload code files and config 2026-07-13 18:41:33 +08:00
Developer 6a64aece24 docs: add code reviewer extension design spec 2026-07-10 18:55:36 +08:00
Developer a624438f9a docs: add code reviewer extension design spec 2026-07-10 18:51:04 +08:00
sdjndaq 7e03409e01 update tsconfig.json.
Signed-off-by: sdjndaq <[email protected]>
2026-06-16 13:16:19 +00:00
fzp 42af726bc3 Initial commit 2026-06-05 19:44:57 +08:00