jiebi/CodeConvo huggingface dataset:
Change:
Type: <bBug</b! VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-29T02:35:06.500Z) OS version: Windows_NT x64 10.0. Modes:
I will prepare a PR. Ideas for what to put in description: Commit ID (short format) ! Nothing, which is what Rebase does for most of its entries (exception being the upstream entry): ! Last commit timestamp: !

Discussion:
class MergeItem implements QuickPickItem { <del> get label(): string { return this.ref.name || ''; } get description(): string { return this.ref.name || ''; } </del> <ins> private shortCommit: string; </ins> <del> constructor(protected ref: Ref) { } </del> <ins> get label(): string { return this.ref.type === RefType.RemoteHead ? `$(cloud) ${this.ref.name ?? this.shortCommit}` : `${this.repository.isBranchProtected(this.ref) ? '$(lock)' : '$(git-branch)'} ${this.ref.name ?? this.shortCommit}`; } </ins> <del> async run(repository: Repository): Promise<void> { await repository.merge(this.ref.name! || this.ref.commit!); </del> <ins> get description(): string { return this.ref.type === RefType.RemoteHead ? l10n.t('Remote branch at {0}', this.shortCommit) : this.shortCommit; } constructor(private readonly repository: Repository, private readonly ref: Ref) { this.shortCommit = (this.ref.commit ?? '').substring(0, 8); } async run(): Promise<void> { await this.repository.merge(this.ref.name ?? this.ref.commit!); </ins> } }

const heads = refs.filter(ref => ref.type === RefType.Head) .filter(ref => ref.name || ref.commit) <del> .map(ref => new MergeItem(ref as Branch)); </del> <ins> .map(ref => new MergeItem(repository, ref as Branch)); </ins> const remoteHeads = (includeRemotes ? refs.filter(ref => ref.type === RefType.RemoteHead) : []) .filter(ref => ref.name || ref.commit) <del> .map(ref => new MergeItem(ref as Branch)); </del> <ins> .map(ref => new MergeItem(repository, ref as Branch)); </ins> return [...heads, ...remoteHeads]; };

return; } <del> await choice.run(repository); </del> <ins> await choice.run(); </ins> } @command('git.mergeAbort', { repository: true })
Change:
a change to a file the file another view so that the SCM view isn't visible the window sparkle will be disabled when you open the SCM view
nice catch! Thank you!

