refactor(vscode-ide-companion): extract InfoBanner as standalone component

Move info banner UI from App.tsx to dedicated component with open settings functionality.
This commit is contained in:
yiliang114
2025-11-23 18:11:47 +08:00
parent 8ac38aad92
commit aceb857436
5 changed files with 169 additions and 117 deletions

View File

@@ -207,6 +207,10 @@ export class MessageHandler {
await this.handleResumeSession(data?.sessionId as string);
break;
case 'openSettings':
await this.handleOpenSettings();
break;
default:
console.warn('[MessageHandler] Unknown message type:', message.type);
break;
@@ -922,4 +926,24 @@ export class MessageHandler {
});
}
}
/**
* 处理打开设置请求
* 打开 VSCode 设置页面并定位到扩展配置
*/
private async handleOpenSettings(): Promise<void> {
try {
console.log('[MessageHandler] Opening settings');
await vscode.commands.executeCommand(
'workbench.action.openSettings',
'qwenCode',
);
} catch (error) {
console.error('[MessageHandler] Failed to open settings:', error);
this.sendToWebView({
type: 'error',
data: { message: `Failed to open settings: ${error}` },
});
}
}
}