diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index a733765de591409516d189f6b606fb88bb996f80..e7406f6822ff007dc5fe06131812aebbb7c0b971 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -483,7 +483,7 @@ export class EditorPart extends Part implements IEditorPart { this.doCloseActiveEditor(group, focusNext); } - // Closing inactive editor is just a model update + // Closing inactive editor is just a model and title update else { this.doCloseInactiveEditor(group, input); } @@ -510,6 +510,9 @@ export class EditorPart extends Part implements IEditorPart { // Closing inactive editor is just a model update group.closeEditor(input); + + // Update UI + this.sideBySideControl.updateTitleArea({ position: this.stacks.positionOfGroup(group), preview: group.previewEditor, editorCount: group.count }); } private doCloseGroup(group: EditorGroup): void { @@ -628,6 +631,9 @@ export class EditorPart extends Part implements IEditorPart { // Update stacks model: close non active editors supporting the direction group.closeEditors(group.activeEditor, direction); + + // Update UI + this.sideBySideControl.updateTitleArea({ position: this.stacks.positionOfGroup(group), preview: group.previewEditor, editorCount: group.count }); } // Finally: we are asked to close editors around a non-active editor diff --git a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts index 2b09fd999765de23d34283f4cac8e9278cd76d5c..c3b265214a6c50d841fc9ced1e6e5a7425c3ac7d 100644 --- a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts +++ b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts @@ -1200,12 +1200,23 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti let input = editor ? editor.input : null; if (input && editor) { + + // Pinned const isPinned = !input.matches(state.preview); if (isPinned) { this.titleContainer[state.position].addClass('pinned'); } else { this.titleContainer[state.position].removeClass('pinned'); } + + // Overflow + const isOverflowing = state.editorCount > 1; + const showEditorAction = this.showEditorsOfGroup[state.position]; + if (isOverflowing) { + showEditorAction.class = 'show-group-editors-overflowing-action'; + } else { + showEditorAction.class = 'show-group-editors-action'; + } } } }