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}
+
)}