From 3831de2849a78fcba291e164479ce7a642a7a949 Mon Sep 17 00:00:00 2001 From: Roe-xin Date: Mon, 5 Jan 2026 16:40:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20ICViewProvider=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=BA=8B=E4=BB=B6=E7=9B=91=E5=90=AC=E5=99=A8?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=B3=84=E6=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 webview.onDidReceiveMessage 监听器添加到 context.subscriptions 中, 确保在扩展停用时能够正确清理,避免潜在的内存泄漏。 --- src/views/ICViewProvider.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/views/ICViewProvider.ts b/src/views/ICViewProvider.ts index 0c981b2..44f397f 100644 --- a/src/views/ICViewProvider.ts +++ b/src/views/ICViewProvider.ts @@ -160,13 +160,17 @@ export class ICViewProvider implements vscode.WebviewViewProvider { }); // 处理侧边栏的消息 - webviewView.webview.onDidReceiveMessage((message) => { - if (message.command === "openChat") { - vscode.commands.executeCommand("ic-coder.openChat"); - } else if (message.command === "login") { - vscode.commands.executeCommand("ic-coder.login"); - } - }); + webviewView.webview.onDidReceiveMessage( + (message) => { + if (message.command === "openChat") { + vscode.commands.executeCommand("ic-coder.openChat"); + } else if (message.command === "login") { + vscode.commands.executeCommand("ic-coder.login"); + } + }, + undefined, + this.context.subscriptions + ); } private getWebviewContent(