Skip to content

Commit db3dcf2

Browse files
committed
fix: 代码重构,变量名修改, upload改为redesign, compress 改为 summary
1 parent 6258c26 commit db3dcf2

File tree

5 files changed

+62
-62
lines changed

5 files changed

+62
-62
lines changed

package.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
"main": "./dist/extension.js",
1515
"activationEvents": [
1616
"onCommand:codeReDesign.generateCvb",
17-
"onCommand:codeReDesign.uploadCvb",
17+
"onCommand:codeReDesign.redesignCvb",
1818
"onCommand:codeReDesign.applyCvb",
1919
"onCommand:codeReDesign.applyThisCvb",
2020
"onCommand:codeReDesign.analyzeCode",
21-
"onCommand:codeReDesign.uploadThisCvb",
21+
"onCommand:codeReDesign.redesignThisCvb",
2222
"onCommand:codeReDesign.analyzeThisCvb",
23-
"onCommand:codeReDesign.compressThisCvb",
23+
"onCommand:codeReDesign.summaryThisCvb",
2424
"onCommand:codeReDesign.analyzeSingleFile",
25-
"onCommand:codeReDesign.uploadSingleFile"
25+
"onCommand:codeReDesign.redesignSingleFile"
2626
],
2727
"repository": {
2828
"type": "git",
@@ -37,8 +37,8 @@
3737
"icon": "${add}"
3838
},
3939
{
40-
"command": "codeReDesign.uploadCvb",
41-
"title": "Upload CVB and Call API",
40+
"command": "codeReDesign.redesignCvb",
41+
"title": "Redesign CVB and Call API",
4242
"category": "CodeReDesign",
4343
"icon": "${cloud-upload}"
4444
},
@@ -74,8 +74,8 @@
7474
"icon": "${save}"
7575
},
7676
{
77-
"command": "codeReDesign.uploadThisCvb",
78-
"title": "sidebar Upload this CVB and Call API",
77+
"command": "codeReDesign.redesignThisCvb",
78+
"title": "sidebar Redesign this CVB and Call API",
7979
"when": "false",
8080
"category": "CodeReDesign",
8181
"icon": "${cloud-upload}"
@@ -88,8 +88,8 @@
8888
"icon": "${bug}"
8989
},
9090
{
91-
"command": "codeReDesign.compressThisCvb",
92-
"title": "sidebar compress this CVB",
91+
"command": "codeReDesign.summaryThisCvb",
92+
"title": "sidebar summary this CVB",
9393
"when": "false",
9494
"category": "CodeReDesign",
9595
"icon": "${beaker}"
@@ -108,8 +108,8 @@
108108
"icon": "${bug}"
109109
},
110110
{
111-
"command": "codeReDesign.uploadSingleFile",
112-
"title": "CodeReDesign:Upload single File",
111+
"command": "codeReDesign.redesignSingleFile",
112+
"title": "CodeReDesign:Redesign single File",
113113
"when": "false",
114114
"category": "CodeReDesign",
115115
"icon": "${bug}"
@@ -146,15 +146,15 @@
146146
"group": "cvb@1"
147147
},
148148
{
149-
"command": "codeReDesign.uploadThisCvb",
149+
"command": "codeReDesign.redesignThisCvb",
150150
"group": "cvb@1"
151151
},
152152
{
153153
"command": "codeReDesign.analyzeThisCvb",
154154
"group": "cvb@1"
155155
},
156156
{
157-
"command": "codeReDesign.compressThisCvb",
157+
"command": "codeReDesign.summaryThisCvb",
158158
"group": "cvb@1"
159159
}
160160
],
@@ -172,7 +172,7 @@
172172
"when": "resourceExtname == .py || resourceExtname == .cpp || resourceExtname == .h || resourceExtname == .c || resourceExtname == .lua || resourceExtname == .js|| resourceExtname == .css"
173173
},
174174
{
175-
"command": "codeReDesign.uploadSingleFile",
175+
"command": "codeReDesign.redesignSingleFile",
176176
"group": "cvb@1",
177177
"when": "resourceExtname == .py || resourceExtname == .cpp || resourceExtname == .h || resourceExtname == .c || resourceExtname == .lua || resourceExtname == .js|| resourceExtname == .css"
178178
}

