jiebi/CodeConvo huggingface dataset:
Change:
"Ignore", "ignore" ], <del> "filenames": [ </del> <ins> "extensions": [ </ins> ".gitignore_global", ".gitignore" ],

Discussion:
Some extensions only apply languages to files with an exact name by default. They should instead include all files ending with the relevant extension, regardless of the prefix. Examples I found are: The npm extension applies the language only to files named exactly , e.g. not to The npm extension applies the language only to files named exactly , e.g. not to The git extension applies the language only to files named exactly , e.g. not The built-in file icon theme recognizes these files by their extension and shows the matching icons besides them, but some extensions don't apply the relevant language to it. A project might include multiple files of the same type in the same folder, and configure their tools to use one or the other, depending on the need. All of the files should have the correct language regardless of their filename, all that should matter is the file extension. Repro: Create and open a file named Expected: The language mode will be set to the "Ignore" language Actual: The language mode is "Plain Text"
Change:
import { Disposable, DisposableStore, dispose } from 'vs/base/common/lifecycle'; import * as env from 'vs/base/common/platform'; import * as strings from 'vs/base/common/strings'; <ins> import { withNullAsUndefined } from 'vs/base/common/types'; </ins> import { URI } from 'vs/base/common/uri'; import 'vs/css!./media/searchview'; import { getCodeEditor, ICodeEditor, isCodeEditor, isDiffEditor } from 'vs/editor/browser/editorBrowser';

Discussion:
Investigate removing Max results limitation for Search and replace results Currently we set max limit to . We need to investigate on lifting this.
Assigning this to you. I see that you are working on improving the performance for Search results. Currently we have an hard limitation of 2048. But we never measure what is the threshold. Since you are already exercising Search performance this would be a good one to look at. Thanks
I noticed . An improvement may be to not open all files in which terms were found and replaced. As a software engineer myself I sometimes have to make many changes (just today some 33k machine names in 280 XML files). Version 1.3.1 crashed on me, but even if it had worked, I would have stared at many open files. And there's no shortcut to "save all" and "close all" :( I had to revert to Notepad++, which simply makes the changes in-place on disk, without opening all files. Maybe doing something similar is an option?
This would be nice to fix/improve. I have to open Atom just to do find/replace.
There should at least be a warning telling the user that not all the occurrences have been replaced. It is very misleading when "Replace All" only replaces the first items.
Please increase this number or make it configurable
Same here. I'd like you to make the number configurable. I'd like to set this to "No Limit" also, hopefully.
The current upper bound for search in VSCode is occurrences. Is there a way to change it?
Please make this maximum / upper boundary configurable.
I wonder what is measuring? ! Also, when I set it to 2000, I see 4000 results show up when I search a single letter.
You will also get results in open files beyond the limit
This is a bit of a foot gun... Using some ridicules high value freeses VS Code eventually. Will create a separate issue for that
Change:
<ins> <?xml version='1.0' standalone='no' ?> <svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='10px' height='10px'> <style> circle { animation: ball 0.6s linear infinite; } circle:nth-child(2) { animation-delay: 0.075s; } circle:nth-child(3) { animation-delay: 0.15s; } circle:nth-child(4) { animation-delay: 0.225s; } circle:nth-child(5) { animation-delay: 0.3s; } circle:nth-child(6) { animation-delay: 0.375s; } circle:nth-child(7) { animation-delay: 0.45s; } circle:nth-child(8) { animation-delay: 0.525s; } @keyframes ball { from { opacity: 1; } to { opacity: 0.3; } } </style> <g style="fill:white;"> <circle cx='5' cy='1' r='1' style='opacity:0.3;' /> <circle cx='7.8284' cy='2.1716' r='1' style='opacity:0.3;' /> <circle cx='9' cy='5' r='1' style='opacity:0.3;' /> <circle cx='7.8284' cy='7.8284' r='1' style='opacity:0.3;' /> <circle cx='5' cy='9' r='1' style='opacity:0.3;' /> <circle cx='2.1716' cy='7.8284' r='1' style='opacity:0.3;' /> <circle cx='1' cy='5' r='1' style='opacity:0.3;' /> <circle cx='2.1716' cy='2.1716' r='1' style='opacity:0.3;' /> </g> </svg> </ins>

Discussion:
<!-- 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 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: OS Version: CPUs | Apple M1 (8 x 24) -- | -- GPU Status | 2dcanvas: enabled canvasooprasterization: disabledoff directrenderingdisplaycompositor: disabledoffok gpucompositing: enabled metal: disabledoff multiplerasterthreads: enabledon opengl: enabledon rasterization: enabled rawdraw: disabledoffok skiarenderer: enabledon videodecode: enabled videoencode: enabled webgl: enabled webgl2: enabled Load (avg) | 2, 2, 2 Memory (System) | 16.00GB (0.08GB free) Screen Reader | no VM | 0% Steps to Reproduce: in extensions the scroll gutter https://user-
Using the list widget underneath, hence assigning to
This happens because the list is paged and is loading each element from the network. Want to provide a better loading animation here?
Can we do something simple and use the loading icon animation? https://user-
What do you think
This is much better! Thank you for looking into this
Change:
const keys: Key[] = [ { id: 'explorer', <del> arrow: '&larr;', </del> <ins> arrow: 'u2190', // &larr; </ins> label: localize('welcomeOverlay.explorer', "File explorer"), command: 'workbench.view.explorer' }, { id: 'search', <del> arrow: '&larr;', </del> <ins> arrow: 'u2190', // &larr; </ins> label: localize('welcomeOverlay.search', "Search across files"), command: 'workbench.view.search' }, { id: 'git', <del> arrow: '&larr;', </del> <ins> arrow: 'u2190', // &larr; </ins> label: localize('welcomeOverlay.git', "Source code management"), command: 'workbench.view.scm' }, { id: 'debug', <del> arrow: '&larr;', </del> <ins> arrow: 'u2190', // &larr; </ins> label: localize('welcomeOverlay.debug', "Launch and debug"), command: 'workbench.view.debug' }, { id: 'extensions', <del> arrow: '&larr;', </del> <ins> arrow: 'u2190', // &larr; </ins> label: localize('welcomeOverlay.extensions', "Manage extensions"), command: 'workbench.view.extensions' },

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --The next step in resolving . The Trusted Types violation here is setting an HTMLElement’s text content by assigning it to . Because in all of the cases the HTMLElement is already created with function, the idea is to pass the text as its argument. That is to replace: with .
Change:
}); } <del> private updateInputCollaseElement(): void { </del> <ins> private updateInputCollapseElement(): void { </ins> this.removeInputCollapsePreview(); const richEditorText = this.getRichText(this.viewCell.textBuffer, this.viewCell.language); const element = DOM.$('div');

Discussion:
<!-- 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.59-Insider OS Version: Windows 10 Steps to Reproduce: a notebook a cell cells are rotated 270 degrees. Seems to be because we use the 'collapsed' classname for cell collapse, and loads a stylesheet which applies to the classname. This stylesheet is not loaded in desktop VS Code so the problem seems to only impact Codespaces This is particularly unfortunate for the interactive window because all code cell inputs are collapsed by default, but it also impacts any collapsed cell in native notebooks all up. !
I filed this a long time ago, but this is pretty bad, I will just change the styles to work around it in the meantime
fix proposal from
Change:
options.prune = prune; } <del> await this.run(Operation.Fetch, async () => this.repository.fetch(options)); </del> <ins> const operation = options.silent === true ? Operation.FetchNoProgress : Operation.Fetch; await this.run(operation, async () => this.repository.fetch(options)); </ins> } @throttle

