Skip to content

Commit 2e75836

Browse files
authored
Fix editor group switching (#8544)
Fixes #8538
1 parent 56702c6 commit 2e75836

2 files changed

Lines changed: 15 additions & 12 deletions

File tree

src/github/issueOverview.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,31 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
4242
protected _folderRepositoryManager: FolderRepositoryManager;
4343
protected _scrollPosition = { x: 0, y: 0 };
4444

45+
protected static _getViewColumn(toTheSide: boolean, panel?: IssueOverviewPanel): number | undefined {
46+
const activeColumn = toTheSide
47+
? vscode.ViewColumn.Beside
48+
: (panel ? undefined : (vscode.window.activeTextEditor
49+
? vscode.window.activeTextEditor.viewColumn
50+
: vscode.ViewColumn.One));
51+
return activeColumn;
52+
}
53+
4554
public static async createOrShow(
4655
telemetry: ITelemetry,
4756
extensionUri: vscode.Uri,
4857
folderRepositoryManager: FolderRepositoryManager,
4958
identity: UnresolvedIdentity,
5059
issue?: IssueModel,
51-
toTheSide: Boolean = false,
60+
toTheSide: boolean = false,
5261
_preserveFocus: boolean = true,
5362
existingPanel?: vscode.WebviewPanel
5463
) {
5564
await ensureEmojis(folderRepositoryManager.context);
56-
const activeColumn = toTheSide
57-
? vscode.ViewColumn.Beside
58-
: vscode.window.activeTextEditor
59-
? vscode.window.activeTextEditor.viewColumn
60-
: vscode.ViewColumn.One;
6165

6266
const key = panelKey(identity.owner, identity.repo, identity.number);
6367
let panel = this._panels.get(key);
68+
const activeColumn = IssueOverviewPanel._getViewColumn(toTheSide, panel);
69+
6470
if (panel) {
6571
panel._panel.reveal(activeColumn, true);
6672
} else {

src/github/pullRequestOverview.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,11 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
8282
*/
8383
telemetry.sendTelemetryEvent('pr.openDescription', { isCopilot: (issue?.author.login === COPILOT_SWE_AGENT) ? 'true' : 'false' });
8484

85-
const activeColumn = toTheSide
86-
? vscode.ViewColumn.Beside
87-
: vscode.window.activeTextEditor
88-
? vscode.window.activeTextEditor.viewColumn
89-
: vscode.ViewColumn.One;
90-
9185
const key = panelKey(identity.owner, identity.repo, identity.number);
9286
let panel = this._panels.get(key);
87+
88+
const activeColumn = IssueOverviewPanel._getViewColumn(toTheSide, panel);
89+
9390
if (panel) {
9491
panel._panel.reveal(activeColumn, preserveFocus);
9592
} else {

0 commit comments

Comments
 (0)