import * as vscode from "vscode"; import * as path from "path"; import { GitService } from "./GitService"; export class GViewProvider implements vscode.WebviewViewProvider { public static readonly viewType = "gitcommitfilter.view"; private _view?: vscode.WebviewView; constructor( private context: vscode.ExtensionContext, private readonly _gitService: GitService ) {} public resolveWebviewView( webviewView: vscode.WebviewView, context: vscode.WebviewViewResolveContext ) { webviewView.webview.options = { enableScripts: true }; this._view = webviewView; console.log("resolveWebviewView:------------"); webviewView.webview.html = this.generateHtml(webviewView); // 添加事件监听器 webviewView.webview.onDidReceiveMessage( (message) => { switch (message.command) { case "filterCommits": const filterText = message.text; this.filterCommits(filterText); return; } }, undefined, this.context.subscriptions ); } generateHtml(webviewView: vscode.WebviewView) { return `