jiebi/CodeConvo huggingface dataset:
Change:
async initialize(arg: IAnyWorkspaceIdentifier): Promise<void> { mark('code/willInitWorkspaceService'); <ins> const trigger = this.initialized; this.initialized = false; </ins> const workspace = await this.createWorkspace(arg); <del> await this.updateWorkspaceAndInitializeConfiguration(workspace); </del> <ins> await this.updateWorkspaceAndInitializeConfiguration(workspace, trigger); </ins> this.checkAndMarkWorkspaceComplete(false); mark('code/didInitWorkspaceService');

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?: not applicable <!-- 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.79.0-insider OS Version: Windows 11 x64 Steps to Reproduce: an extension that implements a FileSystemProvider and serves a file containing a setting. a workspace that uses this FSP. that the setting has no effect until the workspace is reloaded. I will prepare a branch of fsprovider-sample to demonstrate the issue.
Repro steps: project () and VSIX (). an empty profile and install the VSIX into it. no folder or workspace open, run . Explorer find and open that though this specifies a font size of 24 it is displayed in the default font size. and observe that the font size is now correct. !
/assign I will submit a PR to fix this.
<!-- 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!
/verified
Change:
this._validateTypeScript = tsConfig.get<boolean>('validate.enable', true); } <del> private shouldValidate(buffer: SyncedBuffer) { </del> <ins> private shouldValidate(buffer: SyncedBuffer): boolean { if (!this.client.configuration.enableProjectDiagnostics && !this._tabResources.has(buffer.resource)) { // Only validate resources that are showing to the user return false; } </ins> switch (buffer.kind) { case BufferKind.JavaScript: return this._validateJavaScript;

Discussion:
Issue Type: <bBug</bMoved off Steps to reproduce: code that generates a linting warning (in this case, should should generate an unused variable warning) the file, and then close it before the diagnostics appear Expected behavior: Diagnostics are not shown when the file is closed. Actual behavior: Diagnostics are sometimes shown when the file is closed, and will not disappear until I reload the window. Please note that I couldn't reproduce this behaviour reliably. Action gif: ! VS Code version: Code 1.46.1 (, 2020-06-17T21:17:14.222Z) OS version: Darwin x64 19.5.0 <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ bracket-pair-colorizer-20.2.0 gitlens10.2.2 prettier-vscode5.1.3 vscode-pull-request-github0.17.0 vscode-docker1.3.1 python2020.6. vscode-pylance2020.6.1 remote-containers0.122.1 remote-ssh0.51.0 remote-ssh-edit0.51.0 remote-wsl0.44.4 vscode-remote-extensionpack0.20.0 azure-account0.8.11 vscode-typescript-tslint-plugin1.2.3 vscode-icons10.1.1 (3 theme extensions excluded) </details<!-- generated by issue reporter --
Change:
req.setTimeout(options.timeout); } <ins> // Chromium will abort the request if forbidden headers are set. // Ref https://source.chromium.org/chromium/chromium/src/+/main:services/network/public/cpp/header_util.cc;l=14-48; // for additional context. if (options.isChromiumNetwork) { req.removeHeader('Content-Length'); } </ins> if (options.data) { if (typeof options.data === 'string') { req.write(options.data);

Discussion:
When requests from shared process are redirected to main, the main request service is throwing errors for some valid requests. The same request is working when using browser XHR in shared process. To reproduce: Start VS Code using fresh user data dir and extensions dir Enable this setting - this is an internal developer setting, so you have to set manually in the file Turn on settings sync using your insiders settings sync service (Disable syncing settings) Extensions Syncing fails because of above error cc
What is the exact request URL and headers? We should be able to reproduce in a Electron fiddle maybe.
is an error from the chromium network stack, it happens when the request contains one of the following forbidden headers ;l=22-48
Here is the request info URL: Headers: Payload:
Are we setting the header ? The runtime will add that during payload upload, but if we override it then it will cause the above error.
Yes, we are
BTW we do the same request also in the renderer for querying extensions, so does removing the impacts the request in the renderer that uses XHR ?
Just tried removing the header and I am getting following error
The header will get by the runtime for payload requests, you should be able to confirm after removing the header. So, I don't think it will impact requests from renderer via XHR Hmm, why is zlib module being involved ? Are we using request API by any chance ?
We are not using request. Request service in main extends Node request service and pass electron net request API to Node request service for making request. See here: While handling the response, Node request service is checking for header and using zlib if it is set to . See here: May be main request service shall not use node request service at all?
Possibly an easier repro that was discovered by is calling the command also fails with the same network error. You should be able to do this via an extension
Can we now also make sure to go back to the Electron solution for maybe insiders to validate it works over some time?
Enabled -
Change:
} quickPick.hide(); <del> }); </del> <ins> })); </ins> <del> quickPick.onDidHide(() => { </del> <ins> localDisposableStore.add(quickPick.onDidHide(() => { </ins> kernelDetectionTaskListener.dispose(); kernelChangeEventListener.dispose(); quickPick.dispose(); resolve({ selected: undefined, items: quickPick.items as KernelQuickPickItem[] }); <del> }); </del> <ins> })); </ins> quickPick.show(); }); <ins> localDisposableStore.dispose(); </ins> if (pick.selected) { return await this._handleQuickPick(editor, pick.selected, pick.items); }

