From dfeda31f76a23d5ebf2be6387da1b5a79db8efcc Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 24 Jan 2019 18:11:36 +0100 Subject: [PATCH] :lipstick: actions --- src/vs/workbench/browser/actions/listCommands.ts | 2 -- .../browser/parts/editor/editor.contribution.ts | 4 ++++ .../workbench/browser/parts/editor/resourceViewer.ts | 10 ++-------- .../workbench/browser/parts/editor/sideBySideEditor.ts | 7 ++++--- src/vs/workbench/browser/parts/views/panelViewlet.ts | 2 +- src/vs/workbench/common/contributions.ts | 2 -- .../electron-browser/actions/developerActions.ts | 2 -- .../workbench/electron-browser/actions/helpActions.ts | 1 - .../electron-browser/actions/windowActions.ts | 4 +--- .../electron-browser/extensionHostProcessManager.ts | 4 ++-- 10 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/vs/workbench/browser/actions/listCommands.ts b/src/vs/workbench/browser/actions/listCommands.ts index 6e22af2d2d9..196930c81b7 100644 --- a/src/vs/workbench/browser/actions/listCommands.ts +++ b/src/vs/workbench/browser/actions/listCommands.ts @@ -17,8 +17,6 @@ import { AsyncDataTree } from 'vs/base/browser/ui/tree/asyncDataTree'; import { DataTree } from 'vs/base/browser/ui/tree/dataTree'; import { ITreeNode } from 'vs/base/browser/ui/tree/tree'; -// --- List Commands - function ensureDOMFocus(widget: ListWidget): void { // it can happen that one of the commands is executed while // DOM focus is within another focusable control within the diff --git a/src/vs/workbench/browser/parts/editor/editor.contribution.ts b/src/vs/workbench/browser/parts/editor/editor.contribution.ts index 6d34336e1ab..b262c8aeef8 100644 --- a/src/vs/workbench/browser/parts/editor/editor.contribution.ts +++ b/src/vs/workbench/browser/parts/editor/editor.contribution.ts @@ -50,6 +50,7 @@ import { AllEditorsPicker, ActiveEditorGroupPicker } from 'vs/workbench/browser/ import { Schemas } from 'vs/base/common/network'; import { registerEditorContribution } from 'vs/editor/browser/editorExtensions'; import { OpenWorkspaceButtonContribution } from 'vs/workbench/browser/parts/editor/editorWidgets'; +import { ZoomStatusbarItem } from 'vs/workbench/browser/parts/editor/resourceViewer'; // Register String Editor Registry.as(EditorExtensions.Editors).registerEditor( @@ -221,6 +222,9 @@ registerEditorContribution(OpenWorkspaceButtonContribution); const statusBar = Registry.as(StatusExtensions.Statusbar); statusBar.registerStatusbarItem(new StatusbarItemDescriptor(EditorStatus, StatusbarAlignment.RIGHT, 100 /* towards the left of the right hand side */)); +// Register Zoom Status +statusBar.registerStatusbarItem(new StatusbarItemDescriptor(ZoomStatusbarItem, StatusbarAlignment.RIGHT, 101 /* to the left of editor status (100) */)); + // Register Status Actions const registry = Registry.as(ActionExtensions.WorkbenchActions); registry.registerWorkbenchAction(new SyncActionDescriptor(ChangeModeAction, ChangeModeAction.ID, ChangeModeAction.LABEL, { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyCode.KEY_M) }), 'Change Language Mode'); diff --git a/src/vs/workbench/browser/parts/editor/resourceViewer.ts b/src/vs/workbench/browser/parts/editor/resourceViewer.ts index d819d0f555c..a0cc90b5735 100644 --- a/src/vs/workbench/browser/parts/editor/resourceViewer.ts +++ b/src/vs/workbench/browser/parts/editor/resourceViewer.ts @@ -13,12 +13,10 @@ import { LRUCache } from 'vs/base/common/map'; import { Schemas } from 'vs/base/common/network'; import { clamp } from 'vs/base/common/numbers'; import { Themable } from 'vs/workbench/common/theme'; -import { IStatusbarItem, StatusbarItemDescriptor, IStatusbarRegistry, Extensions } from 'vs/workbench/browser/parts/statusbar/statusbar'; -import { StatusbarAlignment } from 'vs/platform/statusbar/common/statusbar'; +import { IStatusbarItem } from 'vs/workbench/browser/parts/statusbar/statusbar'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IDisposable, Disposable, combinedDisposable } from 'vs/base/common/lifecycle'; import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { Registry } from 'vs/platform/registry/common/platform'; import { Action } from 'vs/base/common/actions'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { memoize } from 'vs/base/common/decorators'; @@ -234,7 +232,7 @@ class FileSeemsBinaryFileView { type Scale = number | 'fit'; -class ZoomStatusbarItem extends Themable implements IStatusbarItem { +export class ZoomStatusbarItem extends Themable implements IStatusbarItem { static instance: ZoomStatusbarItem; @@ -314,10 +312,6 @@ class ZoomStatusbarItem extends Themable implements IStatusbarItem { } } -Registry.as(Extensions.Statusbar).registerStatusbarItem( - new StatusbarItemDescriptor(ZoomStatusbarItem, StatusbarAlignment.RIGHT, 101 /* to the left of editor status (100) */) -); - interface ImageState { scale: Scale; offsetX: number; diff --git a/src/vs/workbench/browser/parts/editor/sideBySideEditor.ts b/src/vs/workbench/browser/parts/editor/sideBySideEditor.ts index 6a7316293d8..9db3583b18d 100644 --- a/src/vs/workbench/browser/parts/editor/sideBySideEditor.ts +++ b/src/vs/workbench/browser/parts/editor/sideBySideEditor.ts @@ -176,17 +176,18 @@ export class SideBySideEditor extends BaseEditor { } private setNewInput(newInput: SideBySideEditorInput, options: EditorOptions, token: CancellationToken): Promise { - const detailsEditor = this._createEditor(newInput.details, this.detailsEditorContainer); - const masterEditor = this._createEditor(newInput.master, this.masterEditorContainer); + const detailsEditor = this.doCreateEditor(newInput.details, this.detailsEditorContainer); + const masterEditor = this.doCreateEditor(newInput.master, this.masterEditorContainer); return this.onEditorsCreated(detailsEditor, masterEditor, newInput.details, newInput.master, options, token); } - private _createEditor(editorInput: EditorInput, container: HTMLElement): BaseEditor { + private doCreateEditor(editorInput: EditorInput, container: HTMLElement): BaseEditor { const descriptor = Registry.as(EditorExtensions.Editors).getEditor(editorInput); if (!descriptor) { throw new Error('No descriptor for editor found'); } + const editor = descriptor.instantiate(this.instantiationService); editor.create(container); editor.setVisible(this.isVisible(), this.group); diff --git a/src/vs/workbench/browser/parts/views/panelViewlet.ts b/src/vs/workbench/browser/parts/views/panelViewlet.ts index 5979e6d8b44..f69ee245d69 100644 --- a/src/vs/workbench/browser/parts/views/panelViewlet.ts +++ b/src/vs/workbench/browser/parts/views/panelViewlet.ts @@ -259,7 +259,7 @@ export class PanelViewlet extends Viewlet { let title = Registry.as(Extensions.Viewlets).getViewlet(this.getId()).name; if (this.isSingleView()) { - title += ': ' + this.panelItems[0].panel.title; + title = `${title}: ${this.panelItems[0].panel.title}`; } return title; diff --git a/src/vs/workbench/common/contributions.ts b/src/vs/workbench/common/contributions.ts index f881e90555e..01a8631bf8f 100644 --- a/src/vs/workbench/common/contributions.ts +++ b/src/vs/workbench/common/contributions.ts @@ -8,8 +8,6 @@ import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/ import { Registry } from 'vs/platform/registry/common/platform'; import { runWhenIdle, IdleDeadline } from 'vs/base/common/async'; -// --- Workbench Contribution Registry - /** * A workbench contribution that will be loaded when the workbench starts and disposed when the workbench shuts down. */ diff --git a/src/vs/workbench/electron-browser/actions/developerActions.ts b/src/vs/workbench/electron-browser/actions/developerActions.ts index 6f9e2f1ffb1..8b9c5485b63 100644 --- a/src/vs/workbench/electron-browser/actions/developerActions.ts +++ b/src/vs/workbench/electron-browser/actions/developerActions.ts @@ -16,8 +16,6 @@ import { Context } from 'vs/platform/contextkey/browser/contextKeyService'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { timeout } from 'vs/base/common/async'; -// --- actions - export class ToggleDevToolsAction extends Action { static readonly ID = 'workbench.action.toggleDevTools'; diff --git a/src/vs/workbench/electron-browser/actions/helpActions.ts b/src/vs/workbench/electron-browser/actions/helpActions.ts index f6c1190b82d..85d39d64d7b 100644 --- a/src/vs/workbench/electron-browser/actions/helpActions.ts +++ b/src/vs/workbench/electron-browser/actions/helpActions.ts @@ -242,4 +242,3 @@ export class OpenPrivacyStatementUrlAction extends Action { return Promise.resolve(); } } - diff --git a/src/vs/workbench/electron-browser/actions/windowActions.ts b/src/vs/workbench/electron-browser/actions/windowActions.ts index 50e78b9bfec..0cf3ec66110 100644 --- a/src/vs/workbench/electron-browser/actions/windowActions.ts +++ b/src/vs/workbench/electron-browser/actions/windowActions.ts @@ -26,8 +26,6 @@ import { IQuickInputService, IQuickPickItem, IQuickInputButton, IQuickPickSepara import { getIconClasses } from 'vs/editor/common/services/getIconClasses'; import product from 'vs/platform/node/product'; -// --- actions - export class CloseCurrentWindowAction extends Action { static readonly ID = 'workbench.action.closeWindow'; @@ -576,4 +574,4 @@ export class ToggleWindowTabsBar extends Action { run(): Promise { return this.windowsService.toggleWindowTabsBar().then(() => true); } -} \ No newline at end of file +} diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionHostProcessManager.ts b/src/vs/workbench/services/extensions/electron-browser/extensionHostProcessManager.ts index fe57ae9ca52..8329209bdd5 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionHostProcessManager.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionHostProcessManager.ts @@ -353,7 +353,7 @@ function getLatencyTestProviders(): ExtHostLatencyProvider[] { export class MeasureExtHostLatencyAction extends Action { public static readonly ID = 'editor.action.measureExtHostLatency'; - public static readonly LABEL = nls.localize('measureExtHostLatency', "Developer: Measure Extension Host Latency"); + public static readonly LABEL = nls.localize('measureExtHostLatency', "Measure Extension Host Latency"); constructor( id: string, @@ -384,4 +384,4 @@ export class MeasureExtHostLatencyAction extends Action { } const registry = Registry.as(ActionExtensions.WorkbenchActions); -registry.registerWorkbenchAction(new SyncActionDescriptor(MeasureExtHostLatencyAction, MeasureExtHostLatencyAction.ID, MeasureExtHostLatencyAction.LABEL), 'Developer: Measure Extension Host Latency'); +registry.registerWorkbenchAction(new SyncActionDescriptor(MeasureExtHostLatencyAction, MeasureExtHostLatencyAction.ID, MeasureExtHostLatencyAction.LABEL), 'Developer: Measure Extension Host Latency', nls.localize('developer', "Developer"));