src/cvbManager.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -607,8 +607,8 @@ TCVB 格式规范:
607607

608608
export function mergeCvb(baseCvb: Cvb, tcvb: TCVB): Cvb {
609609

610-
if (baseCvb.getMetaData("compressFrom")) {
611-
const orignalPath = baseCvb.getMetaData("compressFrom") || "";
610+
if (baseCvb.getMetaData("summaryFrom")) {
611+
const orignalPath = baseCvb.getMetaData("summaryFrom") || "";
612612
const cvbContent = fs.readFileSync(orignalPath, 'utf-8');
613613
baseCvb = new Cvb(cvbContent);
614614
}
@@ -887,11 +887,11 @@ function rebuildCvb(baseCvb: Cvb, mapFiles: Map<string, string>): Cvb {
887887
return cvb;
888888
}
889889

890-
export async function compressCvb(cvb: Cvb, userRequest: string): Promise<Cvb> {
890+
export async function summaryCvb(cvb: Cvb, userRequest: string): Promise<Cvb> {
891891
// 获取元数据和文件内容
892892
const metadata = cvb.getMetadata();
893893
const files = cvb.getFiles();
894-
const compressedFiles: Record<string, string> = {};
894+
const summaryedFiles: Record<string, string> = {};
895895
const MAX_CONCURRENT = 5; // 设置最大并行数量为5
896896

897897
const outputChannel = getOutputChannel();
@@ -903,7 +903,7 @@ export async function compressCvb(cvb: Cvb, userRequest: string): Promise<Cvb> {
903903

904904
const signal = getCurrentOperationController().signal;
905905

906-
outputChannel.appendLine("compress task start");
906+
outputChannel.appendLine("summary task start");
907907

908908
// 将文件处理任务放入队列
909909
const fileEntries = Object.entries(files);
@@ -967,19 +967,19 @@ function func2() {
967967

968968
const systemContent = "你是一个代码分析助手。给定一个文件的内容和用户的请求,识别并提取出对理解代码在请求上下文中的有价值的代码片段。注意输出的时候不要有 \`\`\`";
969969

970-
outputChannel.appendLine(`compress processing .. ${filePath} [🚀start]`);
970+
outputChannel.appendLine(`summary processing .. ${filePath} [🚀start]`);
971971
try {
972972
const response = await callDeepSeekApi(requestContent, systemContent, undefined, true, undefined, signal, true);
973973
if (response) {
974974
const segments = response.split("===SEGMENT===").map(segment => segment.trim());
975-
const compressedContent = segments.join("\n//...CCVB\n");
976-
compressedFiles[filePath] = compressedContent;
977-
outputChannel.appendLine(`compress processing .. ${filePath} [✅success]`);
975+
const summaryedContent = segments.join("\n//...CCVB\n");
976+
summaryedFiles[filePath] = summaryedContent;
977+
outputChannel.appendLine(`summary processing .. ${filePath} [✅success]`);
978978
} else {
979-
outputChannel.appendLine(`compress processing .. ${filePath} [❌failed]`);
979+
outputChannel.appendLine(`summary processing .. ${filePath} [❌failed]`);
980980
}
981981
} catch (error) {
982-
outputChannel.appendLine(`compress processing .. ${filePath} [⚠️error: ${error}]`);
982+
outputChannel.appendLine(`summary processing .. ${filePath} [⚠️error: ${error}]`);
983983
}
984984
};
985985

@@ -1011,13 +1011,13 @@ function func2() {
10111011

10121012
await processQueue();
10131013

1014-
outputChannel.appendLine("compress task finish");
1014+
outputChannel.appendLine("summary task finish");
10151015

10161016
const newCvb = new Cvb();
10171017
for (const [key, value] of Object.entries(metadata)) {
10181018
newCvb.setMetaData(key, value);
10191019
}
1020-
for (const [filePath, content] of Object.entries(compressedFiles)) {
1020+
for (const [filePath, content] of Object.entries(summaryedFiles)) {
10211021
newCvb.setFile(filePath, content);
10221022
}
10231023

src/extension.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as vscode from 'vscode';
22
import * as path from 'path';
33
import * as fs from 'fs';
44
import { selectFiles } from './fileSelector';
5-
import { generateCvb, applyCvbToWorkspace, generateTimestamp, Cvb, TCVB, mergeCvb, compressCvb} from './cvbManager';
5+
import { generateCvb, applyCvbToWorkspace, generateTimestamp, Cvb, TCVB, mergeCvb, summaryCvb} from './cvbManager';
66
import { queryCodeReDesign, generateFilenameFromRequest, analyzeCode, callDeepSeekFixApi, GetLastMessageBody } from './deepseekApi';
77
import { setupCvbAsMarkdown } from './cvbMarkdownHandler';
88
import { registerCvbContextMenu } from './siderBar';
@@ -45,7 +45,7 @@ export function getOutputChannel() : vscode.OutputChannel {
4545
return currentOutputChannel;
4646
}
4747

48-
export async function doUploadCommand(cvbFilePath: string, userPrompt: string, outputChannel: vscode.OutputChannel){
48+
export async function doRedesignCommand(cvbFilePath: string, userPrompt: string, outputChannel: vscode.OutputChannel){
4949
const workspaceFolders = vscode.workspace.workspaceFolders;
5050
if (!workspaceFolders) {
5151
vscode.window.showErrorMessage('No workspace folder found');
@@ -72,12 +72,12 @@ export async function doUploadCommand(cvbFilePath: string, userPrompt: string, o
7272
const CVB_QUERY_LENGTH_LIMIT = (64 - 32 - 8) * 1024; // 64K上下文,reasoner的思考链最多栈32k,最大输出长度8k
7373
const inputCvb = new Cvb(cvbContent);
7474
const is_token_underlimit = await isUnderTokenLimit(cvbContent, CVB_QUERY_LENGTH_LIMIT);
75-
if(!is_token_underlimit && !inputCvb.getMetaData("compressFrom")) {
76-
if (!inputCvb.getMetaData("compressFrom")) {
75+
if(!is_token_underlimit && !inputCvb.getMetaData("summaryFrom")) {
76+
if (!inputCvb.getMetaData("summaryFrom")) {
7777
currentOutputChannel?.appendLine("输入数据过于巨大,先进行压缩预处理...");
78-
const compressedCvb = await compressCvb(inputCvb, userPrompt);
79-
compressedCvb.setMetaData("compressFrom", cvbFilePath);
80-
cvbContent = compressedCvb.toString();
78+
const summaryedCvb = await summaryCvb(inputCvb, userPrompt);
79+
summaryedCvb.setMetaData("summaryFrom", cvbFilePath);
80+
cvbContent = summaryedCvb.toString();
8181
}
8282
}
8383

@@ -212,7 +212,7 @@ export function activate(context: vscode.ExtensionContext) {
212212
});
213213

214214
// 注册命令:上传 CVB 并调用 API
215-
let uploadCvbCommand = vscode.commands.registerCommand('codeReDesign.uploadCvb', async () => {
215+
let redesignCvbCommand = vscode.commands.registerCommand('codeReDesign.redesignCvb', async () => {
216216
const workspaceFolders = vscode.workspace.workspaceFolders;
217217
if (!workspaceFolders) {
218218
vscode.window.showErrorMessage('No workspace folder found.');
@@ -236,7 +236,7 @@ export function activate(context: vscode.ExtensionContext) {
236236
});
237237

238238
const selectedCvbFile = await vscode.window.showQuickPick(cvbFiles, {
239-
placeHolder: 'Select a CVB file to upload',
239+
placeHolder: 'Select a CVB file to redesign',
240240
});
241241

242242
if (!selectedCvbFile) {
@@ -254,7 +254,7 @@ export function activate(context: vscode.ExtensionContext) {
254254

255255
const cvbFilePath = path.join(tmpDir, selectedCvbFile);
256256

257-
doUploadCommand(cvbFilePath, userPrompt, outputChannel);
257+
doRedesignCommand(cvbFilePath, userPrompt, outputChannel);
258258
});
259259

260260
// 注册命令:中断当前的上传操作
@@ -367,7 +367,7 @@ export function activate(context: vscode.ExtensionContext) {
367367
}
368368
});
369369

370-
context.subscriptions.push(generateCvbCommand, uploadCvbCommand, applyCvbCommand, stopOperation, analyzeCodeCommand, outputChannel, startChatCommand);
370+
context.subscriptions.push(generateCvbCommand, redesignCvbCommand, applyCvbCommand, stopOperation, analyzeCodeCommand, outputChannel, startChatCommand);
371371

372372
setupCvbAsMarkdown(context);
373373

src/guide.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ class GuideViewProvider implements vscode.WebviewViewProvider {
235235
</li>
236236
<li>
237237
<p><strong>2. 选择一个文件镜像集合到大模型,并提出修改需求。模型会在本地输出框输出处理过程,成功后也会在本地生成一个新的 CVB 文件。</strong></p>
238-
<a href="#" id="uploadCvb">CodeReDesign: Upload CVB and Call API</a>
238+
<a href="#" id="redesignCvb">CodeReDesign: Redesign CVB and Call API</a>
239239
</li>
240240
<li>
241241
<p><strong>3. 选择一个本地的 CVB 文件,把里面的内容覆盖到当前目录中,也就是应用修改。</strong></p>

src/siderBar.ts

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as vscode from 'vscode';
22
import * as path from 'path';
33
import * as fs from 'fs';
4-
import { applyCvbToWorkspace, compressCvb, Cvb, generateCvb} from './cvbManager';
4+
import { applyCvbToWorkspace, summaryCvb, Cvb, generateCvb} from './cvbManager';
55
import { analyzeCode } from './deepseekApi';
6-
import { getCurrentOperationController, resetCurrentOperationController, clearCurrentOperationController, doUploadCommand, saveAnalyzeCodeResult} from './extension';
6+
import { getCurrentOperationController, resetCurrentOperationController, clearCurrentOperationController, doRedesignCommand, saveAnalyzeCodeResult} from './extension';
77
import { showInputMultiLineBox } from './UIComponents';
88
import {getOutputChannel} from './extension';
99

@@ -60,23 +60,23 @@ export function registerCvbContextMenu(context: vscode.ExtensionContext) {
6060
});
6161
context.subscriptions.push(applyCvbCommand);
6262

63-
const uploadCvbCommand = vscode.commands.registerCommand('codeReDesign.uploadThisCvb', async (cvb: CvbFile) => {
63+
const redesignCvbCommand = vscode.commands.registerCommand('codeReDesign.redesignThisCvb', async (cvb: CvbFile) => {
6464
const filePath = cvb.resourceUri?.fsPath || "";
65-
await uploadThisCvb(filePath);
65+
await redesignThisCvb(filePath);
6666
});
67-
context.subscriptions.push(uploadCvbCommand);
67+
context.subscriptions.push(redesignCvbCommand);
6868

6969
const analyzeCvbCommand = vscode.commands.registerCommand('codeReDesign.analyzeThisCvb', async (cvb: CvbFile) => {
7070
const filePath = cvb.resourceUri?.fsPath || "";
7171
await analyzeThisCvb(filePath);
7272
});
7373
context.subscriptions.push(analyzeCvbCommand);
7474

75-
const compressCvbCommand = vscode.commands.registerCommand('codeReDesign.compressThisCvb', async (cvb: CvbFile) => {
75+
const summaryCvbCommand = vscode.commands.registerCommand('codeReDesign.summaryThisCvb', async (cvb: CvbFile) => {
7676
const filePath = cvb.resourceUri?.fsPath || "";
77-
await compressThisCvb(filePath);
77+
await summaryThisCvb(filePath);
7878
});
79-
context.subscriptions.push(compressCvbCommand);
79+
context.subscriptions.push(summaryCvbCommand);
8080

8181
const analyzeSingleFileCommand = vscode.commands.registerCommand('codeReDesign.analyzeSingleFile', async (uri: vscode.Uri) => {
8282
const filePath = uri.fsPath || "";
@@ -85,12 +85,12 @@ export function registerCvbContextMenu(context: vscode.ExtensionContext) {
8585
});
8686
context.subscriptions.push(analyzeSingleFileCommand);
8787

88-
const uploadSingleFileCommand = vscode.commands.registerCommand('codeReDesign.uploadSingleFile', async (uri: vscode.Uri) => {
88+
const redesignSingleFileCommand = vscode.commands.registerCommand('codeReDesign.redesignSingleFile', async (uri: vscode.Uri) => {
8989
const filePath = uri.fsPath || "";
9090
const cvbFile = await generateCvb([filePath], "重构单个文件:" + filePath);
91-
await uploadThisCvb(cvbFile);
91+
await redesignThisCvb(cvbFile);
9292
});
93-
context.subscriptions.push(uploadSingleFileCommand);
93+
context.subscriptions.push(redesignSingleFileCommand);
9494

9595
// 注册 TreeDataProvider
9696
const cvbViewProvider = new CvbViewProvider();
@@ -311,7 +311,7 @@ function applyThisCvb(filePath: string) {
311311
* 上传 CVB 文件并调用 API
312312
* @param filePath .cvb 文件的路径
313313
*/
314-
async function uploadThisCvb(filePath: string) {
314+
async function redesignThisCvb(filePath: string) {
315315
/*
316316
// 测试 begin
317317
{
@@ -342,7 +342,7 @@ async function uploadThisCvb(filePath: string) {
342342
return;
343343
}
344344
const outputChannel = getOutputChannel();
345-
doUploadCommand(filePath, userPrompt, outputChannel);
345+
doRedesignCommand(filePath, userPrompt, outputChannel);
346346
}
347347

348348
/**
@@ -375,16 +375,16 @@ async function analyzeThisCvb(filePath: string) {
375375
}
376376
}
377377

378-
function getCompressedFileName(filePath: string): string {
378+
function getSummarizedFileName(filePath: string): string {
379379
const { name, ext } = path.parse(filePath); // 使用 path.parse 获取文件名和扩展名
380-
return path.join(path.dirname(filePath), `${name}-compress${ext}`); // 拼接新的完整路径
380+
return path.join(path.dirname(filePath), `${name}-summary${ext}`); // 拼接新的完整路径
381381
}
382382

383383
/**
384384
* 分析 CVB 文件
385385
* @param filePath .cvb 文件的路径
386386
*/
387-
async function compressThisCvb(filePath: string) {
387+
async function summaryThisCvb(filePath: string) {
388388
const userRequest = await showInputMultiLineBox({
389389
prompt: '输入压缩过程中需要关注的需求',
390390
placeHolder: 'e.g., Analyze the code for potential bugs',
@@ -400,22 +400,22 @@ async function compressThisCvb(filePath: string) {
400400

401401
resetCurrentOperationController();
402402

403-
const newCvb = await compressCvb(cvb, userRequest);
403+
const newCvb = await summaryCvb(cvb, userRequest);
404404
clearCurrentOperationController();
405405

406406
if (newCvb) {
407-
vscode.window.showInformationMessage('compress cvb success!.');
407+
vscode.window.showInformationMessage('summary cvb success!.');
408408
}
409409
else{
410-
vscode.window.showInformationMessage('compress cvb failed!.');
410+
vscode.window.showInformationMessage('summary cvb failed!.');
411411
return;
412412
}
413413

414-
if (!newCvb.getMetaData("compressFrom")) {
415-
newCvb.setMetaData("compressFrom", filePath);
414+
if (!newCvb.getMetaData("summaryFrom")) {
415+
newCvb.setMetaData("summaryFrom", filePath);
416416
}
417417

418-
filePath = getCompressedFileName(filePath);
418+
filePath = getSummarizedFileName(filePath);
419419

420420
fs.writeFileSync(filePath, newCvb.toString(), 'utf-8');
421421
vscode.window.showInformationMessage(`Conversation log saved as: ${filePath}`);

0 commit comments

Comments
 (0)