jiebi/CodeConvo huggingface dataset:
Change:
this._toDispose.add(this.debugService.getAdapterManager().registerDebugAdapterFactory(debugTypes, this)); } <del> public $startBreakpointEvents(): void { if (!this._breakpointEventsActive) { this._breakpointEventsActive = true; // set up a handler to send more this._toDispose.add(this.debugService.getModel().onDidChangeBreakpoints(e => { // Ignore session only breakpoint events since they should only reflect in the UI if (e && !e.sessionOnly) { const delta: IBreakpointsDeltaDto = {}; if (e.added) { delta.added = this.convertToDto(e.added); } if (e.removed) { delta.removed = e.removed.map(x => x.getId()); } if (e.changed) { delta.changed = this.convertToDto(e.changed); } if (delta.added || delta.removed || delta.changed) { this._proxy.$acceptBreakpointsDelta(delta); } } })); // send all breakpoints const bps = this.debugService.getModel().getBreakpoints(); const fbps = this.debugService.getModel().getFunctionBreakpoints(); const dbps = this.debugService.getModel().getDataBreakpoints(); if (bps.length > 0 || fbps.length > 0) { this._proxy.$acceptBreakpointsDelta({ added: this.convertToDto(bps).concat(this.convertToDto(fbps)).concat(this.convertToDto(dbps)) }); } } } </del> public $registerBreakpoints(DTOs: Array<ISourceMultiBreakpointDto | IFunctionBreakpointDto | IDataBreakpointDto>): Promise<void> { for (const dto of DTOs) {

Discussion:
Set some breakpoints Access from an extension- it's an empty array Try again - it's full Seems that we don't sync breakpoint into to the EH until the first call to one of the breakpoint properties do you have some context on this? It's a little confusing because I wouldn't expect sending breakpoint infos to be expensive, and I would expect to be able to access the breakpoints array immediately.
I do not have more context. I believe is the author of this code. I like your suggestion that we change this and actively sync the breakpoints into the EH (since it should not be expensive).
The observed behavior is by design: we want to avoid that all breakpoints get transferred to all active extensions all the time. But the API doc doesn't explain this...
Thanks is the worry that it's too much data/too expensive? What's the solution for extensions that need to access the list of breakpoints?
yes, potentially too much data and traffic for all extensions. What's the solution for extensions that need to access the list of breakpoints? adding a to the function of an extension will register the extension to receive live updates for . With this will always reflect the current set of breakpoints.
Thanks, I don't really understand that though, it doesn't seem like that much traffic/data, compared to something like the full text of open documents. If it's going to work this way, I should document it in But I might try doing some testing to remove this restriction because I think it's unexpected.
Verification steps: Create an extension that can log the value of Set a breakpoint in any file Then trigger your extension to check the length of the breakpoints array It should log the correct value on the first try- previously it would have been 0 on the first access, then the correct value afterwards
Change:
found_required_glibc=0 found_required_glibcxx=0 <ins> # Extract the ID value from /etc/os-release OS_ID="$(cat /etc/os-release | grep -Eo 'ID=([^"]+)' | sed 's/ID=//')" if [ "$OS_ID" = "nixos" ]; then echo "Warning: NixOS detected, skipping GLIBC check" exit 0 fi </ins> # Based on https://github.com/bminor/glibc/blob/520b1df08de68a3de328b65a25b86300a7ddf512/elf/cache.c#L162-L245 case $ARCH in x86_64) LDCONFIG_ARCH="x86-64";;

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: Version: 1.86.0-insider Commit: OS Version: Windows 11 + NixOS-WSL I get an error from On NixOS, libstdc++ is not at /usr/lib, but in the nix store. I use which deals with the dynamic loading and that works fine, but the recently check- script is overly pessimistic and refuses to start the code-server. If I manually delete the check, everything works fine again. I see that there is a --skip-requirements-check flag that skips the check, but I don't see a way to configure vscode to supply that flag to the code-server. ping looks like you were working on this recently. Do you have any ideas how I could handle 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:
export class CompressibleObjectTree<T extends NonNullable<any>, TFilterData = void> extends ObjectTree<T, TFilterData> implements ICompressedTreeNodeProvider<T, TFilterData> { <del> declare model: CompressibleObjectTreeModel<T, TFilterData>; </del> <ins> protected declare model: CompressibleObjectTreeModel<T, TFilterData>; </ins> constructor( user: string,

Discussion:
This is a follow-up on and where I simply make the model-property of the tree public. Tho, a better fix might be needed here
Change:
private readonly gridWidgetView = this._register(new GridWidgetView<IEditorGroupView>()); constructor( <del> private readonly editorPartsView: IEditorPartsView, </del> <ins> protected readonly editorPartsView: IEditorPartsView, </ins> id: string, private readonly groupsLabel: string, public readonly isAuxiliary: boolean,

Discussion:
Testing It would be great if we can have a command to bring back those editors to the main window.
I think that should actually be the default behaviour when you just close the window. That will prevent ugly confirmation dialogs for dirty editors when you attempt to close the floating window.
Verification: open a floating window with some editors (e.g. by dragging an editor tab out of the window) close the floating window, e.g. from the X window button verify all editors of the floating window are moved back to the main window
Change:
import 'vs/workbench/contrib/terminalContrib/find/browser/terminal.find.contribution'; import 'vs/workbench/contrib/terminalContrib/highlight/browser/terminal.highlight.contribution'; import 'vs/workbench/contrib/terminalContrib/links/browser/terminal.links.contribution'; <del> import 'vs/workbench/contrib/terminalContrib/mouseWheelZoom/browser/terminal.mouseWheelZoom.contribution'; </del> <ins> import 'vs/workbench/contrib/terminalContrib/zoom/browser/terminal.zoom.contribution'; </ins> import 'vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminal.stickyScroll.contribution'; import 'vs/workbench/contrib/terminalContrib/quickFix/browser/terminal.quickFix.contribution'; import 'vs/workbench/contrib/terminalContrib/typeAhead/browser/terminal.typeAhead.contribution';

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --The new January 2024 (version 1.86) updates allows you to change the terminal font size with the mouse wheel. This is mouse users. Why were us keyboard users left out?? Can we please get commands to increase, decrease and reset the terminal font to be used for custom hotkeys. Cheers
Our zoom in / out keybindings do this for me... and
that's for the whole workbench, not just the terminal. This is also lacking in the editor afaict. I'm going to close this as out of scope as it's very easy for an extension to implement this type of behavior. Correct me if I'm wrong about the editor missing the behavior though as we want to align there.
We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the . Just in case, in a few simple steps you can get started . See also our . Happy Coding!
it does exist for the editor ! !
Thanks, I was searching for "zoom"
sweeeeet! Thank you. Looking forward to this.
Change:
throw new NotSupportedError(); } } <ins> function asTerminalIcon(iconPath?: vscode.Uri | { light: vscode.Uri; dark: vscode.Uri } | vscode.ThemeIcon): TerminalIcon | undefined { if (!iconPath) { return undefined; } if (!('id' in iconPath)) { return iconPath; } return { id: iconPath.id, color: iconPath.color as ThemeColor }; } </ins>

Discussion:
Testing Ran into this verifying a different issue, the API says that ThemeIcons are assignable in the TerminalOptions but they are not !
Change:
<ins> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.cs.disable-library-validation</key> <true/> </dict> </plist> </ins>

Discussion:
This started only with todays build: Start it and be greeted with:
Exception seems to indicate an issue with code signing? Could this be related to the recent entitlements change? //cc
Change:
if (this.keybindingsEditorModel) { const filter = this.searchWidget.getValue(); const keybindingsEntries: IKeybindingItemEntry[] = this.keybindingsEditorModel.fetch(filter, this.sortByPrecedenceAction.checked); <ins> this.accessibilityService.alert(localize('foundResults', "{0} results", keybindingsEntries.length)); </ins> this.ariaLabelElement.setAttribute('aria-label', this.getAriaLabel(keybindingsEntries)); if (keybindingsEntries.length === 0) {

Discussion:
A11yWCAG2.1; #A11yTCS; #A11ySev4; #Visual Studio Code Client; #BMVisual Studio Code ClientMAC_JULY2024; #DesktopApp; #WCAG4.1.3; #FTP; #A11yMAS; #Status Message; #MAC; #Device; #Voiceover; #A11yUsable; MAC Book Pro MAC OS Sonoma Version 14.5 Visual Studio code Insider version 1.92.0 Visual Studio Code Insiders editor Navigate to setting icon. "Keyboard shortcuts options" and press enter or Press keyboard shortcut as command K, Command S shortcut table gets opened. till "Keyboard Shortcut Edit field". any Text or Key and Observe that Voiceover is not announcing Number of suggestions were found while searching any key in "keyboard shortcut edit field". Voiceover is not announcing Number of suggestions were found while searching any key in "keyboard shortcut edit field". Voiceover should be announcing Number of suggestions were found while searching any key in "keyboard shortcut edit field". Screen reader users will face difficulty if Voiceover is not announcing Number of suggestions were found while searching any key in "keyboard shortcut edit field".
do you know if we have ever had support for this?
Rev:poojanamde;
Decreasing to Sev4 according to Review of Indu Priya Setty. Thanks!!
Change:
return this._localLinkPattern; } <ins> protected get _gitDiffPreImageRegex(): RegExp { return this._gitDiffPreImagePattern; } protected get _gitDiffPostImageRegex(): RegExp { return this._gitDiffPostImagePattern; } </ins> private _handleLocalLink(link: string): PromiseLike<any> { return this._resolvePath(link).then(resolvedLink => { if (!resolvedLink) {

Discussion:
Example:
Do you mind if I take on this issue? I assume the request is to make and Ctrl-clickable such that the links open the correct versions of the files.
sounds good. The link registration is done here and it's based on regexs: We basically want the and parts to be matched, but ignored as part of the link.
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. I tried to write a multi-line regex for that captures the blob IDs in groups, along with the paths we want to link, but currently only runs the regex on a per line basis (by iterating through the buffer), not on the whole content of the terminal. So the regex didn't find any matches. I also tried to get the blob IDs by parsing the contents of the terminal manually, but doesn't seem to offer a public interface to retrieve the contents. I do see but I don't want to rely on an internal implementation to do something like this. How do you suggest I proceed? Should I submit a PR to to allow multi-line regex in ?
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. Oh I wouldn't go that far, just pointing both links to the current version of the file would be good enough start with.
Ah I see, that's a lot simpler to do. Will open a PR soon.
Change:
if (!currentPosition.isBeforeOrEqual(diffStart)) { return undefined; } <del> const originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); </del> <ins> let originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); if (diffStart.lineNumber > textModel.getLineCount()) { // assert diffStart.lineNumber === textModel.getLineCount() + 1 // getValueInRange doesn't include this virtual line break, as the document ends the line before. // endsLineAfter will be false. originalText += 'n'; } </ins> text += originalText; text += edit.newText; currentPosition = edit.range.getEndPosition();

Discussion:
take the input below in both sides accept the last change :bug: they are mutually exclusive, I cannot have both...
Verification steps: Use the "Developer Merge Editor: Open..." command to open that JSON.
Change:
const autoClosePositions = [ 'var| a| |=| [|]|;|', <del> 'var| b| |=| `asd`|;|', 'var| c| |=| 'asd'|;|', 'var| d| |=| "asd"|;|', </del> <ins> 'var| b| |=| |`asd|`|;|', 'var| c| |=| |'asd|'|;|', 'var| d| |=| |"asd|"|;|', </ins> 'var| e| |=| /*3*/|	3|;|', 'var| f| |=| /**| 3| */3|;|', 'var| g| |=| (3+5|)|;|', <del> 'var| h| |=| {| a|:| 'value'| |}|;|', </del> <ins> 'var| h| |=| {| a|:| |'value|'| |}|;|', </ins> ]; for (let i = 0, len = autoClosePositions.length; i < len; i++) { const lineNumber = i + 1;

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Can the addition of the closing curly brace be whenever the opening curly brace is automatically initiated in an f-string in python? currently this doesn't happen and i need to add the closing curly brace when done - this feature would be useful --
Please add more details, e.g. a code sample.
apologies - I actually had but for some reason the main body of text wasn't posted. please see a below a code example - thank you. This is the current way in which the curly brace is interpreted in an f string. As you can see when you enter the opening curly brace, the closing one is not automatically inserted and i have to enter it manually.. it would be incredibly useful if the closing brace was automatically (in the same way automatic closing of brackets and braces is achieved outside of the print statement in the editor) to achieve something like: having said this - this is a trivial feature request, but i find myself using this a lot
is defined as bracket pair, also for when in strings, so I believe it should work.
Thank you for the reply! Hmm this doesn't for me unfortunately, is there a setting that needs to be activated?
does autoclose in strings in general e.g. https://user- But not at the position before the closing e.g. https://user- Relevant code:
ha! thank you, this is really interesting - i can confirm that it works when entering before the closing - funny because i have only ever really required the the braces before the closing comma (because this then creates a whitespace between the statement and the answer which is intended for visual purposes will this be treated as a bug to fix? again this obviously isn't critical. happy to close. thanks
This cannot be fixed at the moment. The behaviour is controlled by the autoCloseBefore property in the language configuration file, but quotes are not appropriate for that property. JavaScript and TypeScript make an exception for backticks.
Change:
KeybindingsRegistry.registerCommandAndKeybindingRule({ id: 'scm.acceptInput', <del> description: { description: localize('scm accept', "SCM: Accept Input"), args: [] }, </del> <ins> description: { description: localize('scm accept', "Source Control: Accept Input"), args: [] }, </ins> weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.has('scmRepository'), primary: KeyMod.CtrlCmd | KeyCode.Enter,

Discussion:
Within the UI in VS Code there are differing names for the SCM view depending on whereabouts you are in the UI. Under the "View Menu" there is an entry from "SCM" but everywhere else it is referred to as Source Control. (Hovering over the icon in the activity bar names it Source Control, the view container title says Source Control and in the command palette, the command is listed as "Source Control: Focus on Source Control View".) Then under settings there is a group "Features SCM" For consistency, it would be better to keep with a single (user facing) name that is used in all places.
I don't like using of abbreviations in the program GUI, especially if they are not as much popular and known. It took me a while to understand what is that SCM thing.
fixing this makes sense to me, though I might be missing some historical context.
Yeah the correct term is Source Control. SCM is just an internal name, should not be surfaced.
I've pushed a small PR that should rename this in all the places I could find.
Merged! thank you very much for the contribution!
Change:
this.monitorSuspendedWatchRequest(request, disposables); <del> this.updateWatchers(); </del> <ins> this.updateWatchers(true /* delay this call as we might accumulate many failing watch requests on startup */); </ins> } private resumeWatchRequest(request: IWatchRequestWithCorrelation): void { this.suspendedWatchRequests.deleteAndDispose(request.correlationId); this.suspendedWatchRequestsWithPolling.delete(request.correlationId); <del> this.updateWatchers(); </del> <ins> this.updateWatchers(false); </ins> } private monitorSuspendedWatchRequest(request: IWatchRequestWithCorrelation, disposables: DisposableStore): void {

Discussion:
With TS 5.5 we are seeing a lot more requests to watch paths such as which in the end makes the file watcher consume 100% CPU for at least a minute on my machine. Need to understand why this is so slow on startup, probably some complexity somewhere trying to handle these requests.
Change:
} if (this.values.length > 1) { <del> const actions = (await Promise.all(this.values.map(async (value) => { return { label: value.extensionDescription.displayName || value.extensionDescription.identifier.value, description: await value.url, extensionDescription: value.extensionDescription }; }))).filter(item => item.description); </del> <ins> const actions = await this.getActions(); </ins> if (actions.length) { const action = await this.quickInputService.pick(actions, { placeHolder: nls.localize('pickRemoteExtension', "Select url to open") });

Discussion:
I ran across this while trying to create report issue markdown links for notebooks. Clicking the report issue item in the help section of the remote explorer does nothing and I believe its because of improper arguments format for the report issue command here: The correct argument is an object with an extensionId property.
this works fine for me on desktop. Were you on web? It looks like that command is implemented differently for web. This seems unexpected. do you own and
Looks like might own this. These are the parts that I would expect to be the same:
It was me all along I will change Web to be more like Desktop.
I just debugged this and my issue reporter command is never fired. I think is an issue somewhere in this: The repro steps: don't have a remote workspace open or any workspace open for that matter open the remote explorer -help and feedback -Report Issue nothing happens.
To verify: Install at least 2 remote extension Reload, and make sure you don't have a remote or virtual workspace open Click "Report Issue" from the Remote "Help & Feedback" Verify that you get a quick pick.
Sorry for the false alarm there !
where is this?
! In the Remote Explorer at the bottom.
Change:
); } get taskShellIntegrationOutputSequence(): string { <del> if (!this._configurationService.getValue(TaskSettingId.ShowDecorations)) { return ''; } </del> return VSCodeSequence(VSCodeOscPt.CommandExecuted); }

Discussion:
I noticed this: We always want to add the sequences as it enabled command navigation, the decorations showing is purely a visual thing that hides the decoration button. So I suggest we remove the ShowDecorations check there and instead call into the terminal addon to disable the decoration.
To verify: repo (or any repo with a task that exits) the default build task to some file the test task it the test task it /ctrl+up should take you to the start of the task in step 6, not the very top of the terminal
I actually think we should remove the setting outright as we already have which essentially does the same thing. This would save us from exposing outside of the terminal part the ability to configure decoration visibility. Timeline: The terminal setting was as a boolean in Feb The task setting was in June The terminal setting was made more granular in July The interaction between the 2 settings confused someone in I'll leave the decision up to you whether we remove it, it feels like too much granularity to me as the user must like the terminal ones but not the task ones.
Let's remove it
Change:
} } <del> private async commitOperationCleanup(message: string | undefined, opts: CommitOptions) { </del> <ins> private async commitOperationCleanup(message: string | undefined, indexResources: string[], workingGroupResources: string[]) { </ins> if (message) { this.inputBox.value = await this.getInputTemplate(); } <del> const indexResources = [...this.indexGroup.resourceStates.map(r => r.resourceUri.fsPath)]; const workingGroupResources = opts.all && opts.all !== 'tracked' ? [...this.workingTreeGroup.resourceStates.map(r => r.resourceUri.fsPath)] : []; </del> this.closeDiffEditors(indexResources, workingGroupResources); }

Discussion:
Type: <bBug</bI have the setting: "Git: Close Diff On Operation" enabled. Staging a change will close the diff. Committing a staged change will close the diff. But if I just click the Commit button, the changes will commit but the diff won't close. Reproduction steps: & save a file the file in "Source Control" to open a diff Commit Expected behavior: The "(Working Tree)" tab closes Actual behavior: It stays open VS Code version: Code 1.77.3 (Universal) (, 2023-04-12T09:19:37.325Z) OS version: Darwin x64 22.4.0 Modes: Sandboxed: No <details<summarySystem Info</summary </details<details<summaryExtensions (22)</summaryExtensionVersion ------ tailwind-documentation0.1.6 ng-template15.2.1 tailwind-docs2.0.0 docs-view0.0.11 vscode-tailwindcss0.9.11 language-postcss1.1.0 vscode-deno3.17.0 vscode-axe-linter4.7.0 nasc-touchbar1.12.0 copilot1.84.51 vscode-test-explorer2.21.1 tasks-statusbar0.1.0 git-graph1.30.0 dotenv1.0.1 csharp1.25.4 test-adapter-converter0.1.7 vsliveshare1.0.5864 vscode-yaml1.12.2 snyk-vulnerability-scanner1.18.2 code-spell-checker2.20.4 vscode-todo-highlight1.0.5 pretty-ts-errors0.4.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --