Files
2026Technology-Competition/README.md
T
范智鹏 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

8.2 KiB
Raw Blame History

vscode-code-reviewer · 净码特工 (Code Purifier)

项目性质:新规(从零开发的全新作品)

AI 驱动的代码审查与规范检查一体化 VS Code 插件。集成 ESLint、Stylelint、PMD、SQLFluff 等多种 linter,并支持 AI 辅助审查与自动修复。

项目概述

「净码特工 (Code Purifier)」是一款面向企业级多语言代码库的一体化代码审查与规范检查 VS Code 扩展。它将传统静态检查(ESLint、Stylelint、PMD、SQLFluff)与 AI 大模型审查深度融合,覆盖 JavaScript、TypeScript、Java、JSP、HTML、CSS、SQL、PL/SQL 八类语言,提供一键审查、方法级审查、AI 自动修复与修复预览、报告导出、自定义规则导入等能力,并内置 Webview 面板实现"配置—审查—修复—导出"的闭环体验。

效果总结(核心指标摘要)

待补充:请填写提效/效果类核心指标摘要(新规项目须提供对比数据证明价值),例如:单文件平均审查耗时、AI 修复准确率、缺陷检出率、规则覆盖率等基线 vs 提效后对比。

指标 基线 提效后 提升幅度
(示例)单文件审查耗时 待填 待填 待填
(示例)AI 修复采纳率 待填 待填
(示例)规则检出覆盖率 待填 待填 待填

团队分工

待补充:请如实填写团队成员及分工。

成员 分工
待填 待填

规模与技术难度自我评估

  • 代码规模:源码约 65 个 TypeScript 文件、约 1.1 万行,按 17 个模块分层组织(activation / adapters / ai / config / diagnostics / fix / i18n / jsp / merger / orchestrator / panel / rules / scope / services / types / utils / views)。
  • 技术难度:(整体偏高)涉及多 linter 统一适配层抽象、多 AI 供应商动态注册(Provider 策略模式 + 运行期注册表)、AI 修复链路(生成—校验—预览—快照撤销)、Office 文档(Word/Excel/PPT)规则导入解析、PMD 的 Java 辅助类路径探测、SQLFluff 方言映射等跨语言、跨进程、跨服务的复杂工程问题。
  • 可运行性:依赖清单与锁文件(package.json / package-lock.json)随仓库提供,源码经 npm install && npm run compile 即可构建,按 F5 启动调试。

功能特性

  • 一键运行代码审查
  • 选中代码片段 / 单个方法审查
  • Webview 面板展示审查结果与 AI 审查详情
  • 自动修复(含 AI 修复、修复预览)
  • 报告导出
  • 自定义规则管理与导入(Word / Excel / PPT / Markdown / TXT / YAML
  • 支持语言:JavaScript、TypeScript、Java、JSP、HTML、CSS、SQL、PL/SQL
  • 多 AI 供应商(DeepSeek / OpenAI / Gemini / Claude / 腾讯混元 / 智谱 / 月之暗面 / 阿里通义)
  • 方法级 CodeLens 审查按钮、编辑器波浪线标记

运行环境要求

组件 要求
VS Code ^1.120.0
Node.js 构建源码需要(打包产物无需)
Java 检查 Java / JSP 需要,java 命令需在 PATH 中
SQLFluff 检查 SQL / PL/SQL 需要,sqlfluff 命令需在 PATH 中
ESLint / Stylelint 随插件内置,无需单独安装

PMD 与内置规则集通过 npm run download-pmd 获取(默认位于 jars/pmd)。

安装

方式一:从 VSIX 安装(端用户)

  1. 安装 VS Code 1.120 或更高版本。
  2. 安装 VS Code 扩展依赖环境(Java、SQLFluff,见上文运行环境要求)。
  3. 命令行安装:
    code --install-extension vscode-code-reviewer-1.3.0.vsix
    
    或在 VS Code 扩展面板点击右上角 ... → 「从 VSIX 安装…」,选择生成的 .vsix 文件。

方式二:从源码构建安装(开发者)

git clone <repo-url>
cd vscode-code-reviewer
npm install
npm run download-pmd      # 下载 PMD jar(可选,需要 PMD 时执行)
npm run compile           # TypeScript 编译

F5 启动 Extension Development Host 进行调试。

运行方法

端用户

操作 说明
Ctrl+Shift+R 运行代码审查(当前文件)
命令面板 → Code Purifier: 审查选中代码 仅审查选中的代码
命令面板 → Code Purifier: 审查此方法 审查光标所在方法(或点击函数声明上方的 CodeLens 按钮)
命令面板 → Code Purifier: 打开审查面板 打开审查结果面板
命令面板 → Code Purifier: 修复此问题 / 批量修复 修复问题
命令面板 → Code Purifier: 导出报告 / 导出规则模板 导出报告 / 模板

全部命令前缀为 Code Purifier:,可在命令面板中搜索使用。

开发者

npm run compile          # TypeScript 编译 + 复制 webview JS
npm run watch            # tsc watch 模式
npm run lint             # ESLint 检查 src/
npm test                 # 编译 → lint → 运行测试(@vscode/test-cli
npm run package-prod     # 生产打包:build + vsce package,产出 .vsix

前端界面(Webview)启动方式

插件内置 Webview 面板,无需启动独立前端服务:

  • 设置面板:点击左侧活动栏「净码特工 / Code Purifier」图标,或在命令面板执行 Code Purifier: 打开设置面板
  • 审查面板:执行 Code Purifier: 打开审查面板 或运行一次审查后自动展示。

Webview 资源在编译/打包时自动复制到 out/webview/,随插件加载。

API 密钥配置

  1. 打开设置面板(见上文)。
  2. 在「API 配置」区域选择 AI 供应商(默认 deepseek),填入 API Keysk-...)。
  3. API Key 通过 VS Code SecretStorage 安全存储,不会写入 settings.json
  4. 其他参数可在 settings.json 中配置:
