jiebi/CodeConvo huggingface dataset:
Change:
protected override renderBody(container: HTMLElement): void { super.renderBody(container); <ins> this.element.classList.add('debug-pane'); </ins> this.tree = <WorkbenchAsyncDataTree<INotebookScope, INotebookVariableElement>>this.instantiationService.createInstance( WorkbenchAsyncDataTree,

Discussion:
<img width="431" alt="image" src=""The debug view uses monospace font by default other than the workbench font
Change:
this._register(addDisposableListener(actions, EventType.CLICK, e => e.preventDefault())); <del> this._register(this.viewDescriptorService.getViewContainerModel(this.viewDescriptorService.getViewContainerByViewId(this.id)!)!.onDidChangeContainerInfo(({ title }) => { this.updateTitle(this.title); })); </del> <ins> const viewContainerModel = this.viewDescriptorService.getViewContainerByViewId(this.id); if (viewContainerModel) { this._register(this.viewDescriptorService.getViewContainerModel(viewContainerModel).onDidChangeContainerInfo(({ title }) => this.updateTitle(this.title))); } else { console.error(`View container model not found for view ${this.id}`); } </ins> const onDidRelevantConfigurationChange = Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration(ViewPane.AlwaysShowActionsConfig)); this._register(onDidRelevantConfigurationChange(this.updateActionsVisibility, this));

Discussion:
would you be able to help route this issue to the correct owner? Thanks!
Not sure if Sandy or SteVen.
Change:
import * as arrays from 'vs/base/common/arrays'; import { RunOnceScheduler } from 'vs/base/common/async'; import * as errors from 'vs/base/common/errors'; <del> import { DisposableStore, dispose, IDisposable } from 'vs/base/common/lifecycle'; </del> <ins> import { DisposableStore, dispose, IDisposable, MutableDisposable } from 'vs/base/common/lifecycle'; </ins> import { URI } from 'vs/base/common/uri'; import 'vs/css!./media/debugToolBar'; import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';

Discussion:
So that you know that you are debugging. //cc
I'm not sure on this, personally I would find it kind of annoying to have the toolbar on all windows. Maybe it's a setting, or can be dragged between windows? (Is there reusable cross-window drag logic yet?)
To clarify: not visible on all windows at the same time, but visible on the window that has focus maybe? Otherwise, it will be quite hard to step through a file using mouse in floating windows?
I think having it appear in the active window (when in floating mode) is good.
We solved this issue for quick open where we also want to appear it at the window that has focus. For that, there is which will always be the right container to put global UI elements and is derived from the currently active window. There is a event that can be used to reparent the UI element live.
Thanks!!!
Verification: Start debugging, and drag an editor out to an aux window Make sure the debug toolbar appears on whichever window has focus The debug toolbar should reappear in the same place per-window as you focus it
Change:
insertedImageCount += snippet.insertedImageCount; insertedAudioVideoCount += snippet.insertedAudioVideoCount; <del> placeHolderValue--; </del> <ins> placeHolderStartIndex += entries.length; </ins> edits.push(new vscode.SnippetTextEdit(range, snippet.snippet)); }

Discussion:
Testing a link in your clipboard multiple cursors in a Markdown file. Do not have anything selected. . Notice how the [Title] placeholder only gets selected at the primary cursor I would prefer if we would select all "Title" for each cursor. That way it would be more convenient for the user to change all the "Title" placeholders at once.
Because the user would have selected multiple cursors, it would be expected that each cursor has different text which is why all the placeholders are not selected. It might make sense to make it that if nothing is selected, then all the placeholders could be selected at once, however the differing functionalities might get confusing.
Hmm for multi cursor you will be pasting the same link multiple times. What scenario do you think is more common, that users would want different titles for the same link, or the same title for that link?
I tried this doing this all the time but found it strange. Here's what I found felt more natural: If the user has explicitly selected text with the cursor, make sure to preserve that. This means that each selection gets its own placeholder Otherwise give empty selections the same placeholder index. That way you can update empty selections all at once If there's a mix of the empty and non-empty selections (a difficult state to get into), fallback to using unique placeholders for each This makes the behavior less consistent but feels more correct to me
Change:
registry.registerWorkbenchAction(new SyncActionDescriptor(GlobalRevealInOSAction, GlobalRevealInOSAction.ID, GlobalRevealInOSAction.LABEL, { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyCode.KEY_R) }), 'File: Reveal Active File', category); registry.registerWorkbenchAction(new SyncActionDescriptor(ShowOpenedFileInNewWindow, ShowOpenedFileInNewWindow.ID, ShowOpenedFileInNewWindow.LABEL, { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyCode.KEY_O) }), 'File: Open Active File in New Window', category); registry.registerWorkbenchAction(new SyncActionDescriptor(CompareWithSavedAction, CompareWithSavedAction.ID, CompareWithSavedAction.LABEL, { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyCode.KEY_D) }), 'File: Compare Active File with Saved', category); <ins> registry.registerWorkbenchAction(new SyncActionDescriptor(CompareWithClipboardAction, CompareWithClipboardAction.ID, CompareWithClipboardAction.LABEL, { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyCode.KEY_C) }), 'File: Compare Active File with Clipboard', category); </ins> // Commands CommandsRegistry.registerCommand('_files.windowOpen', openWindowCommand);

