From 3245f89500cac87ec46c3534c3ecba2ec9766bfa Mon Sep 17 00:00:00 2001 From: Jackson Kearl Date: Wed, 25 Jul 2018 09:35:00 -0700 Subject: [PATCH 1/4] Refactor simple widget editor config files --- .../electron-browser/simpleWidgetEditor.ts | 90 +++++++++++++++++++ .../electron-browser/breakpointWidget.ts | 6 +- .../parts/debug/electron-browser/repl.ts | 4 +- .../electron-browser/simpleDebugEditor.ts | 57 ------------ .../electron-browser/extensionsViewlet.ts | 36 ++------ 5 files changed, 100 insertions(+), 93 deletions(-) create mode 100644 src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts delete mode 100644 src/vs/workbench/parts/debug/electron-browser/simpleDebugEditor.ts diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts b/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts new file mode 100644 index 00000000000..c3d3f17b0aa --- /dev/null +++ b/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts @@ -0,0 +1,90 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; +import { ICodeEditorWidgetOptions } from 'vs/editor/browser/widget/codeEditorWidget'; + +// Allowed Editor Contributions: +import { MenuPreventer } from 'vs/workbench/parts/codeEditor/electron-browser/menuPreventer'; +import { SelectionClipboard } from 'vs/workbench/parts/codeEditor/electron-browser/selectionClipboard'; +import { ContextMenuController } from 'vs/editor/contrib/contextmenu/contextmenu'; +import { SuggestController } from 'vs/editor/contrib/suggest/suggestController'; +import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2'; +import { TabCompletionController } from 'vs/workbench/parts/snippets/electron-browser/tabCompletion'; + +export class SimpleWidgetEditorConfig { + + public static getCodeEditorWidgetOptions(): ICodeEditorWidgetOptions { + return { + isSimpleWidget: true, + contributions: [ + MenuPreventer, + SelectionClipboard, + ContextMenuController, + SuggestController, + SnippetController2, + TabCompletionController, + ] + }; + } + + public static getEditorOptions(style: 'editor' | 'htmlinput', ariaLabel?: string): IEditorOptions { + if (style === 'editor') { + return { + wordWrap: 'on', + overviewRulerLanes: 0, + glyphMargin: false, + lineNumbers: 'off', + folding: false, + selectOnLineNumbers: false, + hideCursorInOverviewRuler: true, + selectionHighlight: false, + scrollbar: { + horizontal: 'hidden' + }, + ariaLabel: ariaLabel || '', + lineDecorationsWidth: 0, + overviewRulerBorder: false, + scrollBeyondLastLine: false, + renderLineHighlight: 'none', + fixedOverflowWidgets: true, + acceptSuggestionOnEnter: 'smart', + minimap: { + enabled: false + } + }; + } + else { + return { + fontSize: 13, + lineHeight: 22, + wordWrap: 'off', + overviewRulerLanes: 0, + glyphMargin: false, + lineNumbers: 'off', + folding: false, + selectOnLineNumbers: false, + hideCursorInOverviewRuler: true, + selectionHighlight: false, + scrollbar: { + horizontal: 'hidden', + vertical: 'hidden' + }, + ariaLabel: ariaLabel || '', + cursorWidth: 1, + lineDecorationsWidth: 0, + overviewRulerBorder: false, + scrollBeyondLastLine: false, + renderLineHighlight: 'none', + fixedOverflowWidgets: true, + acceptSuggestionOnEnter: 'smart', + minimap: { + enabled: false + }, + fontFamily: ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif' + }; + } + } +} diff --git a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts index c3f164601c0..3d1ad211ed5 100644 --- a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts +++ b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts @@ -17,7 +17,7 @@ import { IContextViewService } from 'vs/platform/contextview/browser/contextView import { IDebugService, IBreakpoint, BreakpointWidgetContext as Context, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, DEBUG_SCHEME, IDebugEditorContribution, EDITOR_CONTRIBUTION_ID, CONTEXT_IN_BREAKPOINT_WIDGET } from 'vs/workbench/parts/debug/common/debug'; import { attachSelectBoxStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { SimpleDebugEditor } from 'vs/workbench/parts/debug/electron-browser/simpleDebugEditor'; +import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; import { createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { ServicesAccessor, EditorCommand, registerEditorCommand } from 'vs/editor/browser/editorExtensions'; @@ -200,8 +200,8 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi const scopedInstatiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateBreakpointWidgetService, this])); - const options = SimpleDebugEditor.getEditorOptions(); - const codeEditorWidgetOptions = SimpleDebugEditor.getCodeEditorWidgetOptions(); + const options = SimpleWidgetEditorConfig.getEditorOptions('editor'); + const codeEditorWidgetOptions = SimpleWidgetEditorConfig.getCodeEditorWidgetOptions(); this.input = scopedInstatiationService.createInstance(CodeEditorWidget, container, options, codeEditorWidgetOptions); CONTEXT_IN_BREAKPOINT_WIDGET.bindTo(scopedContextKeyService).set(true); const model = this.modelService.createModel('', null, uri.parse(`${DEBUG_SCHEME}:${this.editor.getId()}:breakpointinput`), true); diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 10bbf3327fa..1cc6bea977e 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -30,7 +30,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IInstantiationService, createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { ReplExpressionsRenderer, ReplExpressionsController, ReplExpressionsDataSource, ReplExpressionsActionProvider, ReplExpressionsAccessibilityProvider } from 'vs/workbench/parts/debug/electron-browser/replViewer'; -import { SimpleDebugEditor } from 'vs/workbench/parts/debug/electron-browser/simpleDebugEditor'; +import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; import { ClearReplAction } from 'vs/workbench/parts/debug/browser/debugActions'; import { Panel } from 'vs/workbench/browser/panel'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; @@ -173,7 +173,7 @@ export class Repl extends Panel implements IPrivateReplService, IHistoryNavigati const scopedInstantiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateReplService, this])); - this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleDebugEditor.getEditorOptions(), SimpleDebugEditor.getCodeEditorWidgetOptions()); + this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleWidgetEditorConfig.getEditorOptions('editor'), SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); modes.SuggestRegistry.register({ scheme: DEBUG_SCHEME, pattern: '**/replinput', hasAccessToAllModels: true }, { triggerCharacters: ['.'], diff --git a/src/vs/workbench/parts/debug/electron-browser/simpleDebugEditor.ts b/src/vs/workbench/parts/debug/electron-browser/simpleDebugEditor.ts deleted file mode 100644 index 720b75f1cad..00000000000 --- a/src/vs/workbench/parts/debug/electron-browser/simpleDebugEditor.ts +++ /dev/null @@ -1,57 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; -import { ICodeEditorWidgetOptions } from 'vs/editor/browser/widget/codeEditorWidget'; - -// Allowed Editor Contributions: -import { MenuPreventer } from 'vs/workbench/parts/codeEditor/electron-browser/menuPreventer'; -import { SelectionClipboard } from 'vs/workbench/parts/codeEditor/electron-browser/selectionClipboard'; -import { ContextMenuController } from 'vs/editor/contrib/contextmenu/contextmenu'; -import { SuggestController } from 'vs/editor/contrib/suggest/suggestController'; -import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2'; -import { TabCompletionController } from 'vs/workbench/parts/snippets/electron-browser/tabCompletion'; - -export class SimpleDebugEditor { - - public static getCodeEditorWidgetOptions(): ICodeEditorWidgetOptions { - return { - isSimpleWidget: true, - contributions: [ - MenuPreventer, - SelectionClipboard, - ContextMenuController, - SuggestController, - SnippetController2, - TabCompletionController, - ] - }; - } - - public static getEditorOptions(): IEditorOptions { - return { - wordWrap: 'on', - overviewRulerLanes: 0, - glyphMargin: false, - lineNumbers: 'off', - folding: false, - selectOnLineNumbers: false, - hideCursorInOverviewRuler: true, - selectionHighlight: false, - scrollbar: { - horizontal: 'hidden' - }, - lineDecorationsWidth: 0, - overviewRulerBorder: false, - scrollBeyondLastLine: false, - renderLineHighlight: 'none', - fixedOverflowWidgets: true, - acceptSuggestionOnEnter: 'smart', - minimap: { - enabled: false - } - }; - } -} diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index bc834b46f36..cd9a86f34bc 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -65,7 +65,7 @@ import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; import { Range } from 'vs/editor/common/core/range'; import { Position } from 'vs/editor/common/core/position'; import { ITextModel } from 'vs/editor/common/model'; -import { SimpleDebugEditor } from 'vs/workbench/parts/debug/electron-browser/simpleDebugEditor'; +import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; interface SearchInputEvent extends Event { target: HTMLInputElement; @@ -340,7 +340,10 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio const header = append(this.root, $('.header')); this.monacoStyleContainer = append(header, $('.monaco-container')); - this.searchBox = this.instantiationService.createInstance(CodeEditorWidget, this.monacoStyleContainer, SEARCH_INPUT_OPTIONS, SimpleDebugEditor.getCodeEditorWidgetOptions()); + this.searchBox = this.instantiationService.createInstance(CodeEditorWidget, this.monacoStyleContainer, + SimpleWidgetEditorConfig.getEditorOptions('htmlinput', localize('searchExtensions', "Search Extensions in Marketplace")), + SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); + this.placeholderText = append(this.monacoStyleContainer, $('.search-placeholder', null, localize('searchExtensions', "Search Extensions in Marketplace"))); this.extensionsBox = append(this.root, $('.extensions')); @@ -665,32 +668,3 @@ export class MaliciousExtensionChecker implements IWorkbenchContribution { } } -let SEARCH_INPUT_OPTIONS: IEditorOptions = -{ - fontSize: 13, - lineHeight: 22, - wordWrap: 'off', - overviewRulerLanes: 0, - glyphMargin: false, - lineNumbers: 'off', - folding: false, - selectOnLineNumbers: false, - hideCursorInOverviewRuler: true, - selectionHighlight: false, - scrollbar: { - horizontal: 'hidden', - vertical: 'hidden' - }, - ariaLabel: localize('searchExtensions', "Search Extensions in Marketplace"), - cursorWidth: 1, - lineDecorationsWidth: 0, - overviewRulerBorder: false, - scrollBeyondLastLine: false, - renderLineHighlight: 'none', - fixedOverflowWidgets: true, - acceptSuggestionOnEnter: 'smart', - minimap: { - enabled: false - }, - fontFamily: ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif' -}; From 6fb3e7a4d48b904b3b0596891ee805b095280277 Mon Sep 17 00:00:00 2001 From: Jackson Kearl Date: Wed, 25 Jul 2018 09:37:37 -0700 Subject: [PATCH 2/4] Remove unused --- .../parts/extensions/electron-browser/extensionsViewlet.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index cd9a86f34bc..1a429eab473 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -61,7 +61,6 @@ import { SingleServerExtensionManagementServerService } from 'vs/workbench/servi import { Query } from 'vs/workbench/parts/extensions/common/extensionQuery'; import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget'; import { IModelService } from 'vs/editor/common/services/modelService'; -import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; import { Range } from 'vs/editor/common/core/range'; import { Position } from 'vs/editor/common/core/position'; import { ITextModel } from 'vs/editor/common/model'; From e6e83fec4aef11c613900cbd91aac7b77d7eb624 Mon Sep 17 00:00:00 2001 From: Jackson Kearl Date: Wed, 25 Jul 2018 10:44:48 -0700 Subject: [PATCH 3/4] Refactoring --- .../electron-browser/simpleWidgetEditor.ts | 110 +++++++++--------- .../electron-browser/breakpointWidget.ts | 2 +- .../parts/debug/electron-browser/repl.ts | 2 +- .../electron-browser/extensionsViewlet.ts | 2 +- 4 files changed, 57 insertions(+), 59 deletions(-) diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts b/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts index c3d3f17b0aa..4dece238fbd 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts @@ -30,61 +30,59 @@ export class SimpleWidgetEditorConfig { }; } - public static getEditorOptions(style: 'editor' | 'htmlinput', ariaLabel?: string): IEditorOptions { - if (style === 'editor') { - return { - wordWrap: 'on', - overviewRulerLanes: 0, - glyphMargin: false, - lineNumbers: 'off', - folding: false, - selectOnLineNumbers: false, - hideCursorInOverviewRuler: true, - selectionHighlight: false, - scrollbar: { - horizontal: 'hidden' - }, - ariaLabel: ariaLabel || '', - lineDecorationsWidth: 0, - overviewRulerBorder: false, - scrollBeyondLastLine: false, - renderLineHighlight: 'none', - fixedOverflowWidgets: true, - acceptSuggestionOnEnter: 'smart', - minimap: { - enabled: false - } - }; - } - else { - return { - fontSize: 13, - lineHeight: 22, - wordWrap: 'off', - overviewRulerLanes: 0, - glyphMargin: false, - lineNumbers: 'off', - folding: false, - selectOnLineNumbers: false, - hideCursorInOverviewRuler: true, - selectionHighlight: false, - scrollbar: { - horizontal: 'hidden', - vertical: 'hidden' - }, - ariaLabel: ariaLabel || '', - cursorWidth: 1, - lineDecorationsWidth: 0, - overviewRulerBorder: false, - scrollBeyondLastLine: false, - renderLineHighlight: 'none', - fixedOverflowWidgets: true, - acceptSuggestionOnEnter: 'smart', - minimap: { - enabled: false - }, - fontFamily: ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif' - }; - } + public static getEditorOptions(): IEditorOptions { + return { + wordWrap: 'on', + overviewRulerLanes: 0, + glyphMargin: false, + lineNumbers: 'off', + folding: false, + selectOnLineNumbers: false, + hideCursorInOverviewRuler: true, + selectionHighlight: false, + scrollbar: { + horizontal: 'hidden' + }, + lineDecorationsWidth: 0, + overviewRulerBorder: false, + scrollBeyondLastLine: false, + renderLineHighlight: 'none', + fixedOverflowWidgets: true, + acceptSuggestionOnEnter: 'smart', + minimap: { + enabled: false + } + }; + } + + public static getEditorAsInputBoxOptions(ariaLabel?: string): IEditorOptions { + return { + fontSize: 13, + lineHeight: 22, + wordWrap: 'off', + overviewRulerLanes: 0, + glyphMargin: false, + lineNumbers: 'off', + folding: false, + selectOnLineNumbers: false, + hideCursorInOverviewRuler: true, + selectionHighlight: false, + scrollbar: { + horizontal: 'hidden', + vertical: 'hidden' + }, + ariaLabel: ariaLabel || '', + cursorWidth: 1, + lineDecorationsWidth: 0, + overviewRulerBorder: false, + scrollBeyondLastLine: false, + renderLineHighlight: 'none', + fixedOverflowWidgets: true, + acceptSuggestionOnEnter: 'smart', + minimap: { + enabled: false + }, + fontFamily: ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif' + }; } } diff --git a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts index 3d1ad211ed5..1c08b53c0e0 100644 --- a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts +++ b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts @@ -200,7 +200,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi const scopedInstatiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateBreakpointWidgetService, this])); - const options = SimpleWidgetEditorConfig.getEditorOptions('editor'); + const options = SimpleWidgetEditorConfig.getEditorOptions(); const codeEditorWidgetOptions = SimpleWidgetEditorConfig.getCodeEditorWidgetOptions(); this.input = scopedInstatiationService.createInstance(CodeEditorWidget, container, options, codeEditorWidgetOptions); CONTEXT_IN_BREAKPOINT_WIDGET.bindTo(scopedContextKeyService).set(true); diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 1cc6bea977e..521a6938e85 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -173,7 +173,7 @@ export class Repl extends Panel implements IPrivateReplService, IHistoryNavigati const scopedInstantiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateReplService, this])); - this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleWidgetEditorConfig.getEditorOptions('editor'), SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); + this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleWidgetEditorConfig.getEditorOptions(), SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); modes.SuggestRegistry.register({ scheme: DEBUG_SCHEME, pattern: '**/replinput', hasAccessToAllModels: true }, { triggerCharacters: ['.'], diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index 1a429eab473..894e269a2f0 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -340,7 +340,7 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio const header = append(this.root, $('.header')); this.monacoStyleContainer = append(header, $('.monaco-container')); this.searchBox = this.instantiationService.createInstance(CodeEditorWidget, this.monacoStyleContainer, - SimpleWidgetEditorConfig.getEditorOptions('htmlinput', localize('searchExtensions', "Search Extensions in Marketplace")), + SimpleWidgetEditorConfig.getEditorAsInputBoxOptions(localize('searchExtensions', "Search Extensions in Marketplace")), SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); this.placeholderText = append(this.monacoStyleContainer, $('.search-placeholder', null, localize('searchExtensions', "Search Extensions in Marketplace"))); From aec78631e9db714cdb3639a194d7a45324ac9e79 Mon Sep 17 00:00:00 2001 From: Jackson Kearl Date: Thu, 26 Jul 2018 11:11:30 -0700 Subject: [PATCH 4/4] Renaming and pull text HTML style config out to extensions file --- ...tEditor.ts => simpleEditorWidgetConfig.ts} | 33 +------------------ .../electron-browser/breakpointWidget.ts | 6 ++-- .../parts/debug/electron-browser/repl.ts | 4 +-- .../electron-browser/extensionsViewlet.ts | 17 ++++++++-- 4 files changed, 20 insertions(+), 40 deletions(-) rename src/vs/workbench/parts/codeEditor/electron-browser/{simpleWidgetEditor.ts => simpleEditorWidgetConfig.ts} (68%) diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts b/src/vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig.ts similarity index 68% rename from src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts rename to src/vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig.ts index 4dece238fbd..c6f5a4eda1a 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig.ts @@ -14,7 +14,7 @@ import { SuggestController } from 'vs/editor/contrib/suggest/suggestController'; import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2'; import { TabCompletionController } from 'vs/workbench/parts/snippets/electron-browser/tabCompletion'; -export class SimpleWidgetEditorConfig { +export class SimpleEditorWidgetConfig { public static getCodeEditorWidgetOptions(): ICodeEditorWidgetOptions { return { @@ -54,35 +54,4 @@ export class SimpleWidgetEditorConfig { } }; } - - public static getEditorAsInputBoxOptions(ariaLabel?: string): IEditorOptions { - return { - fontSize: 13, - lineHeight: 22, - wordWrap: 'off', - overviewRulerLanes: 0, - glyphMargin: false, - lineNumbers: 'off', - folding: false, - selectOnLineNumbers: false, - hideCursorInOverviewRuler: true, - selectionHighlight: false, - scrollbar: { - horizontal: 'hidden', - vertical: 'hidden' - }, - ariaLabel: ariaLabel || '', - cursorWidth: 1, - lineDecorationsWidth: 0, - overviewRulerBorder: false, - scrollBeyondLastLine: false, - renderLineHighlight: 'none', - fixedOverflowWidgets: true, - acceptSuggestionOnEnter: 'smart', - minimap: { - enabled: false - }, - fontFamily: ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif' - }; - } } diff --git a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts index 1c08b53c0e0..b8ffd5ca34a 100644 --- a/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts +++ b/src/vs/workbench/parts/debug/electron-browser/breakpointWidget.ts @@ -17,7 +17,7 @@ import { IContextViewService } from 'vs/platform/contextview/browser/contextView import { IDebugService, IBreakpoint, BreakpointWidgetContext as Context, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, DEBUG_SCHEME, IDebugEditorContribution, EDITOR_CONTRIBUTION_ID, CONTEXT_IN_BREAKPOINT_WIDGET } from 'vs/workbench/parts/debug/common/debug'; import { attachSelectBoxStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; -import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; +import { SimpleEditorWidgetConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig'; import { createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { ServicesAccessor, EditorCommand, registerEditorCommand } from 'vs/editor/browser/editorExtensions'; @@ -200,8 +200,8 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi const scopedInstatiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateBreakpointWidgetService, this])); - const options = SimpleWidgetEditorConfig.getEditorOptions(); - const codeEditorWidgetOptions = SimpleWidgetEditorConfig.getCodeEditorWidgetOptions(); + const options = SimpleEditorWidgetConfig.getEditorOptions(); + const codeEditorWidgetOptions = SimpleEditorWidgetConfig.getCodeEditorWidgetOptions(); this.input = scopedInstatiationService.createInstance(CodeEditorWidget, container, options, codeEditorWidgetOptions); CONTEXT_IN_BREAKPOINT_WIDGET.bindTo(scopedContextKeyService).set(true); const model = this.modelService.createModel('', null, uri.parse(`${DEBUG_SCHEME}:${this.editor.getId()}:breakpointinput`), true); diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 521a6938e85..296b4869076 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -30,7 +30,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IInstantiationService, createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { ReplExpressionsRenderer, ReplExpressionsController, ReplExpressionsDataSource, ReplExpressionsActionProvider, ReplExpressionsAccessibilityProvider } from 'vs/workbench/parts/debug/electron-browser/replViewer'; -import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; +import { SimpleEditorWidgetConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig'; import { ClearReplAction } from 'vs/workbench/parts/debug/browser/debugActions'; import { Panel } from 'vs/workbench/browser/panel'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; @@ -173,7 +173,7 @@ export class Repl extends Panel implements IPrivateReplService, IHistoryNavigati const scopedInstantiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, scopedContextKeyService], [IPrivateReplService, this])); - this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleWidgetEditorConfig.getEditorOptions(), SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); + this.replInput = scopedInstantiationService.createInstance(CodeEditorWidget, this.replInputContainer, SimpleEditorWidgetConfig.getEditorOptions(), SimpleEditorWidgetConfig.getCodeEditorWidgetOptions()); modes.SuggestRegistry.register({ scheme: DEBUG_SCHEME, pattern: '**/replinput', hasAccessToAllModels: true }, { triggerCharacters: ['.'], diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index 894e269a2f0..54cf64796f5 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -64,7 +64,8 @@ import { IModelService } from 'vs/editor/common/services/modelService'; import { Range } from 'vs/editor/common/core/range'; import { Position } from 'vs/editor/common/core/position'; import { ITextModel } from 'vs/editor/common/model'; -import { SimpleWidgetEditorConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleWidgetEditor'; +import { SimpleEditorWidgetConfig } from 'vs/workbench/parts/codeEditor/electron-browser/simpleEditorWidgetConfig'; +import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; interface SearchInputEvent extends Event { target: HTMLInputElement; @@ -340,8 +341,8 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio const header = append(this.root, $('.header')); this.monacoStyleContainer = append(header, $('.monaco-container')); this.searchBox = this.instantiationService.createInstance(CodeEditorWidget, this.monacoStyleContainer, - SimpleWidgetEditorConfig.getEditorAsInputBoxOptions(localize('searchExtensions', "Search Extensions in Marketplace")), - SimpleWidgetEditorConfig.getCodeEditorWidgetOptions()); + mixinHTMLInputStyleOptions(SimpleEditorWidgetConfig.getEditorOptions(), localize('searchExtensions', "Search Extensions in Marketplace")), + SimpleEditorWidgetConfig.getCodeEditorWidgetOptions()); this.placeholderText = append(this.monacoStyleContainer, $('.search-placeholder', null, localize('searchExtensions', "Search Extensions in Marketplace"))); @@ -667,3 +668,13 @@ export class MaliciousExtensionChecker implements IWorkbenchContribution { } } +function mixinHTMLInputStyleOptions(config: IEditorOptions, ariaLabel?: string): IEditorOptions { + config.fontSize = 13; + config.lineHeight = 22; + config.wordWrap = 'off'; + config.scrollbar.vertical = 'hidden'; + config.ariaLabel = ariaLabel || ''; + config.cursorWidth = 1; + config.fontFamily = ' -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", "Ubuntu", "Droid Sans", sans-serif'; + return config; +}