jiebi/CodeConvo huggingface dataset:
Change:
todays insiders - run F1 or cmd+shift+o a hover shows and doesn't go away

Discussion:
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import * as aria from 'vs/base/browser/ui/aria/aria'; import { AnchorAlignment, IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview'; <del> import { getDefaultHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegate'; import { ICustomHover, setupCustomHover } from 'vs/base/browser/ui/iconLabel/iconLabelHover'; </del> import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement'; import { Widget } from 'vs/base/browser/ui/widget'; import { IAction } from 'vs/base/common/actions';

private cachedContentHeight: number | undefined; private maxHeight: number = Number.POSITIVE_INFINITY; private scrollableElement: ScrollableElement | undefined; <del> private hover: ICustomHover | undefined; </del> private _onDidChange = this._register(new Emitter<string>()); public readonly onDidChange: Event<string> = this._onDidChange.event;

public setTooltip(tooltip: string): void { this.tooltip = tooltip; <del> if (!this.hover) { this.hover = this._register(setupCustomHover(getDefaultHoverDelegate('element'), this.input, tooltip)); } else { this.hover.update(tooltip); } </del> <ins> this.input.title = tooltip; </ins> } public setAriaLabel(label: string): void {
Change:
The git extension API for commit appears to be following what the action button does. Example: last git SCM view thing I did was use the action button to Commit & Push an extension uses the git extension API to tries to commit and push.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!

Discussion:
} commit(message: string, opts?: CommitOptions): Promise<void> { <del> return this.repository.commit(message, opts); </del> <ins> return this.repository.commit(message, { ...opts, postCommitCommand: null }); </ins> } merge(ref: string): Promise<void> {
Change:
See here: <img width="367" alt="image" src=""When I make the sidebar smaller in a multi-repository view, I see that the "..." appears even when not needed. !
, the checkout and sync actions seem to be missing. Investigating...
Adding as this might be related to the custom hover work...

Discussion:
class StatusBarActionViewItem extends ActionViewItem { constructor(action: StatusBarAction, options: IBaseActionViewItemOptions) { <del> super(null, action, options); </del> <ins> super(null, action, { ...options, icon: false, label: true }); </ins> } protected override updateLabel(): void {
Change:
a symbol in typescript how you nicely offer some Copilot suggested names on one of them -no effect Accepting using the keyboard works.

Discussion:
this._disposables.add(addDisposableListener(this._input, 'blur', () => { this._focusedContextKey.reset(); })); this._domNode.appendChild(this._input); <del> this._candidatesView = new CandidatesView(this._domNode, { fontInfo: this._editor.getOption(EditorOption.fontInfo) }); </del> <ins> this._candidatesView = new CandidatesView(this._domNode, { fontInfo: this._editor.getOption(EditorOption.fontInfo), onSelectionChange: () => this.acceptInput(false) // we don't allow preview with mouse click for now }); </ins> this._label = document.createElement('div'); this._label.className = 'rename-label';

private _lineHeight: number; private _availableHeight: number; <del> constructor(parent: HTMLElement, opts: { fontInfo: FontInfo }) { </del> <ins> constructor(parent: HTMLElement, opts: { fontInfo: FontInfo; onSelectionChange: () => void }) { </ins> this._availableHeight = 0;

} ); <ins> this._listWidget.onDidChangeSelection(e => { if (e.elements.length > 0) { opts.onSelectionChange(); } }); </ins> this._listWidget.style(defaultListStyles); }

} public get focusedCandidate(): string | undefined { <del> return this._listWidget.isDOMFocused() ? this._listWidget.getFocusedElements()[0].newSymbolName : undefined; </del> <ins> if (this._listWidget.length === 0) { return; } const selectedElement = this._listWidget.getSelectedElements()[0]; if (selectedElement !== undefined) { return selectedElement.newSymbolName; } const focusedElement = this._listWidget.getFocusedElements()[0]; if (focusedElement !== undefined) { return focusedElement.newSymbolName; } return; </ins> } public updateFont(fontInfo: FontInfo): void {
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?: Unsure -- couldn't find a built-in status item without a command. <!-- 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.86.2 OS Version: Windows 11 Steps to Reproduce: a status bar item (e.g. via the extension API) that has no set attribute. For example you can modify the and comment out the line setting the item command. the keyboard to navigate focus to the item. that the focus outline does not appear on the item even though it has primary focus, tooltip shows, etc. !
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
could you please give an ETA when the fixes will be deployed in VS Code Insiders I already tested the issue in the above version which is version 1.86 but the issue is still reproducing. If am not correct with the version please let me know the version.
Github Tags: #BM-VisualStudioCodeClient-Win32-Jan2024; #Visual Studio Code Client; #A11yMAS; #WCAG2.4.7; #A11yTCS; #FocusVisible; #A11ySev3; #Keyboard;

Discussion:
} /* Status bar item focus outline */ <del> .monaco-workbench .part.statusbar > .items-container > .statusbar-item a:focus-visible:not(.disabled) { </del> <ins> .monaco-workbench .part.statusbar > .items-container > .statusbar-item a:focus-visible { </ins> outline: 1px solid ${this.getColor(activeContrastBorder) ?? itemBorderColor}; outline-offset: ${borderColor ? '-2px' : '-1px'}; }
Change:
Type: <bBug</bMy VScode won't run anything. i typed basic java code and nothing shows up no matter how i run it. my code is below. class QuickStart { public static void main (String[] args) { ("Hello, World."); } } VS Code version: Code 1.86.2 (, 2024-02-13T19:40:56.878Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (8)</summaryExtensionVersion ------ java1.28.1 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-java-debug0.56.0 vscode-java-dependency0.23.4 vscode-java-pack0.25.15 vscode-java-test0.40.1 vscode-maven0.44.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
/extJava
It looks like this is caused by the Java extension. Please file the issue to the . Make sure to check their and provide relevant information such as the extension version you're using. See also our for more information. Happy Coding!

Discussion:
static readonly options = { id: 'editor.action.surroundWithSnippet', title: { <del> value: localize('label', 'More...'), original: 'More...' </del> <ins> value: localize('label', 'Surround With Snippet...'), original: 'Surround With Snippet...' </ins> } };

private static readonly _overflowCommandCodeAction: CodeAction = { kind: CodeActionKind.SurroundWith.value, <del> title: SurroundWithSnippetEditorAction.options.title.value, </del> <ins> title: localize('more', "More..."), </ins> command: { id: SurroundWithSnippetEditorAction.options.id, title: SurroundWithSnippetEditorAction.options.title.value,
Change:
Type: <bBug</bI'm not completely sure if this is caused by VSCode or Rust-Analyzer but I think it's VSCode. Whenever I try to open the imports menu from quick fixes, it instantly closes. It should wait for me to pick an import. This feature broke sometime within the last couple weeks. VS Code version: Code - Insiders 1.87.0-insider (Universal) (, 2024-02-16T16:39:24.006Z) OS version: Darwin arm64 23.2.0 Modes: Remote OS version: Linux x64 6.7.4-arch1-1 <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ better-comments3.0.2 vscode-nginx-conf0.3.2 postcss1.0.9 codespaces1.16.10 fluent-icons0.0.18 dotenv1.0.1 jupyter-keymap1.1.2 remote-ssh0.109. remote-ssh-edit0.86.0 remote-explorer0.5. rust-analyzer0.3.1839 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
tyler did some bisecting to one of my PRs, could be related. im assuming this quick fix is supposed to open a quick pick?
Yes it is.

Discussion:
command.arguments[0] = { ...command.arguments[0], autoSend: false }; } } <del> try { this._lightBulbWidget.value?.hide(); await this._applyCodeAction(actionItem, false, false, ApplyCodeActionReason.FromAILightbulb); } finally { actions.dispose(); } </del> <ins> await this._applyCodeAction(actionItem, false, false, ApplyCodeActionReason.FromAILightbulb); </ins> return; } await this.showCodeActionList(actions, at, { includeDisabledActions: false, fromLightbulb: true });

const delegate: IActionListDelegate<CodeActionItem> = { onSelect: async (action: CodeActionItem, preview?: boolean) => { <del> try { await this._applyCodeAction(action, /* retrigger */ true, !!preview, ApplyCodeActionReason.FromCodeActions); } finally { actions.dispose(); } </del> <ins> this._applyCodeAction(action, /* retrigger */ true, !!preview, ApplyCodeActionReason.FromCodeActions); </ins> this._actionWidgetService.hide(); currentDecorations.clear(); },
Change:
!
It seems the new animation changes the size of the element, as can be seen when used in inline chat: !

Discussion:
let activeRecordingDimmedColor: Color | undefined; if (theme.type === ColorScheme.LIGHT || theme.type === ColorScheme.DARK) { activeRecordingColor = theme.getColor(ACTIVITY_BAR_BADGE_BACKGROUND) ?? theme.getColor(focusBorder); <del> activeRecordingDimmedColor = activeRecordingColor?.transparent(0.2); </del> <ins> activeRecordingDimmedColor = activeRecordingColor?.transparent(0.38); </ins> } else { activeRecordingColor = theme.getColor(contrastBorder); activeRecordingDimmedColor = theme.getColor(contrastBorder);

collector.addRule(` .monaco-workbench:not(.reduce-motion) .interactive-input-part .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled), .monaco-workbench:not(.reduce-motion) .inline-chat .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled) { <del> color: ${activeRecordingColor}; outline: 1px solid ${activeRecordingColor}; outline-offset: -1px; animation: pulseAnimation 1s infinite; </del> <ins> outline: 2px solid ${activeRecordingColor}; </ins> border-radius: 50%; <del> } .monaco-workbench:not(.reduce-motion) .interactive-input-part .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::before, .monaco-workbench:not(.reduce-motion) .inline-chat .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::before { position: absolute; outline: 1px solid ${activeRecordingColor}; outline-offset: 2px; border-radius: 50%; width: 16px; height: 16px; } .monaco-workbench:not(.reduce-motion) .interactive-input-part .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::after, .monaco-workbench:not(.reduce-motion) .inline-chat .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::after { content: ''; position: absolute; outline: 1px solid ${activeRecordingDimmedColor}; outline-offset: 3px; animation: pulseAnimation 1s infinite; border-radius: 50%; width: 16px; height: 16px; </del> <ins> animation: pulseAnimation 1500ms ease-in-out infinite !important; padding-left: 4px; height: 17px; </ins> } @keyframes pulseAnimation { 0% { <del> outline-width: 1px; </del> <ins> outline-width: 2px; </ins> } 50% { <del> outline-width: 3px; </del> <ins> outline-width: 5px; </ins> outline-color: ${activeRecordingDimmedColor}; } 100% { <del> outline-width: 1px; </del> <ins> outline-width: 2px; </ins> } } `);
Change:
Open Empty Window Add folder to the Window using command Following error is thrown
It seems you are having same command id to focus explorer/empty view - . So when user add folder to the empty window, you are registering the explorer first - which is causing this error. Empty view is getting deregistered after.
Should I make a second command? It's been this way for awhile , don't want to break previous expectations here. People don't really think of the difference between file and empty view
Safer fix is to flip registering and deregistering order.

Discussion:
} } <del> if (viewDescriptorsToRegister.length) { viewsRegistry.registerViews(viewDescriptorsToRegister, VIEW_CONTAINER); } </del> if (viewDescriptorsToDeregister.length) { viewsRegistry.deregisterViews(viewDescriptorsToDeregister, VIEW_CONTAINER); } <ins> if (viewDescriptorsToRegister.length) { viewsRegistry.registerViews(viewDescriptorsToRegister, VIEW_CONTAINER); } </ins> mark('code/didRegisterExplorerViews'); }
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/No <!-- 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: OS Version: Steps to Reproduce: a ntoebook click on a cell, and notice the order of the cell actions same entries for regular editors is All places the order is We might want to consider changing this.
is this a papercut or ux issue I'm concerned that changing this now could result in issues due to muscle memory (i.e. users being used to this order). Thus changing this might not be a good idea, then again, i don't think it is. Thoughts?
discussed with team, Lets change this

Discussion:
id: MenuId.NotebookCellTitle, when: NOTEBOOK_EDITOR_FOCUSED, group: CellOverflowToolbarGroups.Copy, <ins> order: 2, </ins> }, keybinding: platform.isNative ? undefined : { primary: KeyMod.CtrlCmd | KeyCode.KeyC,

id: MenuId.NotebookCellTitle, when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE), group: CellOverflowToolbarGroups.Copy, <ins> order: 1, </ins> }, keybinding: platform.isNative ? undefined : { when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, ContextKeyExpr.not(InputFocusedContextKey)),

id: MenuId.NotebookCellTitle, when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE), group: CellOverflowToolbarGroups.Copy, <ins> order: 3, </ins> }, keybinding: platform.isNative ? undefined : { when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, ContextKeyExpr.not(InputFocusedContextKey)),
Change:
Testing When I try completions with multiple-cursors, I keep seeing that one of them is correct and the other has an extra brace or breaks balanced quotes or something else. Should they be exactly the same? Some examples... ! ! Cursor one ! Cursor two !
Hi thank you for posting this issue. This looks indeed like a bug, I will investigate.

