import * as vscode from "vscode"; import { getWebviewContent } from "../utils/webviewContent"; import { handleUserMessage, insertCodeToEditor } from "../utils/messageHandler"; /** * 创建并显示 IC 助手面板 */ export function showICHelperPanel(context: vscode.ExtensionContext) { // 创建WebView面板 const panel = vscode.window.createWebviewPanel( "icCoder", // 面板ID "IC Coder", // 面板标题 vscode.ViewColumn.Beside, // 显示在旁边 { enableScripts: true, retainContextWhenHidden: true, } ); // 设置HTML内容 panel.webview.html = getWebviewContent(); // 处理消息 panel.webview.onDidReceiveMessage( (message) => { switch (message.command) { case "sendMessage": handleUserMessage(panel, message.text); break; case "insertCode": insertCodeToEditor(message.code); break; case "showInfo": vscode.window.showInformationMessage(message.text); break; } }, undefined, context.subscriptions ); }