Change:
I think this came up during the standup today, why is the context key called and not ? //cc
This context key came in quite late via a fix -- . I noticed this standing out because of the default keybindings which seem to mix things up: Giving this a candidate in case we want to align the context key before shipping stable
From

Discussion:
export const WorkbenchListDoubleSelection = new RawContextKey<boolean>('listDoubleSelection', false); export const WorkbenchListMultiSelection = new RawContextKey<boolean>('listMultiSelection', false); export const WorkbenchListSelectionNavigation = new RawContextKey<boolean>('listSelectionNavigation', false); <ins> export const WorkbenchListSupportsFind = new RawContextKey<boolean>('listSupportsFind', true); </ins> export const WorkbenchTreeElementCanCollapse = new RawContextKey<boolean>('treeElementCanCollapse', false); export const WorkbenchTreeElementHasParent = new RawContextKey<boolean>('treeElementHasParent', false); export const WorkbenchTreeElementCanExpand = new RawContextKey<boolean>('treeElementCanExpand', false); export const WorkbenchTreeElementHasChild = new RawContextKey<boolean>('treeElementHasChild', false); export const WorkbenchTreeFindOpen = new RawContextKey<boolean>('treeFindOpen', false); <del> export const WorkbenchTreeSupportsFind = new RawContextKey<boolean>('treeSupportsFind', true); </del> const WorkbenchListTypeNavigationModeKey = 'listTypeNavigationMode'; /**

readonly contextKeyService: IContextKeyService; private listSupportsMultiSelect: IContextKey<boolean>; <ins> private listSupportFindWidget: IContextKey<boolean>; </ins> private hasSelectionOrFocus: IContextKey<boolean>; private hasDoubleSelection: IContextKey<boolean>; private hasMultiSelection: IContextKey<boolean>;

private treeElementCanExpand: IContextKey<boolean>; private treeElementHasChild: IContextKey<boolean>; private treeFindOpen: IContextKey<boolean>; <del> private treeSupportFindWidget: IContextKey<boolean>; </del> private _useAltAsMultipleSelectionModifier: boolean; private disposables: IDisposable[] = []; private styler: IDisposable | undefined;

const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService); listSelectionNavigation.set(Boolean(options.selectionNavigation)); <ins> this.listSupportFindWidget = WorkbenchListSupportsFind.bindTo(this.contextKeyService); this.listSupportFindWidget.set(options.findWidgetEnabled ?? true); </ins> this.hasSelectionOrFocus = WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService); this.hasDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService); this.hasMultiSelection = WorkbenchListMultiSelection.bindTo(this.contextKeyService);

this.treeElementHasChild = WorkbenchTreeElementHasChild.bindTo(this.contextKeyService); this.treeFindOpen = WorkbenchTreeFindOpen.bindTo(this.contextKeyService); <del> this.treeSupportFindWidget = WorkbenchTreeSupportsFind.bindTo(this.contextKeyService); this.treeSupportFindWidget.set(options.findWidgetEnabled ?? true); </del> this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);

import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { List } from 'vs/base/browser/ui/list/listWidget'; <del> import { WorkbenchListFocusContextKey, IListService, WorkbenchListSupportsMultiSelectContextKey, ListWidget, WorkbenchListHasSelectionOrFocus, getSelectionKeyboardEvent, WorkbenchListWidget, WorkbenchListSelectionNavigation, WorkbenchTreeElementCanCollapse, WorkbenchTreeElementHasParent, WorkbenchTreeElementHasChild, WorkbenchTreeElementCanExpand, RawWorkbenchListFocusContextKey, WorkbenchTreeFindOpen, WorkbenchTreeSupportsFind } from 'vs/platform/list/browser/listService'; </del> <ins> import { WorkbenchListFocusContextKey, IListService, WorkbenchListSupportsMultiSelectContextKey, ListWidget, WorkbenchListHasSelectionOrFocus, getSelectionKeyboardEvent, WorkbenchListWidget, WorkbenchListSelectionNavigation, WorkbenchTreeElementCanCollapse, WorkbenchTreeElementHasParent, WorkbenchTreeElementHasChild, WorkbenchTreeElementCanExpand, RawWorkbenchListFocusContextKey, WorkbenchTreeFindOpen, WorkbenchListSupportsFind } from 'vs/platform/list/browser/listService'; </ins> import { PagedList } from 'vs/base/browser/ui/list/listPaging'; import { equals, range } from 'vs/base/common/arrays'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';

KeybindingsRegistry.registerCommandAndKeybindingRule({ id: 'list.find', weight: KeybindingWeight.WorkbenchContrib, <del> when: ContextKeyExpr.and(RawWorkbenchListFocusContextKey, WorkbenchTreeSupportsFind), </del> <ins> when: ContextKeyExpr.and(RawWorkbenchListFocusContextKey, WorkbenchListSupportsFind), </ins> primary: KeyMod.CtrlCmd | KeyCode.KeyF, secondary: [KeyCode.F3], handler: (accessor) => {