Discussion:
export function getSecondaryEdits(textModel: ITextModel, positions: readonly Position[], primaryEdit: SingleTextEdit): SingleTextEdit[] { const primaryPosition = positions[0]; const secondaryPositions = positions.slice(1); <ins> const primaryEditStartPosition = primaryEdit.range.getStartPosition(); </ins> const primaryEditEndPosition = primaryEdit.range.getEndPosition(); const replacedTextAfterPrimaryCursor = textModel.getValueInRange( Range.fromPositions(primaryPosition, primaryEditEndPosition) ); <del> const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEdit.range.getStartPosition()); </del> <ins> const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEditStartPosition); </ins> const secondaryEditText = substringPos(primaryEdit.text, positionWithinTextEdit); return secondaryPositions.map(pos => { <ins> const posEnd = addPositions(subtractPositions(pos, primaryEditStartPosition), primaryEditEndPosition); </ins> const textAfterSecondaryCursor = textModel.getValueInRange( <del> Range.fromPositions(pos, primaryEditEndPosition) </del> <ins> Range.fromPositions(pos, posEnd) </ins> ); const l = commonPrefixLength(replacedTextAfterPrimaryCursor, textAfterSecondaryCursor); const range = Range.fromPositions(pos, pos.delta(0, l));
Change:
Testing Have the following commit input: <img width="573" alt="image" src=""Hard wrap it, you end up with: <img width="582" alt="image" src=""The consecutive whitespace should be merged.

Discussion:
const lineLengthThreshold = line === 0 ? inputValidationSubjectLength ?? inputValidationLength : inputValidationLength; const lineSegments: string[] = []; <del> const lineText = document.lineAt(line).text; </del> <ins> const lineText = document.lineAt(line).text.trim(); </ins> let position = 0; while (lineText.length - position > lineLengthThreshold) {
Change:
Testing a commit message with more than 50 characters on the first line, notice the warning. the settings editor and change to 100. The warning is still there.

Discussion:
this.migrateInputValidationSettings() .then(() => { mapEvent(filterEvent(workspace.onDidChangeTextDocument, e => e.document.uri.scheme === 'vscode-scm'), e => e.document)(this.onDidChangeTextDocument, this, this.disposables); <del> filterEvent(workspace.onDidChangeConfiguration, e => e.affectsConfiguration('git.inputValidation'))(this.onDidChangeConfiguration, this, this.disposables); </del> <ins> filterEvent(workspace.onDidChangeConfiguration, e => e.affectsConfiguration('git.inputValidation') || e.affectsConfiguration('git.inputValidationLength') || e.affectsConfiguration('git.inputValidationSubjectLength'))(this.onDidChangeConfiguration, this, this.disposables); </ins> }); }
Change:
Make a refactor and open the refactor preview Click on accept/discard The editor showing the refactor preview does not close

Discussion:
import { ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer'; import { RawContextKey, IContextKeyService, IContextKey, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; <del> import { BulkEditPreviewProvider } from 'vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview'; </del> import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import { WorkbenchListFocusContextKey } from 'vs/platform/list/browser/listService';

for (const input of group.editors) { const resource = EditorResourceAccessor.getCanonicalUri(input, { supportSideBySide: SideBySideEditor.PRIMARY }); <del> if (resource?.scheme === BulkEditPreviewProvider.Schema) { </del> <ins> if (resource?.scheme === BulkEditPane.Schema) { </ins> previewEditors.push(input); } }

export class BulkEditPane extends ViewPane { static readonly ID = 'refactorPreview'; <ins> static readonly Schema = 'vscode-bulkeditpreview-multieditor'; </ins> static readonly ctxHasCategories = new RawContextKey('refactorPreview.hasCategories', false); static readonly ctxGroupByFile = new RawContextKey('refactorPreview.groupByFile', true);

} } }; <del> const multiDiffSource = URI.from({ scheme: 'refactor-preview' }); </del> <ins> const multiDiffSource = URI.from({ scheme: BulkEditPane.Schema }); </ins> const label = 'Refactor Preview'; this._editorService.openEditor({ multiDiffSource,

export class BulkEditPreviewProvider implements ITextModelContentProvider { <del> static readonly Schema = 'vscode-bulkeditpreview'; </del> <ins> private static readonly Schema = 'vscode-bulkeditpreview-editor'; </ins> static emptyPreview = URI.from({ scheme: BulkEditPreviewProvider.Schema, fragment: 'empty' });
Change:
Testing It is not clear what is the default value.
Good point. The default value is the value in settings.

Discussion:
/** * Whether symlinks should be followed while searching. <del> * See the vscode setting `"search.followSymlinks"`. </del> <ins> * Defaults to the value for `search.followSymlinks` in settings. * For more info, see the setting listed above. </ins> */ followSymlinks?: boolean; /** * If set to true, the `filePattern` arg will be fuzzy-searched instead of glob-searched. <del> * If `filePattern` is a `GlobPattern`, then the fuzzy search will act on the `pattern` of the `RelativePattern` </del> <ins> * If `filePattern` is a {@link RelativePattern relative pattern}, then the fuzzy search will act on the `pattern` of the {@link RelativePattern RelativePattern} </ins> */ fuzzy?: boolean; }

* Find files across all {@link workspace.workspaceFolders workspace folders} in the workspace. * * @example <del> * findFiles('**​/*.js', {exclude: '**​/out/**', useIgnoreFiles: true}, 10) </del> <ins> * findFiles('**​/*.js', {exclude: '**​/out/**', useIgnoreFiles: true, maxResults: 10}) </ins> * * @param filePattern A {@link GlobPattern glob pattern} that defines the files to search for. The glob pattern * will be matched against the file paths of resulting matches relative to their workspace. Use a {@link RelativePattern relative pattern}