mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-21 09:17:53 +00:00
fix(vscode-ide-companion): 修复新建会话按钮,在同一 view column 创建新 tab
问题: - 之前的实现会复用现有 panel 并清空当前会话 - 期望行为是在同一 view column(不创建分屏)中创建新的 VS Code tab 解决方案: 1. 修改 qwenCode.openNewChatTab 命令 - 总是创建新的 WebviewProvider 和 WebviewPanel - PanelManager 的 findExistingQwenCodeViewColumn() 确保在同一 column 打开 2. 修改 MessageHandler 中的 openNewChatTab 处理 - 调用 VS Code 命令创建新 panel/tab 3. 移除不再需要的 createNewSession 方法 效果: - 点击新建会话按钮会在同一 view column 中创建新的 VS Code tab - 类似 Claude Code 的交互方式 - 不会创建新的分屏 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -189,17 +189,10 @@ export async function activate(context: vscode.ExtensionContext) {
|
||||
}
|
||||
}),
|
||||
vscode.commands.registerCommand('qwenCode.openNewChatTab', () => {
|
||||
// Check if there's already an open chat panel
|
||||
if (webViewProviders.length > 0) {
|
||||
const lastProvider = webViewProviders[webViewProviders.length - 1];
|
||||
// Reveal the existing panel and create a new session within it
|
||||
lastProvider.show();
|
||||
lastProvider.createNewSession();
|
||||
} else {
|
||||
// Create first chat tab
|
||||
const provider = createWebViewProvider();
|
||||
provider.show();
|
||||
}
|
||||
// Always create a new WebviewPanel (tab) in the same view column
|
||||
// The PanelManager will find existing Qwen Code tabs and open in the same column
|
||||
const provider = createWebViewProvider();
|
||||
provider.show();
|
||||
}),
|
||||
vscode.commands.registerCommand('qwenCode.clearAuthCache', async () => {
|
||||
await authStateManager.clearAuthState();
|
||||
|
||||
Reference in New Issue
Block a user