- 新增运行环境要求(VS Code ^1.120.0、Node、Java、sqlfluff、内置 ESLint/Stylelint) - 新增安装步骤(VSIX 安装 + 源码构建两方式) - 新增运行方法(端用户命令表 + 开发者命令表) - 新增前端 Webview 面板启动方式说明 - 新增 API 密钥配置说明(SecretStorage 存储 + 配置项表 + 自定义供应商) - 新增依赖清单(运行时/开发依赖表)及 linter/PMD/SQLFluff 等配置项
144 lines
6.0 KiB
Markdown
144 lines
6.0 KiB
Markdown
# vscode-code-reviewer · 净码特工 (Code Purifier)
|
||
|
||
AI 驱动的代码审查与规范检查一体化 VS Code 插件。集成 ESLint、Stylelint、PMD、SQLFluff 等多种 linter,并支持 AI 辅助审查与自动修复。
|
||
|
||
## 功能特性
|
||
|
||
- 一键运行代码审查
|
||
- 选中代码片段 / 单个方法审查
|
||
- 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. 命令行安装:
|
||
```bash
|
||
code --install-extension vscode-code-reviewer-1.3.0.vsix
|
||
```
|
||
或在 VS Code 扩展面板点击右上角 `...` → 「从 VSIX 安装…」,选择生成的 `.vsix` 文件。
|
||
|
||
### 方式二:从源码构建安装(开发者)
|
||
|
||
```bash
|
||
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:`,可在命令面板中搜索使用。
|
||
|
||
### 开发者
|
||
|
||
```bash
|
||
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 Key(`sk-...`)。
|
||
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),留空则禁用对应语言检查。
|
||
- **PMD**:`vscode-code-reviewer.pmd.jarPath` / `rulesetPath` / `jspRulesetPath` / `autoAuxClasspath`。
|
||
- **SQLFluff**:`vscode-code-reviewer.sqlfluff.configFile` / `dialect`。
|
||
- **修复**:`vscode-code-reviewer.fixer.maxIterations`。
|
||
- **CodeLens**:`vscode-code-reviewer.codelens.enabled` / `codelens.languages`。
|
||
- **波浪线标记**:`vscode-code-reviewer.markers.enabled`。
|
||
|
||
详细配置项可在 VS Code 设置页搜索 `vscode-code-reviewer` 查看。
|