Discussion:
when i want to compare a local file with a online resource file, i need to save the online file in project folder, and then do compare. it's a little inconvenient. It'll be great if i can copy the content of the online file, and right-click the local file, and choose "compare with clipboard".
An extension would be ideal for a feature like this.
fyi
It would be great too if also is allowed to compare selection with clipboard.
It would be great if we could compare unsaved files...
I would be open to a PR here, I think it is not a lot of work. Some pointers: register a new text document content provider to be able to open the left hand side of the diff editor to be the contents of the clipboard (pointers: ) register a new action to diff the current editor with the resource that can be handled with from the text document content provider (similar to ) Due to sensitivity of data inside the clipboard it would probably make sense to ask the user for confirmation that the clipboard is accessed. Related to
Has someone taken up this issue? I am a complete beginner to the VSCode codebase, would I be able to contribute to this issue?
not yet, but it seems has started a similar PR in which could be used as input to this one. The difference is that the contents of the left hand side are coming from the clipboard instead of the file on disk.
Change:
const lastUnchangedRegions = this._unchangedRegions.get(); const lastUnchangedRegionsOrigRanges = lastUnchangedRegions.originalDecorationIds .map(id => model.original.getDecorationRange(id)) <del> .filter(r => !!r) .map(r => LineRange.fromRange(r!)); </del> <ins> .map(r => r ? LineRange.fromRange(r) : undefined); </ins> const lastUnchangedRegionsModRanges = lastUnchangedRegions.modifiedDecorationIds .map(id => model.modified.getDecorationRange(id)) <del> .filter(r => !!r) .map(r => LineRange.fromRange(r!)); </del> <ins> .map(r => r ? LineRange.fromRange(r) : undefined); </ins> const originalDecorationIds = model.original.deltaDecorations( lastUnchangedRegions.originalDecorationIds,

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. --The direct symptom is in the site , but the investigation went through (which the site uses) and ends up here. Steps to Reproduce: to This shows the "LLVM Opt Pipeline Viewer" (1) which is a diff pane created by monaco's (2). It's contents change based on the user selection in from the 'passes' list (3). ! see normal operation in action: click in order the passes "SROAPass" (first one) and "Greedy Register Allocator". Diffs are shown properly: ! reproduce the bug, click in order the passes "SROAPass", then "Debug Variable Analysis" (one above Greedy) and finally "Greedy Register Allocator". First, text diffs are not being decorated despite being present: ! and second, a console shows the error: Preliminary investigation directs attention to these lines in 's : In the (not so rare) problematic scenario, and are non-empty but is, so the code enters the loop and crashes immediately. I suspect something broke in PR , but not sure.
A monaco-playground link with a small standalone repro for the problem: This creates a diffView and populates both sides with an offending text (specifically, one with non-empty "unchangedRegions"). After two seconds it sets the left pane to the same text as it currently has, but this time the decorations disappear and a console error message as above appears. Perhaps this tidbit would be helpful: It seems that upon entering , contains ids that were already invalidated - i.e., do not appear in : ! And so returns only nulls and the resulting array is empty. My current guess is these decoration-IDs invalidation is too early, and should be moved to after .
Thank you for the prompt fix!
Please, please, please, include inline diff view in your testing.

I use inline view 99.9% of the time, side by side very rarely. Regardless, I hope this Thank you for your work.
I saw this problem again today.
Can you please share the output of the dev console? Thanks!
Change:
<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ .suggest-input-container { padding: 3px 4px 5px; } .suggest-input-container .monaco-editor-background, .suggest-input-container .monaco-editor, .suggest-input-container .mtk1 { /* allow the embedded monaco to be styled from the outer context */ background-color: transparent; color: inherit; } .suggest-input-container .suggest-input-placeholder { position: absolute; z-index: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; pointer-events: none; margin-top: 2px; margin-left: 1px; } .suggest-input-container .monaco-editor .suggest-widget.no-icons .monaco-list .icon { display: none; } </ins>

Discussion:
<!-- 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. --- VSCode Version: 1.27.2 OS Version: kubuntu 18.04 Steps to Reproduce: some text to extension search bar it (by the way I can only select whole text, not part of it) isn't copied to the second clipboard (this is linux specific, middle button clipboard) ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.481 --<!-- potentialduplicatescomment --
Does this work as expected when you select text from other search boxes? For example: The find widget in the editor?
As you see on gif, it works as expected on search box
What about from the editor? Open a file and try the same on the text in the file.
It works everywhere except extension search field. I'm sure it occurred after intellisence in this bar was introduced
If that tiny editor would include the contribution, it would begin to work.
The problem is that the editor lives in the layer and uses the clipboard from electron. Do you recall the need to have the in the layer and not in the layer? Note: This issue will also affect the search in the new Settings editor
I think electron-browser is fine
Change:
assert.equal(buildReplaceStringWithCasePreserved(actual, 'newfoo_newbar'), 'Newfoo_newbar'); actual = ['Foo_Bar-abc']; assert.equal(buildReplaceStringWithCasePreserved(actual, 'newfoo_newbar-abc'), 'Newfoo_newbar-abc'); <ins> actual = ['foo_Bar']; assert.equal(buildReplaceStringWithCasePreserved(actual, 'newfoo_newbar'), 'newfoo_Newbar'); actual = ['Foo_BAR']; assert.equal(buildReplaceStringWithCasePreserved(actual, 'newfoo_newbar'), 'Newfoo_NEWBAR'); </ins> }); test('preserve case', () => {

Discussion:
, Replace string functionality in search does not work properly for hyphen and underscore separated variables , Initially figured it out from this Example: Replacingto with preserve case turned on replaces correctly to Replacing to with preserve case turned on replaces incorrectly to instead of PS : Additional Info from the code I found out there is a bug in function. The whole idea to call the replacement function again at was to reuse the already existing replacement logic ( First char capital , full caps and full small) but there was a bug as the hyphens and underscores were not even called because of wrong ordering in the condition checking logic.
Thanks for the PR, can you please phrase this issue in the form of a bug report (ie describe what to do, what happens, what is supposed to happen)
Change:
this._register(this.actionBar.actionRunner.onDidRun((e: IRunEvent) => { // check for error if (e.error && !errors.isCancellationError(e.error)) { <del> this.notificationService.error(e.error); </del> <ins> this.notificationService.warn(e.error); </ins> } // log in telemetry

Discussion:
Not sure why this is happening, probably just need to restart, but I notice the notification is different depending on whether I press F5 to continue or press the play button: F5: <img width="1320" alt="image" src="https://user-"Debug play button: <img width="359" alt="image" src="https://user-"
I think is from js-debug?
Logs would be helpful, this indicates V8 responded with some kind of error (which I haven't seen before...) Alternatively, are there steps you take to reproduce this issue that you can share? /jsDebugLogs
Please collect trace logs using the following instructions:
I don't care about the error, I think it was some process in a bad state. The issue is one notification is a warning and one is an error <img width="185" alt="image" src="https://user-"!
Change:
assert.strictEqual(selectionRedo[0].end, 2); }); <del> test('editor editing event', async function () { </del> <ins> test.skip('editor editing event', async function () { // TODO@rebornix https://github.com/microsoft/vscode/issues/152145 </ins> const notebook = await openRandomNotebookDocument(); const editor = await vscode.window.showNotebookDocument(notebook);

Discussion:
Failed again, will skip.
Very likely the share the same root cause as
Should now be resolved. If we see it later we would create an issue and treat as bug.
Change:
this._onDidChangeActiveInstance.fire(this.activeInstance); } <ins> async focusInstance(instance: ITerminalInstance): Promise<void> { return instance.focusWhenReady(true); } </ins> async focusActiveInstance(): Promise<void> { return this.activeInstance?.focusWhenReady(true); }

Discussion:
Type: <bBug</bPreparation: create the following file: the terminals panel, create a new shell terminal it to the main editor area to make it a full-size terminal open an editor tab (any file will do, including Command-N) sure the panel is closed (press Command-J to close it if it is open) the above task (e.g. with Command-P, then type ) Expected: the panel opens and shows the running task Actual: the editor terminal is brought to the front, and the panel stays closed VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-11T05:03:58.450Z) OS version: Darwin arm64 23.5.0 Modes: <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
In this scenario, focus also fails.
I can confirm that fixes the problem for me. Thanks!
Change:
return new vscode.CompletionList(newItems, true); }); } }  No newline at end of file

Discussion:
In a scss file with more than 1000 lines, add the below Try an emmet abbreviation after the above. Observe that no completions are provided Reproducible only in Insiders and not in Stable
The same happens in this case: We need to improve how to look for the selector of a rule.
Change:
templateData.actionBar.context = { $treeViewId: this.treeViewId, $treeItemHandle: node.handle } satisfies TreeViewItemHandleArg; <del> const menuActions = this.menus.getResourceActions([node], templateData.elementDisposable); </del> <ins> const menuActions = this.menus.getResourceActions([node]); </ins> templateData.actionBar.push(menuActions.actions, { icon: true, label: false }); if (this._actionRunner) {

Discussion:
It looks like everything is getting disposed properly and I haven't been able to find a way to repro. It looks like this has only been seen on builds that are 12 days old. Let's see if we see it again.
I can repro if I have a tree with ~145 elements visible, as each one has a listener for whether the inline menu items change base on context key value changes. This listener is also apparently listening for whether a menu item's "hidden state" also changes, which is where the problem occurs. It seems that every menu in the workbench listens for the same "hidden state" event.
The error telemetry should be fixed, but we're still going to listen on tree menus.
Change:
} private static codeActionsComparator({ action: a }: CodeActionItem, { action: b }: CodeActionItem): number { <ins> if (a.isAI && !b.isAI) { return 1; } else if (!a.isAI && b.isAI) { return -1; } </ins> if (isNonEmptyArray(a.diagnostics)) { return isNonEmptyArray(b.diagnostics) ? ManagedCodeActionSet.codeActionsPreferredComparator(a, b) : -1; } else if (isNonEmptyArray(b.diagnostics)) {

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: OS Version: MacOS A case where specific lint/styling quick fixes are still below. Could be something to do with warnings vs actual fixes. Not sure if this is intentional or not, but in cases where it is wrapped by quick fixes above and below, it does seem a little weird. Example: ! Warning for missing semicolon according to linter, activate quickfix: <img width="789" alt="Screenshot 2023-10-10 at 2 26 38 PM" src=""Other warnings with direct fixes is okay: <img width="772" alt="Screenshot 2023-10-10 at 2 29 56 PM" src=""
related to
Hi the reason this is the case is likely because of this part of the code: The code actions you mentioned that appear below the Copilot actions have an empty field, hence they are placed below the copilot ones. You can see this in the image below where the Copilot actions have associated diagnostics, the eslint one does not. <img width="691" alt="Screenshot 2023-10-11 at 09 19 55" src=""<img width="673" alt="Screenshot 2023-10-11 at 09 20 59" src=""I am wondering if we want the Copilot diagnostics to appear at the very bottom of this list? Thoughts
I suggest we have the ai code actions appear always at the end. So, first criteria: isAI, second criteria whether it has diagnostics attached. Ok for you?
Change:
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITerminalCommand, TerminalCapability } from 'vs/platform/terminal/common/capabilities/capabilities'; import { TerminalCapabilityStoreMultiplexer } from 'vs/platform/terminal/common/capabilities/terminalCapabilityStore'; <del> import { IProcessDataEvent, IProcessPropertyMap, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, ProcessPropertyType, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal'; </del> <ins> import { IProcessDataEvent, IProcessPropertyMap, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, PosixShellType, ProcessPropertyType, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal'; </ins> import { escapeNonWindowsPath } from 'vs/platform/terminal/common/terminalEnvironment'; import { activeContrastBorder, scrollbarSliderActiveBackground, scrollbarSliderBackground, scrollbarSliderHoverBackground } from 'vs/platform/theme/common/colorRegistry'; import { IColorTheme, ICssStyleCollector, IThemeService, registerThemingParticipant, ThemeIcon } from 'vs/platform/theme/common/themeService';

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.68.1 OS Version: Windows 10 Steps to Reproduce: When I open a terminal in VSCode the following warning is logged within a few seconds: . I take note of that this issue is not a duplicate of.
A warning as in on the window output channel or devtools console? Do you use powerlevel10k or another complex prompt by chance?
It's in the devtools console. Not using any complex prompt. Just plain CMD.
Oh OK, that's unexpected if it's cmd, thanks for the info
we should probably do something like here
Change:
if (!_emmetHelper) { _emmetHelper = require('vscode-emmet-helper'); } <del> updateEmmetExtensionsPath(); </del> return _emmetHelper; }

Discussion:
Testing an html file, try triggering emmet Bug According to , I should see an error notification. However I don't see any error or notifications
I also don't see error for an invalid (if it isn't valid json for example)
Also get no errors in Linux.
+1 WSL
The reason seems like to be on the which has not be loaded when the extension first activate.
And the should be an error object instead of a string.
closedWith
I'll reopen the issue because I think the error handling changed afterwards, and I'd like to look into the implementation again during a later iteration.