diff --git a/src/vs/workbench/browser/parts/editor/editor.contribution.ts b/src/vs/workbench/browser/parts/editor/editor.contribution.ts
index c40ec6a532b0c4a9884e5ab5a944d3543a43ea9d..a9d35fa613239b1b4db445e48a0339c30741ac86 100644
--- a/src/vs/workbench/browser/parts/editor/editor.contribution.ts
+++ b/src/vs/workbench/browser/parts/editor/editor.contribution.ts
@@ -108,6 +108,8 @@ export class QuickOpenActionContributor extends ActionBarContributor {
if (entry) {
if (!this.openToSideActionInstance) {
this.openToSideActionInstance = this.instantiationService.createInstance(OpenToSideAction);
+ } else {
+ this.openToSideActionInstance.updateClass();
}
actions.push(this.openToSideActionInstance);
diff --git a/src/vs/workbench/browser/parts/editor/editorActions.ts b/src/vs/workbench/browser/parts/editor/editorActions.ts
index 6f09507225a18b52343ceff840bf0e36227849ad..a5633d080114e6b4c63b8b19f3359b34662f805e 100644
--- a/src/vs/workbench/browser/parts/editor/editorActions.ts
+++ b/src/vs/workbench/browser/parts/editor/editorActions.ts
@@ -16,6 +16,7 @@ import { IPartService } from 'vs/workbench/services/part/common/partService';
import { Position, IEditor, Direction, IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IEditorGroupService, GroupArrangement } from 'vs/workbench/services/group/common/groupService';
import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
@@ -409,12 +410,21 @@ export class OpenToSideAction extends Action {
public static OPEN_TO_SIDE_ID = 'workbench.action.openToSide';
public static OPEN_TO_SIDE_LABEL = nls.localize('openToSide', "Open to the Side");
- constructor( @IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
+ constructor(
+ @IWorkbenchEditorService private editorService: IWorkbenchEditorService,
+ @IConfigurationService private configurationService: IConfigurationService
+ ) {
super(OpenToSideAction.OPEN_TO_SIDE_ID, OpenToSideAction.OPEN_TO_SIDE_LABEL);
- this.class = 'quick-open-sidebyside';
this.updateEnablement();
+ this.updateClass();
+ }
+
+ public updateClass(): void {
+ const editorLayoutVertical = this.configurationService.lookup('workbench.editor.sideBySideLayout').value !== 'horizontal';
+
+ this.class = editorLayoutVertical ? 'quick-open-sidebyside-vertical' : 'quick-open-sidebyside-horizontal';
}
private updateEnablement(): void {
diff --git a/src/vs/workbench/parts/files/browser/media/fileactions.css b/src/vs/workbench/parts/files/browser/media/fileactions.css
index f1acdf531566afa9f1c8dabf4541394c7ac2bdfa..d4f12e7e53d69ac740f2747053f557cac7e30d16 100644
--- a/src/vs/workbench/parts/files/browser/media/fileactions.css
+++ b/src/vs/workbench/parts/files/browser/media/fileactions.css
@@ -57,13 +57,22 @@
background: url('CollapseAll_inverse.svg') center center no-repeat;
}
-.monaco-workbench .quick-open-sidebyside {
- background-image: url('SplitEditor.svg');
+.monaco-workbench .quick-open-sidebyside-vertical {
+ background-image: url('split-editor-vertical.svg');
}
-.vs-dark .monaco-workbench .quick-open-sidebyside,
-.hc-black .monaco-workbench .quick-open-sidebyside {
- background-image: url('SplitEditor_inverse.svg');
+.vs-dark .monaco-workbench .quick-open-sidebyside-vertical,
+.hc-black .monaco-workbench .quick-open-sidebyside-vertical {
+ background-image: url('split-editor-vertical-inverse.svg');
+}
+
+.monaco-workbench .quick-open-sidebyside-horizontal {
+ background-image: url('split-editor-horizontal.svg');
+}
+
+.vs-dark .monaco-workbench .quick-open-sidebyside-horizontal,
+.hc-black .monaco-workbench .quick-open-sidebyside-horizontal {
+ background-image: url('split-editor-horizontal-inverse.svg');
}
.monaco-workbench .conflict-editor-action.accept-changes {
diff --git a/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67a2b80396253cd1f1807654987916c93d2c69cd
--- /dev/null
+++ b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal-inverse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..48bc38ae3919e0cb345c71d05f347b68b0e184e7
--- /dev/null
+++ b/src/vs/workbench/parts/files/browser/media/split-editor-horizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/vs/workbench/parts/files/browser/media/SplitEditor_inverse.svg b/src/vs/workbench/parts/files/browser/media/split-editor-vertical-inverse.svg
similarity index 100%
rename from src/vs/workbench/parts/files/browser/media/SplitEditor_inverse.svg
rename to src/vs/workbench/parts/files/browser/media/split-editor-vertical-inverse.svg
diff --git a/src/vs/workbench/parts/files/browser/media/SplitEditor.svg b/src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg
similarity index 58%
rename from src/vs/workbench/parts/files/browser/media/SplitEditor.svg
rename to src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg
index 6eccccfa00bce58a563fea451edd2f8da916d23e..3eeaf7c53624f4f3e87f42e9aa648312362ed79e 100644
--- a/src/vs/workbench/parts/files/browser/media/SplitEditor.svg
+++ b/src/vs/workbench/parts/files/browser/media/split-editor-vertical.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file