配置项 默认值 说明
vscode-code-reviewer.ai.provider deepseek AI 供应商
vscode-code-reviewer.ai.model deepseek-chat 模型名称
vscode-code-reviewer.ai.baseUrl https://api.deepseek.com/v1 API Base URL
vscode-code-reviewer.ai.temperature 0.2 温度参数
vscode-code-reviewer.ai.maxTokens 8192 单次最大输出 Token
vscode-code-reviewer.ai.timeout 300 请求超时(秒)
vscode-code-reviewer.ai.outputLanguage zh-CN 插件语言(zh-CN / en / ja

支持自定义 AI 供应商:在工作区根目录创建 .code-review/providers.json,按 providers.json 的格式追加 provider,即可覆盖或新增供应商。

依赖清单

运行时依赖(dependencies

依赖 版本 用途
@eslint/js ^9.39.3 ESLint 内置规则集
eslint ^9.39.3 JS/TS 规范检查
mammoth ^1.12.0 Word 规则文档解析
officeparser ^7.5.0 Office 文档解析
stylelint ^17.14.0 CSS 规范检查
stylelint-config-recommended ^18.0.0 Stylelint 推荐规则
typescript-eslint ^8.56.1 TypeScript ESLint 规则
xlsx ^0.18.5 Excel 规则导入导出

开发依赖(devDependencies

依赖 版本 用途
typescript ^5.9.3 TypeScript 编译器
esbuild ^0.28.1 生产构建打包
@types/vscode ^1.120.0 VS Code API 类型
@types/node 22.x Node 类型定义
@types/mocha ^10.0.10 Mocha 类型定义
@vscode/test-cli ^0.0.12 测试运行器
@vscode/test-electron ^2.5.2 测试用 Electron
@vscode/vsce ^3.9.2 VSIX 打包

其他配置项

  • linter 选择vscode-code-reviewer.linters.*javascript / typescript / java / jsp / html / css / sql / plsql),留空则禁用对应语言检查。
  • PMDvscode-code-reviewer.pmd.jarPath / rulesetPath / jspRulesetPath / autoAuxClasspath
  • SQLFluffvscode-code-reviewer.sqlfluff.configFile / dialect
  • 修复vscode-code-reviewer.fixer.maxIterations
  • CodeLensvscode-code-reviewer.codelens.enabled / codelens.languages
  • 波浪线标记vscode-code-reviewer.markers.enabled

详细配置项可在 VS Code 设置页搜索 vscode-code-reviewer 查看。