Discussion:
Note that quick pick instances and their events are disposables. Noticed a few cases of missing:
Change:
<ins> # Comment title = "TOML Example" [owner] name = "Tom Preston-Werner" dob = 1979-05-27T07:32:00-08:00 # First class dates </ins>

Discussion:
I have found as a related issue, but that seems to only tackle support in markdown files. I am suggesting that VSCode support the file extension. It should be very similar to the syntax, and is something I would be willing to tackle in a PR.
Yes, we would take a PR for this. Look at the or the extensions for examples. We pull in the grammars used in these extension from existing repos so that we don't have to maintain them in the VS Code repo. Both the or the extensions provide examples of this in their npm script
Perfect. I have found: , and will submit a PR later today. Thanks for the tip
After further discussion with the VS Code team, we have decided to revert this addition with See that commit for an explanation of why we feel this is the correct decision for guiding users to a better toml experience and for maintaining VS Code itself
Change:
private _scrollToMarker(marker: IMarker, position: ScrollPosition): void { let line = marker.line; if (position === ScrollPosition.Middle) { <del> line = Math.max(line - this._xterm.rows / 2, 0); </del> <ins> line = Math.max(line - Math.floor(this._xterm.rows / 2), 0); </ins> } this._xterm.scrollToLine(line); }

Discussion:
! <img width="714" alt="Screen Shot 2019-06-24 at 11 01 18 AM" src="https://user-"
<img width="646" alt="Screen Shot 2019-06-24 at 11 03 29 AM" src="https://user-"
Source maps appear to be messed up, it's probably talking about ?
Repro on mac: cmd+shift+up
I think the bug here is actually related to markers/command tracking selection, rather than the dom renderer.
Don't think this was a regression, just always happened when terminal rows were odd
Change:
import { IMenuService, MenuId, IMenu } from 'vs/platform/actions/common/actions'; import { fillInContextMenuActions } from 'vs/platform/actions/browser/menuItemActionItem'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; <del> import { ExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel'; </del> <ins> import { ExplorerItem, NewExplorerItem } from 'vs/workbench/contrib/files/common/explorerModel'; </ins> import { onUnexpectedError } from 'vs/base/common/errors'; import { ResourceLabels, IResourceLabelsContainer } from 'vs/workbench/browser/labels'; import { createFileIconThemableTreeContainerScope } from 'vs/workbench/browser/parts/views/views';

Discussion:
Issue Type: <bBug</bExplorer asks to input file name for a new file on the wrong level after pressing <kbdEscape</kbdbutton. On the gif file below we have focus on directory, but input field created on the root level of the project. ! asks to create this issue. Related issue is Keyboard navigation: simple. Extension to switching keyboard context is installed. VS Code version: Code - Insiders 1.32.0-insider (, 2019-02-22T08:34:22.116Z) OS version: Darwin x64 18.2.0 <details<summarySystem Info</summary </details<details<summaryExtensions (1)</summaryExtensionVersion ------ atom-keybindings3.0.6 </details<!-- generated by issue reporter --
My understanding is that this is because keyboard navigation still attempts to select the nearest file beginning with when you press , and that the “create file” action is only triggered secondary to that, so the focus has already shifted when the file is created. Super annoying.
Change:
} focus(): void { <del> if (this.activeElement) { this.activeElement.focus(); } </del> <ins> this.activeElement?.focus(); </ins> } showFind(): void { <del> if (this.activeElement && (<Webview>this.activeElement).showFind) { (<Webview>this.activeElement).showFind(); } </del> <ins> this.activeWebview?.showFind(); </ins> } runFindAction(previous: boolean): void { <del> if (this.activeElement && (<Webview>this.activeElement).runFindAction) { (<Webview>this.activeElement).runFindAction(previous); </del> <ins> this.activeWebview?.runFindAction(previous); } public get activeWebview(): Webview | undefined { if (!this.activeElement || !(this.activeElement as Webview).runFindAction) { return undefined; </ins> } <ins> return this.activeElement as Webview; </ins> } private onNavbarChange(extension: IExtension, { id, focus }: { id: string | null, focus: boolean }, template: IExtensionEditorTemplate): void {

Discussion:
A lot of extensions have configuration code. It is extremely annoying that since some version ago we are unable to copy anything from that pane, mouse or keyboard. Steps to reproduce: Go to extension description Try to copy something Video:
See I'm surprised that you can't copy using the keyboard. What key sequence are you using? What command(s) does your Keyboard Shortcuts page show that bound to?
Im using the usual cmd+c which works in other apps. And cmd+c also works in the editor mode, terminal mode - so i think its not my key bindings customization. I recorded video in presenter mode (displaying what i press) showing copying something else + not working for ext description:
Change:
} /* Make icons and text the same color as the list foreground on focus selection */ <del> .debug-pane .monaco-list:focus .monaco-list-row.selected .state > .label, .debug-pane .monaco-list:focus .monaco-list-row.selected.focused .state > .label, </del> <ins> .debug-pane .monaco-list:focus .monaco-list-row.selected .state.label, .debug-pane .monaco-list:focus .monaco-list-row.selected.focused .state.label, </ins> .debug-pane .monaco-list:focus .monaco-list-row.selected .codicon, .debug-pane .monaco-list:focus .monaco-list-row.selected.focused .codicon { color: inherit !important;

Discussion:
Testing Badge should use text ellipsis when there is not enough room to display the full message: !
Good catch. Yes, we should improve this.
Not for endgame since we always behaved like this. Moving out of milestone and opening up for PRs. Code pointer
Change:
c(this._escapeNonWindowsPath(stdout.trim())); }); return; <ins> } else if (hasSpace && (exe.indexOf('powershell') !== -1)) { c('& '' + path + '''); </ins> } else if (hasSpace) { c('"' + path + '"'); } else {

Discussion:
Issue Type: <bBug</bWhile testing steps windows an html file called the file the terminal menu, select bug This command executes in the terminal. For powershell at least, this does nothing. If the file does not have a space, then we run which opens a web browser VS Code version: Code - Insiders 1.29.0-insider (, 2018-10-31T06:19:46.141Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<!-- generated by issue reporter --
do you have a suggestion of what should happen for powershell?
You'll want the which should do what you want:
This issue doesn't just apply to Windows but any OS that uses PowerShell.
thanks for the info
Change:
styleNames.push('code-italic'); } else if (code === 4) { styleNames.push('code-underline'); <del> } else if ((code >= 30 && code <= 37) || (code >= 90 && code <= 97)) { styleNames.push('code-foreground-' + code); } else if (code === 39) { // Remove all foreground colour codes </del> <ins> } else if (code === 39 || (code >= 30 && code <= 37) || (code >= 90 && code <= 97)) { // Remove all previous foreground colour codes </ins> styleNames = styleNames.filter(style => !style.match(/^code-foreground-d+$/)); <del> } else if ((code >= 40 && code <= 47) || (code >= 100 && code <= 107)) { styleNames.push('code-background-' + code); } else if (code === 49) { // Remove all background colour codes </del> <ins> if (code !== 39) { styleNames.push('code-foreground-' + code); } } else if (code === 49 || (code >= 40 && code <= 47) || (code >= 100 && code <= 107)) { // Remove all previous background colour codes </ins> styleNames = styleNames.filter(style => !style.match(/^code-background-d+$/)); <ins> if (code !== 49) { styleNames.push('code-background-' + code); } </ins> } }

Discussion:
Version: 1.33.0-insider (user setup) Commit: Date: 2019-03-13T06:18:20.237Z Electron: 3.1.6 Chrome: 66.0.3359.181 10.2.0 V8: 6.6.346.32 OS: Windows_NT x64 10.0. When coloring debug console output with ANSI escape codes, VSCode will not always properly handle new colors. Instead, it seems to apply a hierarchy of colors where, for example, white will override any other succeeding colors. For example, printing the following string: Results in this output in VSCode: ! Powershell, on the other hand, handles this properly: !
Dup of some of these
I don't see which one it would be a duplicate of. is about a different format, is related to theming and colors, and relate to other locations in the program (not the Debug Console).
How about this one And here's a broader list
is about support for a different format for color codes. This specific bug notes that the colors I am trying to use are supported and rendered, but not handled properly when multiple colors are used in succession. I don't see it in that list either.
Ok, let's reopen this one.
We accept PR's that fix this. Code pointer
I'll work on it, thanks!
Make sure to add tests here
Change:
} }); <ins> // propagate vscode-context-menu-visible class hostMessaging.onMessage('set-context-menu-visible', (_event, data) => { const target = getActiveFrame(); if (target && target.contentDocument) { target.contentDocument.body.classList.toggle('vscode-context-menu-visible', data.visible); } }); </ins> hostMessaging.onMessage('set-title', async (_event, data) => { const target = getActiveFrame(); if (target) {

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?: N/a <!-- 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: Version: 1.77.3 Commit: Date: 2023-04-12T09:16:02.548Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.77.3 Chrome/102.0.5005.196 Electron/19.1.11 Safari/537.36 OS Version: Steps to Reproduce: click a file in the Explorer. The background color of the row changes from blue to grey. Esc to close the context menu. The background color changes back. is not possible to emulate with an extension using a webview context menu. Fixed by my PR
<!-- 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!
I'll verify this.
<img width="320" alt="image" src=""<img width="334" alt="image" src=""I can confirm that on that there is a style change when right-clicking a file in the Explorer. But it's not the one described, the text colour changes slightly (this may be a theme difference). What's an extension that uses a file list in a web view that I can verify?

I think any webview context menu should work for this, not necessarily a file list.
They would need to add a CSS rule with the new class name to make an actual change in visual appearance. You can verify the class is applied on the body element using the Webview Developer Tools.
this could probably be edited
Here's a snippet from my project, the selector doesn't work while the context menu is up, so I repeat the same rules with
Oh, and the original issue was reported with the previous default theme.
Thanks
Change:
} const commands = new Map((extension.description.contributes?.commands ?? []).map(c => [c.command, c])); for (const contribution of extension.value) { <del> if (!contribution.command || !contribution.group || !contribution.when) { </del> <ins> if (!contribution.command || !contribution.when) { </ins> continue; } const fullCommand = commands.get(contribution.command);

Discussion:
Testing Clone a git repository Open git repository in VS Code desktop Make a change to one or more files Invoke the command You are presented with an empty picker <img width="736" alt="image" src="https://user-"
Change:
return; // already about to close } <del> if (this.flushDelayer) { return this.flushDelayer.trigger(() => this.doSave()); } return this.doSave(); </del> <ins> return this.flushDelayer.trigger(() => this.doSave()); </ins> } private async doSave(): Promise<void> {

Discussion:
I noticed how we seem to be having a that is only used in : In that case we seem to not be using a for writing. But that will have pretty bad consequences because it can leave calls hanging even after . The unit test failure here actually shows it: I think this might have been introduced via
This strategy was introduced by I do not remember why we need immediate in server. I saw your change and I hope flush delayer for immediate should work.
I think the importance here is to always use the delayer, even when its with a delay of , because it was not only used to delay the saves, but also to aggregate them
Change:
} async openEditor(instance: ITerminalInstance, sideGroup: boolean = false): Promise<void> { <del> const input = this.getOrCreateEditorInput(instance); const editorPane: IEditorPane | undefined = await this._editorService.openEditor(input, { pinned: true, forceReload: true }, sideGroup ? SIDE_GROUP : input.group); input.setGroup(editorPane?.group); </del> <ins> const resource = this.resolveResource(instance); if (resource) { await this._editorService.openEditor({ resource: URI.revive(resource), options: { pinned: true, forceReload: true } }, sideGroup ? SIDE_GROUP : undefined); } </ins> } <del> getOrCreateEditorInput(instanceOrUri: ITerminalInstance | DeserializedTerminalEditorInput | URI, isFutureSplit: boolean = false): TerminalEditorInput { </del> <ins> resolveResource(instanceOrUri: ITerminalInstance | URI, isFutureSplit: boolean = false): URI { </ins> const resource: URI = URI.isUri(instanceOrUri) ? instanceOrUri : instanceOrUri.resource; const inputKey = resource.path; const cachedEditor = this._editorInputs.get(inputKey); <del> if (cachedEditor) { return cachedEditor; } if ('pid' in instanceOrUri) { instanceOrUri = this._terminalInstanceService.createInstance({ attachPersistentProcess: instanceOrUri }, TerminalLocation.Editor); </del> <ins> if (cachedEditor) { return cachedEditor.resource; </ins> } // Terminal from a different window

Discussion:
Context: Essentially instead of creating s we will assign URIs to the shell launch configs and only create the terminals when the input is created.
This should also include the fix for splitCwd support in terminal editors:
Change:
StartupTimings, LifecyclePhase.Eventually ); <ins> Registry.as<IConfigurationRegistry>(ConfigExt.Configuration).registerConfiguration({ id: 'application', order: 100, type: 'object', 'properties': { 'application.experimental.rendererProfiling': { type: 'boolean', default: false, markdownDescription: localize('experimental.rendererProfiling', "When enabled slow renderers are automatically profiled") } } }); </ins>

Discussion:
Since long we automatically profile the extension host when it becomes unresponsive. In that cases we send a signal via telemetry and in bad cases we ask users to file issues. During that we ask them to attach the corresponding profile but we have mixed results with that. So, in addition to the existing flow we want to log a richer telemetry event that uploads the heaviest sample trace from the profiling