jiebi/CodeConvo huggingface dataset:
Change:
this.viewEnabled = NOTEBOOK_VARIABLE_VIEW_ENABLED.bindTo(contextKeyService); <del> this.listeners.push(this.editorService.onDidEditorsChange(() => this.handleInitEvent())); this.listeners.push(this.notebookExecutionStateService.onDidChangeExecution(() => this.handleInitEvent())); </del> <ins> this.listeners.push(this.editorService.onDidActiveEditorChange(() => this.handleInitEvent())); this.listeners.push(this.notebookExecutionStateService.onDidChangeExecution((e) => this.handleInitEvent())); </ins> this.configListener = configurationService.onDidChangeConfiguration((e) => this.handleConfigChange(e)); }

Discussion:
Steps to Reproduce: a notebook and put in a cell and run it to establish a kernel for that notebook vscode and run the cell before the kernel is auto-selected :bug: notebook variable view will not initialize
HI is this a candidate? This issue is assigned to the recovery 2 milestone, but it does not have a candidate label and there appears to only be one PR to main. We will discuss this issue in standup and decide if this should be merged to the release branch.
As mentioned in a private discussion, if we accept this candidate recovery release will be held on Monday which is when the next endgame starts. To avoid overlap of the two endgames, this fix should be included instead in the next release.
Change:
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(CloseMessagesAction, CloseMessagesAction.ID, CloseMessagesAction.LABEL, { primary: KeyCode.Escape }, [{ key: WorkbenchMessageService.GLOBAL_MESSAGES_SHOWING_CONTEXT }])); workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(CloseEditorAction, CloseEditorAction.ID, CloseEditorAction.LABEL, { primary: KeyMod.CtrlCmd | KeyCode.KEY_W, win: { primary: KeyMod.CtrlCmd | KeyCode.F4, secondary: [KeyMod.CtrlCmd | KeyCode.KEY_W] } }), viewCategory); workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ToggleFullScreenAction, ToggleFullScreenAction.ID, ToggleFullScreenAction.LABEL, { primary: KeyCode.F11, mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.KEY_F } }), viewCategory); <del> if (platform.isWindows) { </del> <ins> if (platform.isWindows || platform.isLinux) { </ins> workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ToggleMenuBarAction, ToggleMenuBarAction.ID, ToggleMenuBarAction.LABEL), viewCategory); }

