Files
IC-Coder-Plugin/src/panels/ICHelperPanel.ts

42 lines
1.1 KiB
TypeScript

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