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 更新
This commit is contained in:
范智鹏
2026-08-25 21:58:14 +08:00
parent 59e5fcde8c
commit 9c676e46e6
22 changed files with 445 additions and 86 deletions
+7
View File
@@ -13,9 +13,15 @@ export type Severity = 'error' | 'warning' | 'info';
export type AdapterStatus = 'ok' | 'tool-unavailable' | 'execution-failed';
export interface AiFixSnippet {
originalText: string;
newText: string;
}
export interface LinterFix {
range: [number, number];
text: string;
originalText?: string;
}
export interface LinterDiagnostic {
@@ -25,6 +31,7 @@ export interface LinterDiagnostic {
range: vscode.Range;
suggestion?: string;
fix?: LinterFix;
aiFix?: AiFixSnippet;
}
export interface AdapterResult {