Discussion:
Issue was closed with commit . The commit the requested option to add an option for toggling visibility of the main menu, but restricted it to be shown only when running the Windows version. I can see why toggling the menu bar probably would either not work or just not make sense on OS X. Users running Linux window managers that have a menu bar per window would benefit from the setting as much as users of the Windows version though.
Change:
__vsc_update_cwd } <ins> if [[ -o NOUNSET ]]; then if [ -z "${RPROMPT-}" ]; then RPROMPT="" fi if [ -z "${PREFIX-}" ]; then PREFIX="" fi fi </ins> __vsc_update_prompt() { __vsc_prior_prompt="$PS1" __vsc_in_command_execution=""

Discussion:
Zsh has many options and user rc files can enable and disable any of them. was an example of shell options that breaks shell integration if it's set by user rc files. Shell integration should work with all options.
I just looked through all of the zsh options and tried any that I thought might be problematic. I didn't find any besides , which is now fixed
to verify: add to your file. shell integration should still work
When I do this, I get a warning on every keypress, which might be expected, but no shell integration decorations <img width="432" alt="image" src="https://user-"
I don't think that used to happen
ok the thing is unrelated to shell integration. it's some other program that you're running using a variable that isn't initialized and thus this option is showing the warning. fixing the shell integration one though
Change:
Disconnect = 5, ReplayRequest = 6, Pause = 7, <del> Resume = 8 </del> <ins> Resume = 8, KeepAlive = 9, </ins> } function protocolMessageTypeToString(messageType: ProtocolMessageType) {

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. --Background: Modern reverse proxies like nginx or cloudflare use timeouts for dormant websocket connections. For nginx this defaults to 60s and for Cloudflare to 100s. In case of Cloudflare, this is not configurable for non-enterpise users. Due to the fixes in , the management connection is now typically being idle for extended periods of time. If the web-socket connection is being terminated by the reverse proxy, even if it can be reestablished immediately, a modal dialog is being shown, which disturbs the user immensely. For reference see In order to support Cloudflare it is essential, that we either implement a keep-alive ping (my proposal would by every 45s by default), or alternatively, make it so an immediate reconnect does not cause any negative consequences for the user.
any insights here?
<!-- 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!
Version: 1.71.0-insider Commit: Date: 2022-08-26T23:24:52.456Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 /verified I do no longer experience regular reconnects every 100 seconds behind cloudflare with the build above.
Change:
const ttPolicy = window.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value }); <ins> export function createBlobWorker(blobUrl: string, options?: WorkerOptions): Worker { if (!blobUrl.startsWith('blob:')) { throw new URIError('Not a blob-url: ' + blobUrl); } return new Worker(ttPolicy ? ttPolicy.createScriptURL(blobUrl) as unknown as string : blobUrl, options); } </ins> function getWorker(label: string): Worker | Promise<Worker> { // Option for hosts to overwrite the worker script (used in the standalone editor) if (globals.MonacoEnvironment) {

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 Version: 1.74.3 OS Version: 22.10 Steps to Reproduce: Vscode Fibonacci numbers are computed, blocking the renderer process for ~130ms ! Maybe the computation of fibonacci numbers could be removed alltogether (preferred) or there could be a setting to disable the computation of fibonacci numbers? The code for computing the fibonacci numbers is here:
I wonder if the baseline could reliably be computed in a worker
We do that to have a baseline performance number that's comparable across machines. It comes far after startup but does compute with other stuff. I like the idea of moving this to a worker but we can also use a lower value. I have chosen 24th because it's one frame (~15ms) on my laptop
Pushed a change to move this into a worker. I have also experimented with some const-time workload, like SHA1 loops for 15ms but got very varying results between 150 and 800 iterations. Sticking to fib for now but it doesn't block the renderer anymore
Change:
@IQuickInputService private readonly quickInputService: IQuickInputService, @ICommandService private commandService: ICommandService, @IContextKeyService private readonly contextKeyService: IContextKeyService, <del> @IFileDialogService private readonly fileDialogService: IFileDialogService </del> <ins> @IFileDialogService private readonly fileDialogService: IFileDialogService, @ILifecycleService private readonly lifecycleService: ILifecycleService </ins> ) { super();

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. -- introduces which controls when we attempt to restore an edit session for the current workspace. The user still has to remember to store their edit session or use the explicit Continue Working On trigger. In order to make it harder to lose edit sessions across , , , and RemoteHub on desktop, we should introduce a setting with initial setting values and . When set to , we'll attempt to store the current edit session (if any) before a workbench unload. This will only really reliably work in desktop because in web we cannot run long running tasks in the onbeforeunload handler (, tracked in ). To mitigate this we should also explore introducing an option to continuously sync edit sessions. That first requires tolerance of edit sessions originating from multiple VS Code clients concurrently.
On , we do have a service worker which is used primarily for caching. Service workers can outlive their associated pages, and can be synchronously 'd to like other workers. Perhaps we can use that service worker (or a new one) to allow the workbench to send information to save before it unloads.
Change:
export class TerminalShellExecutionManager { private readonly subcommands = new Set<string>([ <del> 'add', 'branch', 'checkout', 'clean', 'commit', 'fetch', 'reset', 'revert', 'pull', 'push', 'switch']); </del> <ins> 'add', 'branch', 'checkout', 'cherry-pick', 'clean', 'commit', 'fetch', 'merge', 'mv', 'rebase', 'reset', 'restore', 'revert', 'rm', 'pull', 'push', 'stash', 'switch']); </ins> private readonly disposables: IDisposable[] = [];