Discussion:
<!-- 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.71.2 (system setup) OS Version: Windows_NT x64 10.0. Steps to Reproduce: When i run command, i don't know whether it is complete or not. There is no circle loading animation. !
It looks like, it was not do show progress while the operation is being executed. Thinking about it, I do think that if one has auto-fetch enabled it might be quite distracting to show progress every time the fetch operation is being run as part of auto-fetch. Having said that, I do think that it makes sense to show progress when is being executed explicitly. thoughts?
Agree.
Consider adding an option to decide whether to turn on the feature?
this progress indicator during a manual fetch would honour the setting.
Thank you, hope see the feature soon.
Change:
return this._editorModelReference.object.isDirty(); } <ins> override isSaving(): boolean { const model = this._editorModelReference?.object; if (!model || !model.isDirty() || model.hasErrorState || model.hasConflictState) { return false; // require the model to be dirty and not in error or conflict state } // if a short auto save is configured, treat this as being saved return this.filesConfigurationService.getAutoSaveMode() === AutoSaveMode.AFTER_SHORT_DELAY; } </ins> override async save(group: GroupIdentifier, options?: ISaveOptions): Promise<EditorInput | IUntypedEditorInput | undefined> { if (this._editorModelReference) {

Discussion:
Set auto save: afterDelay Edit a notebook See the dirty indicator briefly appear after editing
I guess this is
We never did that for custom editors because it requires code to ensure that an editor that is closed but pending to be saved via auto save is really waited upon on shutdown. To further explain: the behaviour is driven by method if you return from that method no dirty indicator will show up this means a user can close an editor with dirty changes as such, components have to ensure that the save continues in the background and even on shutdown Files implement this here: I think the reason we never adopted this for notebooks as that notebooks have a dual model: complex and simple. With simple (which is based on file working copies), we can probably implement this now similar to what files do, but it needs careful testing what happens when you close a notebook quickly enough before auto save finished.
We could revisit this once we remove complex notebook model and friends but the saving of notebooks is more complex than files and I wonder if it's worth it to implement this. Also the dirty indicator is also an indicator that saving is not done yet, which is valuable as saving notebooks is not necessarily instant. what do you think ?
I think it's ok to close if this is complicated. It's also a bit odd that if I edit and immediately close the tab, it asks me whether I want to save, when I've enabled autosave.
with your recent changes in and please take note of Specifically: being able to close an editor that is now not dirty because of auto-save may result in data loss if closing the editor disposes state that is needed for saving. Filed as planned for July. Nevertheless, I appreciate that you are willing to look into this issue
Change:
//#region Statusbar <del> private createStatusbarEntry(): void { const entry = this.getStatusbarEntry(this.workspaceTrustManagementService.isWorkspaceTrusted()); this.statusbarEntryAccessor.value = this.statusbarService.addEntry(entry, this.entryId, StatusbarAlignment.LEFT, 0.99 * Number.MAX_VALUE /* Right of remote indicator */); this.statusbarService.updateEntryVisibility(this.entryId, false); } </del> private getStatusbarEntry(trusted: boolean): IStatusbarEntry { const text = workspaceTrustToString(trusted);

Discussion:
While investigating the issue - - I figured out that entry is of size 46 KB and has around 1K properties. We should revisit this and understand why there are that many workspaceTrust entries and minimise it.
Workspace trust status bar entry does 2 things that are questionable: each entry gets a random identifier [0] the entry is programmatically hidden even if not created [1] If as a user I decide to hide the entry, I would hide it everywhere. [0] [1]
could you please chime in on this as I remember you working on this. Thanks!
This was the relevant message for what we were trying to achieve with the current design
Would it at least be possible to only create the entry when visible and if not, do not create and thus hiding is not needed? The underlying issue here is large amount of state accumulating for hidden trust entries. Typically only a user gesture would set the visibility to hidden, not programmatic as its done here.
I realize that justification talks about unspecified trust state, that is no longer a concept. We also have the banner now. Ok so we can: Only create an entry (unique id), if the entry will be visible (i.e. untrusted). User can hide with status bar UX. Con: User cannot make the entry visible in a trusted workspace if it was never loaded untrusted. We could go to a single entry id, so that visibility is linked across workspaces. Con: trusted workspaces would show if the user wanted to see when untrusted workspace. Single entry id, but dispose the entry when the workspace is trusted. Con: Can't manage the entry when in a trusted window (who cares, right?) I opened a PR for the last one
Yes, thats a great change, even though it causes a slight regression for people in untrusted workspaces that have explicitly hidden the indicator. It will now come back, but then its also easy to hide it again. Given the status bar entry ID is now no longer dynamic, we could actually now clean up the very large state in by removing all entries that are dynamic. I will see to make such a change. Thanks!
Change:
let versionId = this.versionId; this.trace(`doSave(${versionId}) - enter with versionId ${versionId}`); <ins> // Return early if saved from within save participant to break recursion // // Scenario: a save participant triggers a save() on the working copy if (this.ignoreSaveFromSaveParticipants) { this.trace(`doSave(${versionId}) - exit - refusing to save() recursively from save participant`); return; } </ins> // Lookup any running pending save for this versionId and return it if found // // Scenario: user invoked the save action multiple times quickly for the same contents

Discussion:
This is a follow-up from and describes the problem that save participants causing a save operation
reproduced when undoing some fixes (applying the fix below)
fyi
Change:
if (task.command.presentation && task.command.presentation.clear) { terminalToReuse.terminal.clear(); } <ins> this.terminals[terminalToReuse.terminal.id.toString()].lastTask = taskKey; </ins> return [terminalToReuse.terminal, commandExecutable, undefined]; }

Discussion:
Issue Type: <bBug</bLatest insider build, no extensions installed. Same issue on january 2019 update. No issue on december 2018 update. Once I have run a build task once, and closed the "build terminal" any subsequent builds will fail with the error "Failed to create terminal for task clean". If I do not close the build terminal I can run the build again. I get no output anywhere explaining what went wrong. The issue is on a dotnet core Azure functions app. tasks relevant if I comment out the I can build (without cleaning first), then remove the comment and build again, the clean task runs fine (because the terminal is now already spawned) output from developer tools console: VS Code version: Code - Insiders 1.32.0-insider (, 2019-02-06T21:10:41.427Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
Fix:
I found this problem too. (But for C++, though) Really hope a new release can come out soon. Thanks you guys.
I just updated the latest release and it contains this bug. Do you have stable tree or something that ensures that this kind of fresh bugs does not pop?
I just updated the latest release and it contains this bug. Do you have stable tree or something that ensures that this kind of fresh bugs does not pop?
what version do you have? This should be fixed starting with 1.31.1.
1.32.1
can you create a new issue with your repro steps? Since this issue was caused by a value not getting checked for existence it can't be the same root cause.
Change:
stat.isExcluded = true; const editors = this.editorService.visibleEditors; const editor = editors.find(e => e.resource && this.uriIdentityService.extUri.isEqualOrParent(e.resource, stat.resource)); <del> if (editor) { </del> <ins> if (editor && stat.root === this.explorerService.findClosestRoot(stat.resource)) { </ins> this.editorsAffectingFilter.add(editor); return true; // Show all opened files and their parents }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --Related Issues: <!-- 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. --- VS Code Version: 1.54.1 OS Version: Linux x64 5.8.0-44-generic Steps to Reproduce: a root folder (files-exclude-sample) that folder create two nested folders (child1, child2) root folder (files-exclude-sample), create a workspace definition file (files-exclude-) root folder (files-exclude-sample), create a .vscode folder .vscode folder create a file to previous steps, just clone this GitHub repo: VSCode, open the workspace (files-exclude-) looks ok. You have tree root folders (files-exclude-sample, child1 and child2) ! you expand all three folder you can see something like ! specified in root folder , child1 and child2 are excluded from child1 folder child1 folder is collapsed (not removed from explorer tree) and it appears inside root folder (files-exclude-sample) folder ! expected behavior is that child1 is not collapsed and it does not appear inside root folder <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --
the owner of the file explorer is
I acknowledge this issue. MR workspace support with when one root folder is a subfolder of another root folder has some issues. If somebody is passionate about fixing this let me know and I can provide pointers
Created fixing this
Thanks to a great pr by this is now fixed
Change:
import { ITerminalContributionService } from 'vs/workbench/contrib/terminal/common/terminalExtensionPoints'; export class TerminalQuickFixService implements ITerminalQuickFixService { <ins> declare _serviceBrand: undefined; private _selectors: Map<string, ITerminalCommandSelector> = new Map(); private _providers: Map<string, ITerminalQuickFixProvider> = new Map(); get providers(): Map<string, ITerminalQuickFixProvider> { return this._providers; } </ins> private readonly _onDidRegisterProvider = new Emitter<ITerminalQuickFixProviderSelector>(); readonly onDidRegisterProvider = this._onDidRegisterProvider.event; private readonly _onDidRegisterCommandSelector = new Emitter<ITerminalCommandSelector>(); readonly onDidRegisterCommandSelector = this._onDidRegisterCommandSelector.event; private readonly _onDidUnregisterProvider = new Emitter<string>(); readonly onDidUnregisterProvider = this._onDidUnregisterProvider.event; <del> _serviceBrand: undefined; _providers: Map<string, ITerminalQuickFixProvider> = new Map(); _selectors: Map<string, ITerminalCommandSelector> = new Map(); get providers(): Map<string, ITerminalQuickFixProvider> { return this._providers; } </del> constructor(@ITerminalContributionService private readonly _terminalContributionService: ITerminalContributionService) { this._terminalContributionService.quickFixes.then(selectors => {

Discussion:
Running out of sources I see this:
This means that the contribution isn't getting evaluated before is called. Not too familiar with how / when is handled, but we call when the is created
I think perhaps moving that to the top of the constructor (before registering the command handlers) will fix this
This happens on window open
and the quick fix does work for that extension !
Seeing this in error telemetry for Insiders from 12/23:
This is the 6th error by machines in telemetry https://vscode-
I cannot reproduce this in Insider's. did you notice this after doing anything in particular?
I got this error when using remote dev container <details<summaryWindow</summary</details
Fixed in
Actually still found it in my devtools today:
I can't reproduce, but I can simulate the race by adding to 's promise in
HI, im having the same problem here 2023-02-16 17:10:14.453 [error] Error: No registered selector for ID: ms- at R.registerQuickFixProvider (vscode-file://vscode-) at r.$registerQuickFixProvider (vscode-file://vscode-) at m.N (vscode-file://vscode-) at m.M (vscode-file://vscode-) at m.H (vscode-file://vscode-) at m.G (vscode-file://vscode-) at vscode-file://vscode- at g.invoke (vscode-file://vscode-) at n.deliver (vscode-file://vscode-) at a.fire (vscode-file://vscode-) at r.fire (vscode-file://vscode-) at Z.onmessage (vscode-file://vscode-) I got vs code 1.71.1 running on W11 21H2 How i am supposed to fix this, or it's not a problem and vs code is working normally? Thank you!
Update your VS code version, where this is fixed
Sorry, i typed incorrectly mi vs code version. It is the latest one 1.75.1, i reinstalled it today.
I can still reproduce in latest stabel 1.75.1 https://user-