Skip to content

Commit b1707e3

Browse files
committed
feat: 代码分析结果本地存盘
1 parent 7a785b7 commit b1707e3

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/extension.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,18 @@ export async function doUploadCommand(cvbFilePath: string, userPrompt: string, o
103103
clearCurrentOperationController();
104104
}
105105

106+
export async function saveAnalyzeCodeResult(request: string, respond: string){
107+
const workspaceFolders = vscode.workspace.workspaceFolders;
108+
const workspacePath = (workspaceFolders && workspaceFolders.length > 0) ? workspaceFolders[0].uri.fsPath : "./";
109+
const tmpDir = path.join(workspacePath, '.CodeReDesignWorkSpace');
110+
const timestamp = generateTimestamp();
111+
const summary = await generateFilenameFromRequest(request);
112+
const mdFileName = `${timestamp}_${summary}.md`;
113+
const mdFilePath = path.join(tmpDir, mdFileName);
114+
const mdContent = respond;
115+
fs.writeFileSync(mdFilePath, mdContent, 'utf-8');
116+
}
117+
106118
// 插件激活时调用
107119
export function activate(context: vscode.ExtensionContext) {
108120
console.log('Congratulations, your extension "CodeReDesign" is now active!');
@@ -273,6 +285,10 @@ export function activate(context: vscode.ExtensionContext) {
273285
}
274286

275287
vscode.window.showInformationMessage('解析完毕');
288+
289+
if (analysisResult){
290+
saveAnalyzeCodeResult(userRequest, analysisResult);
291+
}
276292
});
277293

278294
context.subscriptions.push(generateCvbCommand, uploadCvbCommand, applyCvbCommand, stopOperation, analyzeCodeCommand, outputChannel);

src/siderBar.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import * as path from 'path';
33
import * as fs from 'fs';
44
import { applyCvbToWorkspace} from './cvbManager';
55
import { analyzeCode } from './deepseekApi';
6-
import { getCurrentOperationController, resetCurrentOperationController, clearCurrentOperationController, doUploadCommand} from './extension';
6+
import { getCurrentOperationController, resetCurrentOperationController, clearCurrentOperationController, doUploadCommand, saveAnalyzeCodeResult} from './extension';
77
import { showInputMultiLineBox } from './UIComponents';
88

99
export function registerCvbContextMenu(context: vscode.ExtensionContext) {
@@ -47,7 +47,7 @@ export function registerCvbContextMenu(context: vscode.ExtensionContext) {
4747

4848
// 创建文件系统监听器
4949
const watcher = vscode.workspace.createFileSystemWatcher(
50-
new vscode.RelativePattern(targetFolder, '**/*.cvb') // 监听子文件夹中的所有 .cvb 文件
50+
new vscode.RelativePattern(targetFolder, '**/*.{cvb,md}') // 监听子文件夹中的所有 .cvb 文件
5151
);
5252

5353
// 当文件变化时刷新视图
@@ -231,6 +231,10 @@ async function analyzeThisCvb(filePath: string) {
231231
vscode.window.showInformationMessage('Analysis completed. Check the output channel for details.');
232232
}
233233
clearCurrentOperationController();
234+
235+
if (analysisResult){
236+
saveAnalyzeCodeResult(userRequest, analysisResult);
237+
}
234238
}
235239

236240
export function deactivate() {}

0 commit comments

Comments
 (0)