Discussion:
constructor( private readonly input: ISCMInput, <del> @IContextKeyService private readonly contextKeyService: IContextKeyService, </del> <ins> @IContextKeyService contextKeyService: IContextKeyService, </ins> @IStorageService private readonly storageService: IStorageService ) { super();

protected override async runAction(action: IAction): Promise<void> { try { <del> // Check if toolbar is disabled if (this.contextKeyService.getContextKeyValue(SCMInputContextKeys.ActionIsEnabled.key) === false) { return; } </del> // Cancel previous action if (this._ctxIsActionRunning.get() === true) { this._cts?.cancel();

this._store.add(menu.onDidChange(() => updateToolbar())); const ctxKeys = new Set<string>([SCMInputContextKeys.ActionIsEnabled.key, SCMInputContextKeys.ActionIsRunning.key]); <del> Event.filter(contextKeyService.onDidChangeContext, e => e.affectsSome(ctxKeys))(() => updateToolbar()); </del> <ins> this._store.add(Event.filter(contextKeyService.onDidChangeContext, e => e.affectsSome(ctxKeys))(() => updateToolbar())); </ins> // Delay initial update to finish class initialization setTimeout(() => updateToolbar(), 0);

const ctxIsActionEnabled = SCMInputContextKeys.ActionIsEnabled.bindTo(this.toolbarContextKeyService); this.repositoryDisposables.add(input.repository.provider.onDidChangeResources(() => ctxIsActionEnabled.set(input.repository.provider.groups.some(r => r.resources.length > 0)))); <ins> ctxIsActionEnabled.set(input.repository.provider.groups.some(r => r.resources.length > 0)); </ins> const actionRunner = instantiationService2.createInstance(SCMInputWidgetActionRunner, input); this.repositoryDisposables.add(actionRunner);
Change:
This configuration is probably pretty obscure (and I just had it due to testing) but: : , : the string into the terminal and shift+enter to get a newline buffer opens :bug:. The desc for says it's only after , so I don't think this is expected behavior (although I did just paste the selected text in the terminal manually).
did you happen to have enabled? that could explain what you describe, if so.
I don't have enabled.

Discussion:
onDidBlur: Event<ITerminalInstance>; onDidInputData: Event<ITerminalInstance>; onDidChangeSelection: Event<ITerminalInstance>; <del> onDidRunText: Event<void>; </del> <ins> onDidExecuteText: Event<void>; </ins> onDidChangeTarget: Event<TerminalLocation | undefined>; onDidSendText: Event<string>;

readonly onRequestAddInstanceToGroup = this._onRequestAddInstanceToGroup.event; private readonly _onDidChangeHasChildProcesses = this._register(new Emitter<boolean>()); readonly onDidChangeHasChildProcesses = this._onDidChangeHasChildProcesses.event; <del> private readonly _onDidRunText = this._register(new Emitter<void>()); readonly onDidRunText = this._onDidRunText.event; </del> <ins> private readonly _onDidExecuteText = this._register(new Emitter<void>()); readonly onDidExecuteText = this._onDidExecuteText.event; </ins> private readonly _onDidChangeTarget = this._register(new Emitter<TerminalLocation | undefined>()); readonly onDidChangeTarget = this._onDidChangeTarget.event; private readonly _onDidSendText = this._register(new Emitter<string>());

this._onDidInputData.fire(this); this._onDidSendText.fire(text); this.xterm?.scrollToBottom(); <del> this._onDidRunText.fire(); </del> <ins> if (shouldExecute) { this._onDidExecuteText.fire(); } </ins> } async sendPath(originalPath: string | URI, shouldExecute: boolean): Promise<void> {

this.show(); return true; }, TerminalContextKeys.focus)); <del> this._register(_instance.onDidRunText(() => { </del> <ins> this._register(_instance.onDidExecuteText(() => { </ins> const focusAfterRun = _configurationService.getValue(TerminalSettingId.FocusAfterRun); if (focusAfterRun === 'terminal') { _instance.focus(true);

readonly onDidRequestClearLastProvider = this._onDidRequestClearProvider.event; private _focusedInstance: ITerminalInstance | undefined; constructor( <del> private readonly _instance: Pick<ITerminalInstance, 'onDidRunText' | 'focus' | 'shellType' | 'capabilities' | 'onDidRequestFocus' | 'resource' | 'onDisposed'>, </del> <ins> private readonly _instance: Pick<ITerminalInstance, 'onDidExecuteText' | 'focus' | 'shellType' | 'capabilities' | 'onDidRequestFocus' | 'resource' | 'onDisposed'>, </ins> private _bufferTracker: BufferContentTracker, customHelp: () => string, @IModelService _modelService: IModelService,
Change:
Originally posted by in
Marking this as debt since we'll likely be removing that command after terminal moves onto a different one in I'll change to bug if we're keeping it.
Repro: Set Hit ctrl+i in terminal, type something ctrl+` to focus terminal (don't close quick chat) ctrl+i type something is deleted

Discussion:
override run(accessor: ServicesAccessor, query?: string): void { const quickChatService = accessor.get(IQuickChatService); <del> quickChatService.toggle(id, query ? { query } : undefined); </del> <ins> quickChatService.toggle(id, query ? { query, selection: new Selection(1, query.length + 1, 1, query.length + 1) } : undefined); </ins> } }; }

open(providerId?: string, options?: IQuickChatOpenOptions): void { if (this._input) { if (this._currentChat && options?.query) { <ins> this._currentChat.focus(); </ins> this._currentChat.setValue(options.query, options.selection); if (!options.isPartialQuery) { this._currentChat.acceptInput(); } <ins> return; </ins> } return this.focus(); }
Change:
I have noticed that some Action2 instances are registered that reuse an id. That's not OK because Action2 is a singleton model object, e.g it keybinding or menu registrations refer to it by id. This should be cleaned up and from then on it should be an error to reuse an id [x] [x] [x] [x] [x] command 'toggleVisibility' [x] command 'removeView'
I believe this is all the same issue somewhere in views land?
This is how these actions are registered May I know what is the suggested approach?
Don't register them twice
fixes duplication in view land by first disposing old action and only then creating new ones
you are new to this issue, there are ids that are reused for Action2 and those need to be fixed. Today, this prints a warning but it this become an error soon
Adding for

Discussion:
ScrollDownLine = 'workbench.action.terminal.scrollDown', ScrollDownPage = 'workbench.action.terminal.scrollDownPage', ScrollToBottom = 'workbench.action.terminal.scrollToBottom', <ins> ScrollToBottomAccessibleView = 'workbench.action.terminal.scrollToBottomAccessibleView', </ins> ScrollUpLine = 'workbench.action.terminal.scrollUp', ScrollUpPage = 'workbench.action.terminal.scrollUpPage', ScrollToTop = 'workbench.action.terminal.scrollToTop', <ins> ScrollToTopAccessibleView = 'workbench.action.terminal.scrollToTopAccessibleView', </ins> Clear = 'workbench.action.terminal.clear', ClearSelection = 'workbench.action.terminal.clearSelection', ChangeIcon = 'workbench.action.terminal.changeIcon',

}); registerTerminalAction({ <del> id: TerminalCommandId.ScrollToBottom, title: localize2('workbench.action.terminal.scrollToBottom', 'Scroll to Bottom'), </del> <ins> id: TerminalCommandId.ScrollToBottomAccessibleView, title: localize2('workbench.action.terminal.scrollToBottomAccessibleView', 'Scroll to Accessible View Bottom'), </ins> precondition: ContextKeyExpr.and(ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), ContextKeyExpr.and(accessibleViewIsShown, ContextKeyExpr.equals(accessibleViewCurrentProviderId.key, AccessibleViewProviderId.Terminal))), keybinding: { primary: KeyMod.CtrlCmd | KeyCode.End,

}); registerTerminalAction({ <del> id: TerminalCommandId.ScrollToTop, title: localize2('workbench.action.terminal.scrollToTop', 'Scroll to Top'), </del> <ins> id: TerminalCommandId.ScrollToTopAccessibleView, title: localize2('workbench.action.terminal.scrollToTopAccessibleView', 'Scroll to Accessible View Top'), </ins> precondition: ContextKeyExpr.and(ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), ContextKeyExpr.and(accessibleViewIsShown, ContextKeyExpr.equals(accessibleViewCurrentProviderId.key, AccessibleViewProviderId.Terminal))), keybinding: { primary: KeyMod.CtrlCmd | KeyCode.Home,
Change:
Steps to Reproduce: a folder/workspace that contains a git repository change to a file "Commit & Push" from the action button Actual command not found Commit from the action button Actual command not found

Discussion:
private treeScrollTop: number | undefined; private treeContainer!: HTMLElement; private tree!: WorkbenchCompressibleAsyncDataTree<ISCMViewService, TreeElement, FuzzyScore>; <del> private treeIdentityProvider!: IIdentityProvider<TreeElement>; </del> private listLabels!: ResourceLabels; private inputRenderer!: InputRenderer;

const treeDataSource = this.instantiationService.createInstance(SCMTreeDataSource, () => this.viewMode, () => this.alwaysShowRepositories, () => this.showActionButton, () => this.showIncomingChanges, () => this.showOutgoingChanges); this.disposables.add(treeDataSource); <del> this.treeIdentityProvider = new SCMResourceIdentityProvider(); </del> this.tree = this.instantiationService.createInstance( WorkbenchCompressibleAsyncDataTree, 'SCM Tree Repo',

transformOptimization: false, filter: new SCMTreeFilter(), dnd: new SCMTreeDragAndDrop(this.instantiationService), <del> identityProvider: this.treeIdentityProvider, </del> <ins> identityProvider: new SCMResourceIdentityProvider(), </ins> sorter: new SCMTreeSorter(() => this.viewMode, () => this.viewSortKey), keyboardNavigationLabelProvider: this.instantiationService.createInstance(SCMTreeKeyboardNavigationLabelProvider, () => this.viewMode), overrideStyles: {

if (element && this.tree.hasNode(element)) { // Refresh specific repository <del> await this.tree.updateChildren(element, true, false, { diffDepth: Infinity, diffIdentityProvider: this.treeIdentityProvider }); </del> <ins> await this.tree.updateChildren(element); </ins> } else { // Refresh the entire tree <del> await this.tree.updateChildren(undefined, true, false, { diffDepth: Infinity, diffIdentityProvider: this.treeIdentityProvider }); </del> <ins> await this.tree.updateChildren(undefined); </ins> } if (focusedInput) {
Change:
Use "Github Light Theme" from the sparkle lightbulb seems to be the same color as the editor background <img width="212" alt="Screenshot 2023-12-01 at 10 42 28" src=""
I can decrease the value of the lightening factor. This will however mean that the sparkles will be darker on other light themes.

Discussion:
*/ export const editorLightBulbForeground = registerColor('editorLightBulb.foreground', { dark: '#FFCC00', light: '#DDB100', hcDark: '#FFCC00', hcLight: '#007ACC' }, nls.localize('editorLightBulbForeground', "The color used for the lightbulb actions icon.")); export const editorLightBulbAutoFixForeground = registerColor('editorLightBulbAutoFix.foreground', { dark: '#75BEFF', light: '#007ACC', hcDark: '#75BEFF', hcLight: '#007ACC' }, nls.localize('editorLightBulbAutoFixForeground', "The color used for the lightbulb auto fix actions icon.")); <del> export const editorLightBulbAiForeground = registerColor('editorLightBulbAi.foreground', { dark: darken(iconForeground, 0.4), light: lighten(iconForeground, 1.7), hcDark: iconForeground, hcLight: iconForeground }, nls.localize('editorLightBulbAiForeground', "The color used for the lightbulb AI icon.")); </del> <ins> export const editorLightBulbAiForeground = registerColor('editorLightBulbAi.foreground', { dark: darken(iconForeground, 0.4), light: lighten(iconForeground, 1), hcDark: iconForeground, hcLight: iconForeground }, nls.localize('editorLightBulbAiForeground', "The color used for the lightbulb AI icon.")); </ins> /** * Diff Editor Colors
Change:
Type: <bBug</bPer this is a new issue related to issue . Currently in insiders, the tab with focus will be the one moved or copied into new window via context menu, even when I right-click on a different tab. I can understand the user NOT wanting right-click of non-focused tab to give it focus, but intuitively, it seems you'd want the context menu to act on the tab you right-clicked, regardless if the tab is the one with focus or not. VS Code version: Code - Insiders 1.85.0-insider (, 2023-12-01T14:17:40.644Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (7)</summaryExtensionVersion ------ remote-containers0.326.0 remote-ssh0.107.1 remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.25.0 remote-explorer0.4.1 remote-server1.5.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Discussion:
override async run(accessor: ServicesAccessor, resourceOrContext?: URI | IEditorCommandsContext, context?: IEditorCommandsContext): Promise<void> { const editorGroupsService = accessor.get(IEditorGroupsService); const { group } = resolveCommandsContext(editorGroupsService, getCommandsContext(resourceOrContext, context)); editorGroupsService.toggleMaximizeGroup(group); }

}); } <del> override async run(accessor: ServicesAccessor): Promise<void> { const editorService = accessor.get(IEditorService); </del> <ins> override async run(accessor: ServicesAccessor, resourceOrContext?: URI | IEditorCommandsContext, context?: IEditorCommandsContext) { </ins> const editorGroupService = accessor.get(IEditorGroupsService); <del> const activeEditorPane = editorService.activeEditorPane; if (!activeEditorPane) { return; } </del> <ins> const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context)); if (group && editor) { const auxiliaryEditorPart = await editorGroupService.createAuxiliaryEditorPart(); </ins> <del> const auxiliaryEditorPart = await editorGroupService.createAuxiliaryEditorPart(); </del> <ins> if (this.move) { group.moveEditor(editor, auxiliaryEditorPart.activeGroup); } else { group.copyEditor(editor, auxiliaryEditorPart.activeGroup); } </ins> <del> if (this.move) { activeEditorPane.group.moveEditor(activeEditorPane.input, auxiliaryEditorPart.activeGroup); } else { activeEditorPane.group.copyEditor(activeEditorPane.input, auxiliaryEditorPart.activeGroup); </del> <ins> auxiliaryEditorPart.activeGroup.focus(); </ins> } <del> auxiliaryEditorPart.activeGroup.focus(); </del> } }
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.84.2 OS Version: Ubuntu 23.04 a text editor the command palette the command the color picker is visible, press to hide the color picker that two click event listeners have been , but not been removed:
Good catch, thanks a lot for the PR

Discussion:
const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize('closeIcon', 'Icon to close the color picker'))))); closeButton.classList.add('close-icon'); <del> this._button.onclick = () => { </del> <ins> this._register(dom.addDisposableListener(this._button, dom.EventType.CLICK, () => { </ins> this._onClicked.fire(); <del> }; </del> <ins> })); </ins> } }

this._button = dom.append(container, document.createElement('button')); this._button.classList.add('insert-button'); this._button.textContent = 'Insert'; <del> this._button.onclick = e => { </del> <ins> this._register(dom.addDisposableListener(this._button, dom.EventType.CLICK, () => { </ins> this._onClicked.fire(); <del> }; </del> <ins> })); </ins> } public get button(): HTMLElement {
Change:
In web opening an aux window results in an exception.
Works fine for me now - only thing is that new copied windows don't have codicons. ! Also, was testing behavior vs. what we have on desktop in insiders, and noticed that on web we cannot copy a copied window, but not sure if this is intended or if it's even needed in real life scenarios. !
Yeah you have to disable popup blockers in web. I can see if we get the icon to work.

Discussion:
return getWindow(el).getComputedStyle(el, null); } <del> export function getClientArea(element: HTMLElement): Dimension { const elDocument = element.ownerDocument; const elWindow = elDocument.defaultView?.window; </del> <ins> export function getClientArea(element: HTMLElement, fallback?: HTMLElement): Dimension { const elWindow = getWindow(element); const elDocument = elWindow.document; </ins> // Try with DOM clientWidth / clientHeight if (element !== elDocument.body) {

return new Dimension(elDocument.documentElement.clientWidth, elDocument.documentElement.clientHeight); } <ins> if (fallback) { return getClientArea(fallback); } </ins> throw new Error('Unable to figure out browser width and height'); }

})); this._register(addDisposableListener(this.window, EventType.RESIZE, () => { <del> const dimension = getClientArea(this.window.document.body); </del> <ins> const dimension = getClientArea(this.window.document.body, this.container); </ins> position(this.container, 0, 0, 0, 0, 'relative'); size(this.container, dimension.width, dimension.height);

} layout(): void { <del> this._onDidLayout.fire(getClientArea(this.window.document.body)); </del> <ins> this._onDidLayout.fire(getClientArea(this.window.document.body, this.container)); </ins> } override dispose(): 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?: 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: 1.84.2 OS Version: win10 Steps to Reproduce: Theme: Dark Modern two cpp files in the workspace, move the tabs upwards and downwards respectively. +N, Open a new Tab, and copy some content into it. Move the tabs upwards and downwards respectively. When I move tabs downwards, the edge color disappears. Another sample This issue can be reproduced in vscode-insider
I'm not able to reproduce this. Can you check if you see an error in the dev console? Run the command and check the console for errors.
You can try with a larger cpp file, simply copy code to many lines. Drag the tab down to change the tab's position
It seems the tab scrolls down, so the color bar is blocked
I was able to reproduce it now. The reason I was not seeing it was because it only appears at specific zoom levels. Looking into it...
Thanks for the help we were able to fix it
This problem seems to still exist in the latest vscode-insider. ("window.zoomLevel" : 0 ) 86.0-insider x64 With untitled tabs, the tab can be scrolled down and up, Besides, It seems that the .json file is an exception

Discussion:
.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit .monaco-icon-label, .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit .monaco-icon-label > .monaco-icon-label-container { <del> overflow: visible; /* fixes https://github.com/microsoft/vscode/issues/20182 */ </del> <ins> overflow-x: visible; /* fixes https://github.com/microsoft/vscode/issues/20182 by ensuring the horizontal overflow is visible */ </ins> } .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container,