From 1fb26f9b5791f612e322589383fb99fbcb005e7b Mon Sep 17 00:00:00 2001 From: SteVen Batten Date: Wed, 30 Jan 2019 14:53:00 -0800 Subject: [PATCH] make editor area return more intuitive --- src/vs/workbench/browser/parts/editor/editorPart.ts | 4 ++++ src/vs/workbench/electron-browser/workbench.ts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index d64cb6ecce4..e27bd5db5de 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -110,6 +110,9 @@ export class EditorPart extends Part implements EditorGroupsServiceImpl, IEditor private _onDidPreferredSizeChange: Emitter = this._register(new Emitter()); get onDidPreferredSizeChange(): Event { return this._onDidPreferredSizeChange.event; } + private _onDidActivateGroup: Emitter = this._register(new Emitter()); + get onDidActivateGroup(): Event { return this._onDidActivateGroup.event; } + //#endregion private dimension: Dimension; @@ -319,6 +322,7 @@ export class EditorPart extends Part implements EditorGroupsServiceImpl, IEditor const groupView = this.assertGroupView(group); this.doSetGroupActive(groupView); + this._onDidActivateGroup.fire(groupView); return groupView; } diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts index f20aff0ed3b..9a61a7653a3 100644 --- a/src/vs/workbench/electron-browser/workbench.ts +++ b/src/vs/workbench/electron-browser/workbench.ts @@ -502,6 +502,9 @@ export class Workbench extends Disposable implements IPartService { // Listen to visible editor changes this._register(this.editorService.onDidVisibleEditorsChange(() => this.onDidVisibleEditorsChange())); + // Listen to editor group activations when editor is hidden + this._register(this.editorPart.onDidActivateGroup(() => { if (this.editorHidden) { this.setEditorHidden(false); } })); + // Listen to editor closing (if we run with --wait) const filesToWait = this.workbenchParams.configuration.filesToWait; if (filesToWait) { @@ -1272,6 +1275,8 @@ export class Workbench extends Disposable implements IPartService { return !this.statusBarHidden; case Parts.ACTIVITYBAR_PART: return !this.activityBarHidden; + case Parts.EDITOR_PART: + return this.workbenchGrid instanceof Grid ? !this.editorHidden : true; } return true; // any other part cannot be hidden -- GitLab