Discussion:
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased
The following git commands have been to the list of commands that are being monitored by the git extension: , , , , , , . Verification steps: a folder/workspace that contains a git repository the Output view, and switch to the Git extensions channel on the Gear icon, select "Trace". on the Gear icon, select "Set As Default" any of the commands listed above in the integrated terminal the git output channel Confirm that you see the following entry:
Change:
@IContextKeyService contextKeyService: IContextKeyService ) { this.configProviders = []; <del> this.toDispose = []; </del> <ins> this.toDispose = [this._onDidChangeConfigurationProviders]; </ins> this.initLaunches(); this.setCompoundSchemaValues(); this.registerListeners();

Discussion:
Type: <bBug</bI'm developing an extension for VSCode and found out that I can't enable Dynamic Debug Configurations unless I include in the list of activation events. I have tried not including this activation event but having my extension activated through other means (like activated on language), but the feature doesn't work. Only when I include , this feature works. My extension is now working properly, but I wouldn't be surprised if this prevents other extension developers from using this feature. I have found this very old post of someone who might have had that exact same issue VS Code version: Code 1.84.2 (Universal) (, 2023-11-09T10:52:33.687Z) OS version: Darwin arm64 23.1.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (36)</summaryExtensionVersion ------ vscode-markdownlint0.52.0 gitlens14.5.0 prettier-vscode10.1.0 custom-local-formatters0.0.6 vscode-clangd0.1.24 vscode-mlir0.0.11 rainbow-csv3.8.0 vscode-mojo5.0.4-dev csdevkit1.0.14 csharp2.10.28 vscode-dotnet-runtime2.0.0 vscodeintellicode-csharp0.1.26 black-formatter2023.6.0 isort2023.10.1 python2023.20.0 vscode-pylance2023.11.10 jupyter2023.10.

jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.321.0 remote-ssh0.107.0 remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.24.0 cpptools1.18.5 cpptools-extension-pack1.3.0 remote-explorer0.4.1 remote-server1.5.0 reflow-paragraph1.3.0 errorlens3.15.0 vscode-icons12.6.0 vim1.27.0 clang-format1.9.0 markdown-all-in-one3.5.1 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Can you explain a bit more what doesn't work?
, thanks for looking into this. I have an extension with a working debugger feature via file. I'm trying to register a DebugConfigurationProvider with kind = that implements . And, unless, I add as an activation event, my new provider doesn't get invoked at all and I don't see an entry for my debugger in the selector of the Debug View. I have confirmed that my extension was initialized right after VSCode is launched. It's as if this kind of provider is only enabled if the activation event is present.
There's some discussion about this in you've touched this too, should this be changed or just documented in
I think changing it is fine. An extension should register an activation for it, but this isn't something we enforce for any other API. Will take care of it.
Change:
class TreeNodeListMouseController<T, TFilterData, TRef> extends MouseController<ITreeNode<T, TFilterData>> { <del> constructor(list: TreeNodeList<T, TFilterData, TRef>, private tree: AbstractTree<T, TFilterData, TRef>) { </del> <ins> constructor( list: TreeNodeList<T, TFilterData, TRef>, private tree: AbstractTree<T, TFilterData, TRef>, private stickyScrollProvider: () => StickyScrollController<T, TFilterData, TRef> | undefined ) { </ins> super(list); }

Discussion:
Testing Repro: a node in a tree that is fairly deep. a parent node. that there's a slight flicker. Consecutive collapse/expands don't have that, only the first. ]()
Change:
IFileSystemProviderWithOpenReadWriteCloseCapability, IFileSystemProviderWithFileReadStreamCapability { <del> readonly capabilities: FileSystemProviderCapabilities = this.fileSystemProvider.capabilities; </del> readonly onDidChangeCapabilities: Event<void> = this.fileSystemProvider.onDidChangeCapabilities; private readonly _onDidChangeFile = this._register(new Emitter<readonly IFileChange[]>());

Discussion:
Testing 1) VSCode Smoke Tests (Web) VSCode Smoke Tests (Web) Language Features verifies settings: Error: Timeout: get element '.view-overlays .cdr.squiggly-error' after 20 seconds. at D:Sourcegithubmicrosoftvscodetestautomationout at (<anonymous) at fulfilled (D:Sourcegithubmicrosoftvscodetestautomationout)
What was the exact command line you used to run the smoke test?
Please double check this, since I believe the issue doesn't happen if you skip the notebook tests altogether. Simply replace with here: And recompile the smoketests with .
I am able to reproduce this failure even after commenting out all the notebook tests.
I also have it reproducible on my machine, although I believe it's a timing issue. No configuration event is triggered here after the settings file is updated.
Change:
this.editor.addContentWidget(this); } <ins> private async onContextMenu(e: ITreeContextMenuEvent<IExpression>): Promise<void> { const variable = e.element; if (!(variable instanceof Variable) || !variable.value) { return; } return openContextMenuForVariableTreeElement(this.contextKeyService, this.menuService, this.contextMenuService, MenuId.DebugHoverContext, e); } </ins> private registerListeners(): void { this.toDispose.push(dom.addStandardDisposableListener(this.domNode, 'keydown', (e: IKeyboardEvent) => { if (e.equals(KeyCode.Escape)) {

Discussion:
This is the debug hover: ! I think it would be great if each value has a context menu (or inline buttons) to trigger (contributable) actions. Built-in actions could be: copy value copy expression watch Actions contributed by extensions could be: visualize This is already supported in the sidebar: !
good overall idea and I like it. I think we could implement it fairly easily by adding a new menu type to the hover tree. We can even open it for extensions as you suggested. However I would be interested in what other apps do you know that have a context menu on the hover? Might this be a sort of an anti pattern? I know that the debug hover is a bit heavy and a context menu might fit well there, but I would be interested in how other products do it. Maybe try out Visual Studio, Chrome Dev Tools and others... fyi
I do believe that's using the tree widget, which supports inline actions: <img width="334" alt="CleanShot 2021-06-08 at 10 46 42 src="https://user-"I'd assume either a (though there is quite a bit already in these views) or: <img width="652" alt="CleanShot 2021-06-08 at 10 48 01 src="https://user-"<img width="659" alt="CleanShot 2021-06-08 at 10 48 46 src="https://user-"
VS has quite a few nested context menus :D 
I think that would be possible since it's a toolbar, we do show more inline actions in peek/diff views: <img width="157" alt="CleanShot 2021-06-08 at 10 57 38 src="https://user-"
Cool ideas. Maybe just a right click context menu might work best. But an additional gear on the end to make it discoverable will help. Ellipsis look good in the example you provided but in practice we have a lost of overflowing text and it is all shown with ellipsis, so I think it would be very confusing, as some ellipsis would be clickable and some not... is right, it can be made possible if we make it a toolbar, however I would be worried about opening inline actions to extensions since horizontal space is already limited. I would first only open secondary actions - the one behind a context menu. Though I am flexible.
can you verify this one?
Change:
private _replacingAll: boolean = false; private _name: Lazy<string>; <del> // if this is compressed in a node with other FolderMatches, then this is set to the parent where compression starts public compressionStartParent: FolderMatch | undefined; </del> constructor( protected _resource: URI | null, private _id: string,

Discussion:
! repro steps a search that has a compressed node outside of the viewport to keep collapsing gets stuck when trying to collapse all.
repro: the repo folder into a multi-root workspace (where another workspace also has the word "debug" somewhere in it). for the string "debug" clicking the Collapse All button a bunch of times gets stuck after a few times :bug: This is because the tree needs info from the function, which hasn't been run yet since the "compressed" element is off of the view. Therefore, when I'm calling , I eventually get to the "compressed" element that doesn't have the info that I need.
What is the best way to collapse all nodes of a tree at a certain level? My current (buggy) strategy involves iterating through the nodes via and collapsing them based on element types, but that depends on knowing the parent-most node in a compression (which I store when I use ).
This is strange. Despite the elements never being rendered, the tree should know exactly which elements have been compressed. The function should never create any state that other code depends on... it's purely a rendering function. At a glance the problem seems to be that you're modifying the tree (collapsing element) as you iterate it (using navigator). Can you refactor that action such that it first collects all elements which should be collapsed and, once all are collected, calls on each?
oops, figured it out! Follow-up question: how do I collapse part of a compressed node? (ie: collapsing so that only the parent is visible?) I tried calling on the parent element and it seems to assume that I just want the existing compressed node collapsed.
Unsure what you mean. Take this example: ! In this scenario, , and are just one node, for all purposes. Do you mean you want to collapse , for example? What should be the visual outcome of that?
Yes, I'd be talking about collapsing or . Now that you mention it, it would be confusing to collapse partway like that. The reason I bring this up is because the "collapse/expand` button in search is multi-step in multi-root and tree modes. Ie: in multi-root, the collapse/expand would go: collapse button once: collapses all nodes one level below root collapse again: collapses all root nodes. everything.

and repeat How would you imagine that it should handle the first collapse if it's a compressed series of folders (ie: )? I was originally thinking that it would just compress , but that would have a weird visual outcome. Do you know anywhere else where we do something like this?
I would expect the node would be collapsed in that case. The key here is nodes, not folders. The node represents three folders.
Change:
description: extensionDescription, marketplaceInfo: marketplaceMap[ExtensionIdentifier.toKey(extensionDescription.identifier)], status: statusMap[extensionDescription.identifier.value], <del> profileInfo: profileInfo || undefined, </del> <ins> profileInfo: extProfileInfo || undefined, </ins> unresponsiveProfile: this._getUnresponsiveProfile(extensionDescription.identifier) }; }

Discussion:
Issue Type: <bBug</bAfter clicking "Stop Extensions Host Profile", the profile timings don't appear in the list. VS Code version: Code 1.54.3 (, 2021-03-15T10:55:45.459Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (13)</summaryExtensionVersion ------ vscode-eslint2.1.19 EditorConfig0.16.4 go0.23.3 python2021.3. jupyter2021.3. remote-containers0.163.2 cpptools1.2.2 js-debug-nightly2021.3.2417 vs-keybindings0.2.0 vscode-github-issue-notebooks0.0.75 debugger-for-chrome4.12.12 rust0.7.8 vscode-lldb1.6.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
&& this._state !== State.Empty && this._state !== State.Loading && this._completionModel <ins> && this._list.getFocus().length > 0 </ins> ) { return {

Discussion:
VS Code Insiders, macOS user profile any typescript file. For example -exception in the dev tools console
I can only reproduce with
Thanks for fixing. Somehow that setting was still applied even though I was using a new profile...