feat:将extension文件拆分成不同功能的独立组件

This commit is contained in:
Roe-xin
2025-12-11 10:54:46 +08:00
parent eec915421a
commit b3c8344d82
9 changed files with 547 additions and 40 deletions

View File

@ -0,0 +1,41 @@
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
);
}