From 7d2411e72fe32e76e9d845830520f64d5f8ee6dc Mon Sep 17 00:00:00 2001 From: yiliang114 <1204183885@qq.com> Date: Thu, 20 Nov 2025 23:41:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(vscode-ide-companion):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20Qwen=20Code=20=E8=81=8A=E5=A4=A9=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 createPanel 方法返回值类型,使其支持异步操作 - 实现聚焦当前激活编辑器的功能 - 优化多窗口创建逻辑,允许在已有 Qwen Code 窗口旁边创建新窗口 - 移除自动锁定编辑器组的功能,以支持多个 Qwen Code 标签页 - 在 UI 中添加聚焦当前文件的按钮 --- .../src/WebViewProvider.ts | 2 +- .../vscode-ide-companion/src/webview/App.tsx | 29 ++++- .../src/webview/MessageHandler.ts | 12 ++ .../src/webview/PanelManager.ts | 121 ++++++++++++++---- 4 files changed, 131 insertions(+), 33 deletions(-) diff --git a/packages/vscode-ide-companion/src/WebViewProvider.ts b/packages/vscode-ide-companion/src/WebViewProvider.ts index b73b3f73..c8018208 100644 --- a/packages/vscode-ide-companion/src/WebViewProvider.ts +++ b/packages/vscode-ide-companion/src/WebViewProvider.ts @@ -117,7 +117,7 @@ export class WebViewProvider { } // Create new panel - const isNewPanel = this.panelManager.createPanel(); + const isNewPanel = await this.panelManager.createPanel(); if (!isNewPanel) { return; // Failed to create panel diff --git a/packages/vscode-ide-companion/src/webview/App.tsx b/packages/vscode-ide-companion/src/webview/App.tsx index 094dc3a7..cb8b9a38 100644 --- a/packages/vscode-ide-companion/src/webview/App.tsx +++ b/packages/vscode-ide-companion/src/webview/App.tsx @@ -1048,12 +1048,33 @@ export const App: React.FC = () => { {getEditModeInfo().text} {activeFileName && ( - { + // Request to focus/reveal the active file + vscode.postMessage({ + type: 'focusActiveEditor', + data: {}, + }); + }} > - {activeFileName} - + + {activeFileName} + )}