diff --git a/src/plus/webviews/graph/graphWebview.ts b/src/plus/webviews/graph/graphWebview.ts index c9c406c..9cb4917 100644 --- a/src/plus/webviews/graph/graphWebview.ts +++ b/src/plus/webviews/graph/graphWebview.ts @@ -49,6 +49,7 @@ export class GraphWebview extends WebviewBase { private _statusBarItem: StatusBarItem | undefined; private selectedRepository?: Repository; + private selection?: GitCommit[]; private currentLog?: GitLog; private previewBanner?: boolean; @@ -122,6 +123,12 @@ export class GraphWebview extends WebviewBase { } } + protected override onFocusChanged(focused: boolean): void { + if (focused && this.selection != null) { + void GitActions.Commit.showDetailsView(this.selection[0], { pin: true, preserveFocus: true }); + } + } + private onConfigurationChanged(e?: ConfigurationChangeEvent) { if (configuration.changed(e, 'graph.statusBar.enabled') || configuration.changed(e, 'plusFeatures.enabled')) { const enabled = configuration.get('graph.statusBar.enabled') && configuration.get('plusFeatures.enabled'); @@ -213,6 +220,7 @@ export class GraphWebview extends WebviewBase { } } + this.selection = commits; this._onDidChangeSelection.fire({ selection: commits ?? [] }); if (commits == null) return;