From 382e1a0289a16d62be04ff9ec4a1b40f297c9637 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Wed, 26 Jun 2019 15:41:51 +0200 Subject: [PATCH] fixes #74934 --- src/vs/base/browser/ui/tree/asyncDataTree.ts | 1 + src/vs/editor/contrib/documentSymbols/outlineTree.ts | 7 ------- src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts | 2 +- src/vs/workbench/contrib/outline/browser/outlinePanel.ts | 2 +- .../services/keybinding/browser/keybindingService.ts | 4 ++++ 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts index 70beeb2145d..6208e4e8cce 100644 --- a/src/vs/base/browser/ui/tree/asyncDataTree.ts +++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts @@ -225,6 +225,7 @@ function asObjectTreeOptions(options?: IAsyncDataTreeOpt } }, keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && { + ...options.keyboardNavigationLabelProvider, getKeyboardNavigationLabel(e) { return options.keyboardNavigationLabelProvider!.getKeyboardNavigationLabel(e.element as T); } diff --git a/src/vs/editor/contrib/documentSymbols/outlineTree.ts b/src/vs/editor/contrib/documentSymbols/outlineTree.ts index dc34e90fcfb..2ac8baff8b5 100644 --- a/src/vs/editor/contrib/documentSymbols/outlineTree.ts +++ b/src/vs/editor/contrib/documentSymbols/outlineTree.ts @@ -15,7 +15,6 @@ import { Range } from 'vs/editor/common/core/range'; import { SymbolKind, symbolKindToCssClass } from 'vs/editor/common/modes'; import { OutlineElement, OutlineGroup, OutlineModel, TreeElement } from 'vs/editor/contrib/documentSymbols/outlineModel'; import { localize } from 'vs/nls'; -import { IKeybindingService, IKeyboardEvent } from 'vs/platform/keybinding/common/keybinding'; import { IconLabel } from 'vs/base/browser/ui/iconLabel/iconLabel'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { OutlineConfigKeys } from 'vs/editor/contrib/documentSymbols/outline'; @@ -27,8 +26,6 @@ export type OutlineItem = OutlineGroup | OutlineElement; export class OutlineNavigationLabelProvider implements IKeyboardNavigationLabelProvider { - constructor(@IKeybindingService private readonly _keybindingService: IKeybindingService) { } - getKeyboardNavigationLabel(element: OutlineItem): { toString(): string; } { if (element instanceof OutlineGroup) { return element.provider.displayName || element.id; @@ -36,10 +33,6 @@ export class OutlineNavigationLabelProvider implements IKeyboardNavigationLabelP return element.symbol.name; } } - - mightProducePrintableCharacter(event: IKeyboardEvent): boolean { - return this._keybindingService.mightProducePrintableCharacter(event); - } } diff --git a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts index 3da86172b0c..7d0376877c1 100644 --- a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts +++ b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts @@ -459,7 +459,7 @@ export class BreadcrumbsOutlinePicker extends BreadcrumbsPicker { multipleSelectionSupport: false, sorter: new OutlineItemComparator(this._getOutlineItemCompareType()), identityProvider: new OutlineIdentityProvider(), - keyboardNavigationLabelProvider: this._instantiationService.createInstance(OutlineNavigationLabelProvider) + keyboardNavigationLabelProvider: new OutlineNavigationLabelProvider() } ) as WorkbenchDataTree; } diff --git a/src/vs/workbench/contrib/outline/browser/outlinePanel.ts b/src/vs/workbench/contrib/outline/browser/outlinePanel.ts index 7b5eaee508e..0dcc8ef9184 100644 --- a/src/vs/workbench/contrib/outline/browser/outlinePanel.ts +++ b/src/vs/workbench/contrib/outline/browser/outlinePanel.ts @@ -327,7 +327,7 @@ export class OutlinePanel extends ViewletPanel { filterOnType: this._outlineViewState.filterOnType, sorter: this._treeComparator, identityProvider: new OutlineIdentityProvider(), - keyboardNavigationLabelProvider: this._instantiationService.createInstance(OutlineNavigationLabelProvider) + keyboardNavigationLabelProvider: new OutlineNavigationLabelProvider() } ) as WorkbenchDataTree; diff --git a/src/vs/workbench/services/keybinding/browser/keybindingService.ts b/src/vs/workbench/services/keybinding/browser/keybindingService.ts index fb7e5465845..1ba9d627f16 100644 --- a/src/vs/workbench/services/keybinding/browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/browser/keybindingService.ts @@ -531,6 +531,10 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { // ignore ctrl/cmd-combination but not shift/alt-combinatios return false; } + if (event.keyCode === KeyCode.Escape) { + // https://github.com/microsoft/vscode/issues/74934 + return false; + } // consult the KeyboardMapperFactory to check the given event for // a printable value. const mapping = this.keymapService.getRawKeyboardMapping(); -- GitLab