vscode插件 - 统计AI代码行数
- 监听 -> 识别 -> 记录数据 -> 记录数据
- 1.文档变更
- 2.代码检测
- 删除检查
- 粘贴板检查
- 空行检查
- AI补全
- AI生成
- 1.文档变更
- 1.文档变更
- 1.文档变更
- UI展示(状态栏展示 -> 统计图表)
-排除原因:
纯删除操作、
检测到粘贴操作、 监测到变更和粘贴板是一致的
纯空行变化 (只包含空白字符)
行数低于阈值 修改一个字符、用户输入等不回超过两行数据文件
js
path.join(this.storageUri.fsPath, 'environment.json'); //环境缓存文件
path.join(this.storageUri.fsPath, 'stats'); //存储目录
path.join(this.storageUri.fsPath, 'stats', `${year}-${month}`, `${date}.json`); //每日统计文件路径
path.join(this.storageUri.fsPath, 'user.json'); //用户信息
path.join(this.storageUri.fsPath, 'git-info-cache.json');js
vscode.window.showInformationMessage('已清理超过7天的旧数据');
vscode.window.showErrorMessage(`清理旧数据失败: ${error}`);
const confirm = await vscode.window.showWarningMessage(
'确定要清理所有统计数据吗?这将删除所有的AI代码统计记录,但不会影响您的登录状态。',
'确定清理',
'取消',
);
if (confirm === '确定清理') {}vscode.window.createWebviewPanel('aiCodeStatsChart', title, vscode.ViewColumn.One, {
enableScripts: true,
retainContextWhenHidden: true,
});statsManager.getTodaySummary();memoryCache遇到问题
- 如果 Copilot一行一行写入,会被行数低于阈值拦截,即使同一文件