Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.88.0-insider OS Version: MacOs Steps to Reproduce: In the python and python debugger extension we use the QuickPick, we add an option to accept the value in the input. It was working in stable, but in insiders it doesn't work. Steps: a picker some text in the input box, make sure that it match with one option at first. enter, to select the text in the input box. last value that appeared in the list is the one that is selected. You can check the implementation . I was debugging the code a little bit, and found that in stable when you press enter, the function is called. But in insider when you press enter instead of call that function, the function is called.
Verification: Install Python extension Open a python workspace with no Open the debug pane and click the "create a file" Choose Python Debugger Choose Django Type ONLY 'b' and notice that "Browse Files" becomes the active item Type then, 'z' and notice that the list is empty hit ENTER and notice that the gets created with "bz" in the
The fix fully resolves as well!
Resolves my issue as well.

Discussion:
import { Emitter, Event } from 'vs/base/common/event'; import { IHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegate'; import { IListVirtualDelegate } from 'vs/base/browser/ui/list/list'; <del> import { IObjectTreeElement, ITreeNode, ITreeRenderer } from 'vs/base/browser/ui/tree/tree'; </del> <ins> import { IObjectTreeElement, ITreeEvent, ITreeNode, ITreeRenderer } from 'vs/base/browser/ui/tree/tree'; </ins> import { localize } from 'vs/nls'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { WorkbenchObjectTree } from 'vs/platform/list/browser/listService';

private readonly _onSeparatorButtonTriggered = new Emitter<IQuickPickSeparatorButtonEvent>(); onSeparatorButtonTriggered = this._onSeparatorButtonTriggered.event; <ins> private readonly _onTriggerEmptySelectionOrFocus = new Emitter<ITreeEvent<IQuickPickElement | null>>(); </ins> private readonly _container: HTMLElement; private readonly _tree: WorkbenchObjectTree<IQuickPickElement, void>; private readonly _separatorRenderer: QuickPickSeparatorElementRenderer;

?? element.separator?.id ?? element.separator?.label ?? ''; <del> } </del> <ins> }, </ins> }, alwaysConsumeMouseWheel: true }

@memoize get onDidChangeFocus() { return Event.map( <del> this._tree.onDidChangeFocus, </del> <ins> Event.any(this._tree.onDidChangeFocus, this._onTriggerEmptySelectionOrFocus.event), </ins> e => e.elements.filter((e): e is QuickPickItemElement => e instanceof QuickPickItemElement).map(e => e.item) ); }

@memoize get onDidChangeSelection() { return Event.map( <del> this._tree.onDidChangeSelection, </del> <ins> Event.any(this._tree.onDidChangeSelection, this._onTriggerEmptySelectionOrFocus.event), </ins> e => ({ items: e.elements.filter((e): e is QuickPickItemElement => e instanceof QuickPickItemElement).map(e => e.item), event: e.browserEvent

}); } } <ins> const before = this._tree.getFocus().length; </ins> this._tree.setChildren(null, elements); <ins> // Temporary fix until we figure out why the tree doesn't fire an event when focus & selection // get changed to empty arrays. if (before > 0 && elements.length === 0) { this._onTriggerEmptySelectionOrFocus.fire({ elements: [] }); } </ins> this._tree.layout(); this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked());