jiebi/CodeConvo huggingface dataset:
Change:
assert.deepStrictEqual(single.collectDiff(), [ { op: TestDiffOpType.Update, <del> item: { extId: new TestId(['ctrlId', 'id-a']).toString(), expand: TestItemExpandState.Expanded, item: { label: 'Hello world' } }, </del> <ins> item: { extId: new TestId(['ctrlId', 'id-a']).toString(), item: { label: 'Hello world' } }, </ins> }, { op: TestDiffOpType.DocumentSynced,

Discussion:
My extension's has a that replaces all root items whenever it is called. It calls the same function that creates the items upon extension activation. After the is run, I've verified that the correct root items have been created with set to . However, when the user tries to expand the item, the is not called on that item and no children are created. This simple extension demonstrates the bug: Steps to Reproduce: the extension above. It should immediately activate after the window refresh. the text explorer and observe the root item. Expand it to reveal two children. the Output channel to see that the resolve handler was called. the refresh icon and verify that "Refreshing" was written to the Output channel. to expand the new root. Verify that the resolve handler was never called. VS Code Version: 1.87.2
Thanks for triaging this Do you anticipate this being resolved before the next release? If not, do you have a recommended workaround I should try to implement in my extension?
A fix for this would be highly appreciated. This bug is a major annoyance for my daily work I started creating a new issue for , but googled first and found this one instead I even "fixed" the issue by adding the following line into the refreshHandler Like so: testController.refreshHandler = () ={ replaceRootTestItems(testController); ((item) =testController.resolveHandler(item)); };
Thanks for the tip I'll give that a try as a workaround.
<!-- 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
Thanks!
Thanks for fixing this!
Change:
unset IFS fi for ((i = 0; i < ${#ADDR[@]}; i++)); do <del> # unset IFS </del> <ins> (exit ${__vsc_status}) </ins> builtin eval ${ADDR[i]} done __vsc_precmd

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: 1.67.2 OS Version: WSL, 'regular' Linux, Mac Steps to Reproduce: Turn on experimental shell integration () bash as the shell, and have a prompt command that uses "$?" as part of the prompt text. the command 'true' the command 'false' that the prompts should have had '0' and '1' as the replacement. it is always '0' with shell integration. OK. In the function , consider this loop: And perhaps something like this might fix it: is probably a really hacky way to set $? - but it's what I've used over the years. Note: This all goes away if were to be accepted.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.67.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Since I think we have already actioned this may not be a problem anymore
I suspect it will still be a problem. would only have addressed the issue if were adopted as it goes to great lengths to preserve state variables. Since the fix in was to bascially push/pop the trap DEBUG state, it probably doesn't help the exit $? status retention around the wrapped prompt.
good to know, thanks
to verify: add to your and with shell integration enabled, ensure that it is correct. for ex, run a command which fails (has an exit code). the status should reflect that.
Yes.

This bug, as reported - without a DEBUG trap is fixed. So this can probably be closed. It still seems to be incorrect if there is a DEBUG trap in place. I have details to
Change:
} } <del> const weight = KeybindingWeight.EditorContrib + 10000; </del> <ins> const weight = KeybindingWeight.EditorContrib; </ins> export class FocusStickyScroll extends EditorAction2 {

Discussion:
Testing around an open file in the editor with Stick Scroll enabled. Sticky Scroll Try to move focus out of Sticky Scroll. Tried pressing . Tried running "Focus Sticky Scroll" command a second time. Only way to get focus back to the editor is to select a level and press . I think should put you back into the editor
Change:
} data = this.mixInCommonPropsAndCleanData(data || {}); if (!this._inLoggingOnlyMode) { <del> this._sender.sendEventData(eventName, data); </del> <ins> this._sender?.sendEventData(eventName, data); </ins> } this._logger.trace(eventName, data); }

Discussion:
Testing Given this code: I was expecting my event handlers not to fire since the logger is disposed, but they still fire.
This still repros for me <img width="1210" alt="image" src="https://user-"
Change:
} } <del> class EscapeFocusHoverAction extends EditorAction { constructor() { super({ id: 'editor.action.escapeFocusHover', label: nls.localize({ key: 'escapeFocusHover', comment: [ 'Action that allows to escape from the hover widget with the escape command when the hover widget is focused.' ] }, "Escape Focus Hover"), alias: 'Escape Focus Hover', precondition: EditorContextKeys.hoverFocused, kbOpts: { kbExpr: EditorContextKeys.hoverFocused, primary: KeyCode.Escape, weight: KeybindingWeight.EditorContrib } }); } public run(accessor: ServicesAccessor, editor: ICodeEditor): void { const controller = ModesHoverController.get(editor); if (!controller) { return; } controller.escape(); } } </del> registerEditorContribution(ModesHoverController.ID, ModesHoverController, EditorContributionInstantiation.BeforeFirstInteraction); registerEditorAction(ShowOrFocusHoverAction); registerEditorAction(ShowDefinitionPreviewHoverAction);

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 <!-- 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 Insiders Version: VS Code Version: OS Version: Ubuntu 22.04.2 LTS Steps to Reproduce: This issue is identical to which was supposedly fixed by . I do not have a windows machine atm, so I cannot test if this is exclusively an issue with the snap-installed version of vscode, but I highly doubt it is. does give focus back to editor, but that's just a workaround.
Hi thanks for filing the issue. It appears this is a regression from the previous work done on making the hover resizable. A fix will be made.
Change:
import { Codicon } from 'vs/base/common/codicons'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { IEditorResolverService } from 'vs/workbench/services/editor/common/editorResolverService'; <del> import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite'; </del> import { EditorOpenSource } from 'vs/platform/editor/common/editor'; import { ResourceMap } from 'vs/base/common/map'; import { isInputElement } from 'vs/base/browser/ui/list/listWidget';

Discussion:
Does this issue occur when all extensions are disabled?: Yes Version: 1.84.2 (user setup) Commit: Date: 2023-11-09T10:51:52.184Z Electron: 25.9.2 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: WindowsNT x64 10.0. Steps to Reproduce: ! also causes to fail. Related issues: Workarround: call
I cannot reproduce, so you just move views around a bunch until the explorer disappears? Do you have any extension?
Yes, Make Folders appear independently and move Explorer into Folders. I expect view back to Explorer include Folders instead of Explorer eventually disappearing. Explorer disappearing can cause other problems, including but not limited to fail. fail. As I said at the beginning: I can even reproduce it in a completely fresh installation of the macOS version of vscode without any extensions installed. !
Okay so I can see that refresh explorer doesn't work in this case, that's for sure. I cannot get folders to completely disappear
In fact, what disappeared was the label . After the move, Its position is replaced by . The folder tree itself is not affected. As shown in the picture, the MOVIES folder contents can still be browsed, but its label(or button anyway) in activity bar is from to . The view hierarchy relationship changes from: Explorer Folders Open editors timeline outline to: Folders Open editors timeline outline The ability to browse folders itself is not affected, but those commands bound to or target to will be invalid. This is also the root cause of .
It's going to be confusion but "Explorer" is actually the container while "Folders" is what we call the view. So when you move Folders out of the explorer it creates its own container called "Folders" and this is working as intended. is a different root cause, but there's definitely a bug here around refresh and other explorer commands. Thanks for the find!
To verify: the folder view (the file tree structure) somewhere else separate from the explorer view container refresh explorer You should stay on the folder view and not be moved to a different view container. You should also see the refresh properly occur.
Change:
// Return early if file is too large to load and we have configured limits if (options?.limits) { if (typeof options.limits.memory === 'number' && totalBytesRead > options.limits.memory) { <del> throw createFileSystemProviderError(localize('fileTooLargeForHeapError', "To open a file of this size, you need to restart and allow it to use more memory"), FileSystemProviderErrorCode.FileExceedsMemoryLimit); </del> <ins> throw createFileSystemProviderError(localize('fileTooLargeForHeapError', "To open a file of this size, you need to restart and allow {0} to use more memory", product.nameShort), FileSystemProviderErrorCode.FileExceedsMemoryLimit); </ins> } if (typeof options.limits.size === 'number' && totalBytesRead > options.limits.size) {

Discussion:
Issue Type: <bBug</bWhat's "it" here? I assume it means VS Code. Should probably be explicit. VS Code version: Code 1.55.2 (, 2021-04-13T09:36:32.643Z) OS version: Darwin x64 19.6.0 <details<summarySystem Info</summary </details<details<summaryExtensions (6)</summaryExtensionVersion ------ vscode-sqlite0.12.0 rainbow-csv1.8.1 dotenv1.0.1 vscode-js-profile-flame0.0.15 material-icon-theme4.6.0 rewrap1.14.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
import { localize } from 'vs/nls'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { ConfigurationTarget, IConfigurationService } from 'vs/platform/configuration/common/configuration'; <del> import { ContextKeyExpression, ContextKeyInfo, ContextKeyValue, IContext, IContextKey, IContextKeyChangeEvent, IContextKeyService, IContextKeyServiceTarget, IReadableSet, RawContextKey, SET_CONTEXT_COMMAND_ID } from 'vs/platform/contextkey/common/contextkey'; </del> <ins> import { ContextKeyExpression, ContextKeyInfo, ContextKeyValue, IContext, IContextKey, IContextKeyChangeEvent, IContextKeyService, IContextKeyServiceTarget, IReadableSet, RawContextKey } from 'vs/platform/contextkey/common/contextkey'; </ins> import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; const KEYBINDING_CONTEXT_ATTR = 'data-keybinding-context';

Discussion:
This came from vscode-docs issue customer comment "The biggest missing documentation for extensions is the lack of setContext here " Should we add the description and metadata so that it will be part of the _generateCommandsDocumentation output?
FYI I would love this. At the same time, could we think about adding the corollary ? The number of hoops that need to be jumped through to get the right context make things very difficult (and other impossible). Here is a concrete example. In GitLens, I have commands that navigate forward and backward through revisions. The current diff editor behavior make these difficult to implement well -- leaving aside the details there, to work around it one solution I've come up with is duplicating those 2 commands, 1 for normal editors and 1 for diff editors. And then I have to duplicate all the placements ( and and then have the command behave appropriately based on the context. Alternatively, if there was a type api, I could avoid all of that, and just look up in my existing command and do the right thing. Way less complexity and explosion of commands and placements. Please?
I am also very concerned about this issue. I found the when I'm reading the source code of , but I didn't find it in , but in the . I hope the official team can fix this issue soon. Best wishes. : )
Like I found use of in the samples () and the 2016 update documentation. 2016 blog reference, but not in API docs and this issue has been open more than a year? Is it maybe considered "proposed API"?
seems like the issue belongs to , right?
same here too... unfortunately documentation is falling behind!
examples to Command Extension Guide with
Why is this still open? Are we happy that it is documented in the docs?
Change:
}); test('issue #61296: VS code freezes when editing CSS file with emoji', async function () { <del> let toDispose = LanguageConfigurationRegistry.register(modeService.getLanguageIdentifier('fooLang')!, { </del> <ins> disposableStore.add(LanguageConfigurationRegistry.register(modeService.getLanguageIdentifier('fooLang')!, { </ins> wordPattern: /(#?-?d*.dw*%?)|(::?[w-]*(?=[^,{;]*[,{]))|(([@#.!])?[w-?]+%?|[@#!.])/g <del> }); </del> <ins> })); </ins> snippetService = new SimpleSnippetService([new Snippet( ['fooLang'], 'bug',

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --Version: 1.49.0-insider Commit: Date: 2020-08-17T17:11:16.078Z (1 day ago) Electron: 9.2.0 Chrome: 83.0.4103.122 12.14.1 V8: 8.3.110.13-electron.0 OS: Darwin x64 19.6.0 Steps to Reproduce: Add the following python snippet: or PowerShell snippet: : which will cause auto-closing pair... (at this point you have where is the cursor) add a or and hit TAB or ENTER on the intellisense item NOTE THE TRAILING . Snippets and auto-closing pairs should play nice together so that the whole experience generates valid code. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Here's a javascript example for array destructuring: which gets you: when you type:
better example! A javascript example for : which gets you: when you type:
for verification, this: should get you: on insert mode replace (default is SHIFT + ENTER)
I'll note that it works fine in non-json files, but is reversed in a json file (as are the insert/replace hints in the suggestion box). W10
that seems like a separate issue not related to this fix. Can you open a new issue?
Yes, I'll open another issue.
Change:
title: localize('workbench.action.terminal.runActiveFile', "Run Active File"), icon: Codicon.run }, <del> group: 'execute', </del> <ins> group: 'navigation', </ins> order: 5, when: ContextKeyExpr.equals('view', TERMINAL_VIEW_ID), isHiddenByDefault: true

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. --VS Code has always been able to clear Terminal only by binding shortcuts or shortcut menus. When debugging server logs, we will often need to clear the logs, and Chrome DevTools provides a separate button for that as well. I can submit a PR for this. ! !
This is actually already a feature but recently regressed. Clear Terminal is in the overflow menu, and in the next release you'll be able to right click to show it in the panel again: !
Change:
const scrollHeight = this.view.scrollHeight; const scrollTop = this.getViewScrollTop(); const wrapperBottom = this.getViewScrollBottom(); <del> const topInsertToolbarHeight = this._viewContext.notebookOptions.computeTopInsertToolbarHeight(this.viewModel?.viewType); this.view.setScrollTop(scrollHeight - (wrapperBottom - scrollTop) - topInsertToolbarHeight); </del> <ins> this.view.setScrollTop(scrollHeight - (wrapperBottom - scrollTop)); </ins> } //#region Reveal Cell synchronously

Discussion:
enough cells in the interactive window that it needs to scroll "interactiveWindow.alwaysScrollOnNewCell": false to the bottom of the IW and execute another cell :bug: scrollbar height changes and is at the bottom, but the new cell isn't visible
Change:
} } else { <del> const editor = (await this.editorService.openEditor(this.instantiationService.createInstance(KeybindingsEditorInput), options)) as IKeybindingsEditorPane; </del> <ins> const editor = (await this.editorService.openEditor(this.instantiationService.createInstance(KeybindingsEditorInput), { ...options, override: EditorOverride.DISABLED })) as IKeybindingsEditorPane; </ins> if (options.query) { editor.search(options.query); }

Discussion:
Steps to Reproduce: workbench editor associations to open *.json with a custom editor (e.g. HEX) to change this setting later = you cannot because in order to edit the values, you need to go to the JSON but it will open the custom editor always: ! Imho we should have a way to prevent the override from happening fro built in files such as settings. Only workaround is to entirely reset the setting. //cc
I've made a PR to fix this issue. I'm not sure why it is showing so many changes, it might be due to it being based off of the openWith PR that we had open before it got merged.
Change:
background-repeat: no-repeat; } <del> .debug-pane .debug-call-stack .thread > .state > .label, .debug-pane .debug-call-stack .session > .state > .label { font-size: 0.8em; min-height: auto; } </del> .debug-pane .debug-call-stack .stack-frame { overflow: hidden; text-overflow: ellipsis;

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:
*--------------------------------------------------------------------------------------------*/ import { Terminal } from 'xterm'; <del> import { strictEqual } from 'assert'; </del> <ins> import { strictEqual, deepStrictEqual } from 'assert'; </ins> import { timeout } from 'vs/base/common/async'; import * as sinon from 'sinon'; import { ShellIntegrationAddon } from 'vs/platform/terminal/common/xterm/shellIntegrationAddon';

Discussion:
Part of We want to support other common shell integration sequences as fallbacks to the VS Code specific one ()
can you add verification steps for this?
On Windows Disable shell integration Open pwsh 7+ Run the following: It should change the terminal tab's description to .

Part of We want to support other common shell integration sequences as fallbacks to the VS Code specific one ()
can you add verification steps for this?
Disable shell integration Open pwsh 7+ Run the following: It should change the terminal tab's description to .

Part of We want to support other common shell integration sequences as fallbacks to the VS Code specific one () Code pointer:
I'm taking this.
sounds good
I've just submitted the PR. You can check it anytime you want.
can you add verification steps for this?
Disable shell integration Open pwsh 7+ Run the following: It should change the terminal tab's description to .
Change:
throw new Error('No semantic similarity providers registered'); } <ins> const stopwatch = StopWatch.create(); </ins> const cancellablePromises: Array<CancelablePromise<number[]>> = []; const timer = timeout(SemanticSimilarityService.DEFAULT_TIMEOUT);

Discussion:
I see the second entry being selected shortly after the recent results appear: ! My settings:
I did extension bisect and the issue is caused by copilot chat extension. Here is the profile you can use to repro this bug -
Change:
}], type: QueryType.File, includePattern: { <del> '**/foo': true, '**/bar': true </del> <ins> '**/foo, **/bar': true </ins> } }); });

Discussion:
Use this code in an extension, run the command In 1.31, it returns no results because takes a single glob pattern In 1.32, it returns results because the include and exclude patterns for are split on the comma
This is a candidate because it would be an API change. If we want to support multiple glob patterns we should use an array like we discussed in Parsing a comma-delimited string in this API feels wrong.

1) use yo code to create an extension 2) Replace the with the code below 4) Press F5 to run the workspace 5) Open a project for a node module that has a nodemodules folder with many modules. 6) Execute the ´Hello World' command --the call workspace.findFiles returns file matches from the folder, but the nodemodules folder is excluded. Running the same extension in stable properly excludes matches in the folder. Tagging as a candiate for February since the change of behavour impacts NPM script running and now proposes scripts from the node_modules. The code for
Would be fixed by .