@tomjs/create-app
Version:
Create a node/web/electron/vscode project based on tomjs
30 lines (27 loc) • 803 B
text/typescript
import type { Disposable, ExtensionContext, Webview } from 'vscode';
import { getWebviewHtml } from 'virtual:vscode';
import { window } from 'vscode';
export class WebviewHelper {
public static setupHtml(webview: Webview, context: ExtensionContext) {
return getWebviewHtml({
serverUrl: process.env.VITE_DEV_SERVER_URL,
webview,
context,
});
}
public static setupWebviewHooks(webview: Webview, disposables: Disposable[]) {
webview.onDidReceiveMessage(
(message: any) => {
const command = message.command;
const text = message.text;
console.log(`command: ${command}`);
switch (command) {
case 'hello':
window.showInformationMessage(text);
}
},
undefined,
disposables,
);
}
}