jiebi/CodeConvo huggingface dataset:
Change:
test('bracket selection', async () => { await assertRanges(new BracketSelectionRangeProvider(), '(|)', <del> new Range(1, 2, 1, 3), new Range(1, 1, 1, 4) </del> <ins> new Range(1, 2, 1, 2), new Range(1, 1, 1, 3) </ins> ); await assertRanges(new BracketSelectionRangeProvider(), '[[[](|)]]', <del> new Range(1, 6, 1, 7), new Range(1, 5, 1, 8), // () new Range(1, 3, 1, 8), new Range(1, 2, 1, 9), // [[]()] new Range(1, 2, 1, 9), new Range(1, 1, 1, 10), // [[[]()]] </del> <ins> new Range(1, 6, 1, 6), new Range(1, 5, 1, 7), // () new Range(1, 3, 1, 7), new Range(1, 2, 1, 8), // [[]()] new Range(1, 2, 1, 8), new Range(1, 1, 1, 9), // [[[]()]] </ins> ); await assertRanges(new BracketSelectionRangeProvider(), '[a[](|)a]', <del> new Range(1, 6, 1, 7), new Range(1, 5, 1, 8), new Range(1, 2, 1, 9), new Range(1, 1, 1, 10), </del> <ins> new Range(1, 6, 1, 6), new Range(1, 5, 1, 7), new Range(1, 2, 1, 8), new Range(1, 1, 1, 9), </ins> ); // no bracket

Discussion:
Issue Type: <bBug</bany file which contains word consisting of letters with underscores (f.e. helloworld). For simplicity let's assume only one underscore is present. cursor in various places of this word and activate expand selection command (either via keyboard shortcut or keybinding) : 3a. cursor is not near underscore (underscore is not immediately to the left or right of cursor) - part of the word selected, bounded by word beginning/end and underscore - OK 3b. underscore is immediately left to the cursor - part of word to the right of cursor is selected - OK 3c. underscore is immediately right to the cursor - the whole word is selected - UNEXPECTED. For 3c I expected only part of the word selected as well, not the whole word. VS Code version: Code 1.42.0 (, 2020-02-06T10:51:34.058Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (10)</summaryExtensionVersion ------ quick-open-prefill-selection0.0.1 vscode-eslint2.0.15 gitlens10.2.1 EditorConfig0.14.4 vscode-great-icons2.1.47 intellij-idea-keybindings0.2.37 camelcasenavigation1.1.1 material-icon-theme3.9.3 partial-diff1.4.1 terminal-tabs0.2.0 (5 theme extensions excluded) </details<!-- generated by issue reporter --
Tried to fix this in the PR PS - this is my first PR for a OSS, ever... please forgive me for any mistake or misconduct.
Change:
quickPick.hide(); colorStyleDisposable.dispose(); <ins> return result?.id; </ins> } selectPreviousSuggestion(): void {

Discussion:
Repro: Open multiple terminals Select multiple terminal tabs Right click and change color Change color only a single terminal is changed Real context stored with the action was done recently as part of Related:
/duplicate
Tracking each action separately
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for . See also our . Happy Coding!
I'm not sure this is worth fixing as color is meant to differentiate between tabs. Same for the icon/ renaming.
you might want multiple red though, right now it doesn't work as expected. We were actually doing this wrong by querying which tabs were selected also, after we get the actual instances this was triggered on passed into the action, so we can probably remove the special tab instance command as part of this.

Repro: Open multiple terminals Select multiple terminal tabs Right click and change icon Change icon only a single terminal is changed Real context stored with the action was done recently as part of Related:
Change:
let nodeToTest = node; if (node instanceof FolderMatch) { <del> nodeToTest = node.compressionStartParent ?? node; </del> <ins> const compressionStartNode = viewer.getCompressedTreeNode(node).element?.elements[0]; // Match elements should never be compressed, so !(compressionStartNode instanceof Match) should always be true here nodeToTest = (compressionStartNode && !(compressionStartNode instanceof Match)) ? compressionStartNode : node; </ins> } const immediateParent = nodeToTest.parent();

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:
return extHostClipboard; }, get shell() { <del> checkProposedApiEnabled(extension); </del> return extHostTerminalService.getDefaultShell(configProvider); }, openExternal(uri: URI) {

Discussion:
Provided the Python extension uses the API and it works as expected (), we should finalize it in July.
To verify just do a quick test that it seems to be working as expected on any platform, a more thorough test was done in the June milestone.
Change:
} } if (madeChanges) { <del> dom.append(templateData.value, $('.interactive-edits-summary', undefined, localize('editsSummary', "Made text edits"))); </del> <ins> dom.append(templateData.value, $('.interactive-edits-summary', undefined, localize('editsSummary', "Made changes."))); </ins> } }

Discussion:
Testing ! In the end everything will be text edits. So not sure how useful this message is. My be we can combine it with the info. Something like Made one textual changes. Please Accept or Discard them.
related to
Agree, it's merely a placeholder and needs tweaking. I like the idea of combining and I would like to but the diff-toggle there
I tweaked the working but we aren't in a position to make this more rich. The message "Made changes" is defined by the data model, the number of hunks is defined by the view model which also does the progressive typing. Moving to April - with some debt/feature work we might be in a better position for this
Closing this as duplicate of The "Made changes" messages only shows when not other textual reply was provided and we wanna change things so that the extension spells out what it did, like already does it today
Change:
import * as dom from 'vs/base/browser/dom'; import { Orientation, Sash } from 'vs/base/browser/ui/sash/sash'; <ins> import { disposableTimeout } from 'vs/base/common/async'; </ins> import { CancellationToken } from 'vs/base/common/cancellation'; import { Emitter } from 'vs/base/common/event'; <del> import { Disposable, DisposableStore } from 'vs/base/common/lifecycle'; </del> <ins> import { Disposable, DisposableStore, IDisposable, MutableDisposable } from 'vs/base/common/lifecycle'; </ins> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';

Discussion:
Testing I think that growing quick chat when you scroll is an interesting idea, but I would reset the size back to how it was when you reopen quick chat because its harder to manage the size to make it small again. You cannot just scroll to get back where you were.
Ahhh I struggle with this one because it might be that you wanna: scroll back to a former question switch to your editor switch back to that former question which you get with the current behavior. You can get back to the original size if you double click the sash... but that's maybe not obvious.
cc would love your thoughts.
Actually had forgotten that a double click on the sash quickly restores the size, so maybe its not as bad...
I think we'd want some other way to reset as double clicking the sash isn't widely known. Do we reset the height when the question session times out? If so I think it's fine as is.
We no longer do the session time out thing (aka Spotlight inspired timeout). Though, maybe I could introduce a timeout that will, after a few minutes, revert to the dynamic grow behavior?
I guess something like 30 seconds before revert would work alright, either that or some button shows up which lets the user go back to auto.
What are some verification steps for this issue? Here's what I see so far: If I ask a question, it starts from the top and starts growing downwards again If I close the chat and then reopen it a minute later, the answer is still there, and the chat is still expanded. If I ask another question, it starts from the top again, but that's true even if I don't wait 30 seconds If I manually move the sash, it seems like it's just stuck at that size
Verification steps: Ask a question like Get a long answer: ! scroll down to make it bigger ! hide it and show it again quickly. It should still look like screenshot 2 where you see everything hide it and wait 1min and show it again. It should look like screenshot 1 where you only see the last q&a
Change:
throw new Error(localize('fail.noEditor', "Cannot open resource with notebook editor type '{0}', please check if you have the right extension installed and enabled.", input.viewType)); } <ins> await this._extensionsWorkbenchService.whenInitialized; const extensionInfo = this._extensionsWorkbenchService.local.find(e => e.identifier.id === knownProvider); </ins> throw createEditorOpenError(new Error(localize('fail.noEditor.extensionMissing', "Cannot open resource with notebook editor type '{0}', please check if you have the right extension installed and enabled.", input.viewType)), [ toAction({ <del> id: 'workbench.notebook.action.installOrEnableMissing', label: localize('notebookOpenInstallOrEnableMissingViewType', "Install and enable extension for '{0}'", input.viewType), run: async () => { </del> <ins> id: 'workbench.notebook.action.installOrEnableMissing', label: extensionInfo ? localize('notebookOpenEnableMissingViewType', "Enable extension for '{0}'", input.viewType) : localize('notebookOpenInstallMissingViewType', "Install extension for '{0}'", input.viewType) , run: async () => { </ins> const d = this._notebookService.onAddViewType(viewType => { if (viewType === input.viewType) { // serializer is registered, try to open again

Discussion:
Here I have installed the extension but not enabled, so I suggest to change the wording of the button. !
Change:
return; } <del> const activeResourceRepository = Iterable.find( this.scmViewService.visibleRepositories, </del> <ins> const repository = Iterable.find( this.scmViewService.repositories, </ins> r => Boolean(r.provider.rootUri && this.uriIdentityService.extUri.isEqualOrParent(activeResource, r.provider.rootUri)) ); <del> this.onDidFocusRepository(activeResourceRepository); </del> <ins> this.onDidFocusRepository(repository); </ins> } private onDidFocusRepository(repository: ISCMRepository | undefined): void { <del> this.focusedRepositoryDisposables.clear(); if (!repository) { </del> <ins> if (!repository || this.focusedRepository === repository) { </ins> return; } <del> this.focusedRepositoryDisposables.add(repository.provider.onDidChangeHistoryProvider(() => { if (repository.provider.historyProvider) { this.focusedRepositoryDisposables.add(repository.provider.historyProvider.onDidChangeCurrentHistoryItemGroup(() => this.updateContextKeys(repository))); } </del> <ins> this.focusDisposable.dispose(); this.focusedRepository = repository; </ins> <del> this.updateContextKeys(repository); })); </del> <ins> if (repository && repository.provider.onDidChangeStatusBarCommands) { this.focusDisposable = repository.provider.onDidChangeStatusBarCommands(() => this.updateContextKeys(repository)); } </ins> this.updateContextKeys(repository); }

Discussion:
Testing a multi folder workspace with 1 repository each the branch name updates in the statusbar, but not in the title bar until the user switches to a new tab/file
I don't repro this on Windows with a custom titlebar, but it does take a few seconds for the titlebar to change the title in my case.
Pushing a fix to for this issue. I do want to call out that the status bar item is being updated "optimistically" so that we can show a "loading" indicator while the checkout is in progress. Due to this there might be a delay in the title bar being updated as the title bar only updates when the checkout completed.
I'm seeing the same behaviour, meaning I might not have encountered the actual issue in the first place. could you verify this issue?
<!-- 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!
Pinging about verification
Change:
private _onCursorPositionChanged(position: Position, secondaryPositions: Position[], reason: CursorChangeReason): void { const pauseAnimation = ( this._secondaryCursors.length !== secondaryPositions.length <del> || reason !== CursorChangeReason.Explicit </del> <ins> || (this._cursorSmoothCaretAnimation === 'explicit' && reason !== CursorChangeReason.Explicit) </ins> ); this._primaryCursor.onCursorPositionChanged(position, pauseAnimation); this._updateBlinking();

Discussion:
Type: <bBug</bthe set to the cursor around with arrows. Animation is there. something. Animation is not there. VS Code version: Code - Insiders 1.75.0-insider (, 2022-12-12T05:36:38.306Z) OS version: Darwin arm64 22.1.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (42)</summaryExtensionVersion ------ better-comments3.0.2 vscode-nginx-conf0.1.3 ng-template15.0.2 vscode-tailwindcss0.9.1 better-toml0.3.2 npm-intellisense1.4.3 vscode-eslint2.3.0 vscode-quick-select0.2.9 xml2.5.1 gitlens13.1.1 scroll-faster0.2.2 prettier-vscode9.10.3 vscode-jest-runner0.4.59 auto-rename-tag0.1.10 shell-format7.2.2 macros1.2.1 vscode-pull-request-github0.57. vscode-postfix-ts1.11.3 Angular213.0.0 center-editor-window2.3.0 graphql-for-vscode1.15.3 vscode-clangd0.1.23 ts-error-translator0.5.1 dotenv1.0.1 vscode-docker1.23.1 black-formatter2022.7. isort2022.9. python2022.21. vscode-pylance2022.12.21 vscode-typescript-next5.0. vsliveshare1.0.5788 prisma4.7.1 vscode-yaml1.10.1 better-pageup-pagedown0.0.1 rust-analyzer0.4.1316 vs-code-prettier-eslint5.0.4 justfile2.1.0 vscode-scss-formatter2.4.4 shellcheck0.29.1 vscode-input-sequence0.2.0 errorlens3.6.0 vscode-lldb1.8.1 (1 theme extensions excluded) </details<!-- generated by issue reporter --
Maybe related to /assign
This was an intentional change to disable the animation when typing/deleting.

See
okay, that makes perfect sense. closing.
Also having the same issue. Has there been a fix?
We have intentionally removed animating the cursor when typing for which explicitly asks us to do that. But I think some folks actually prefered the old behavior of animating also when typing?
Yes, I love the animating when typing.
A good common ground could be that it becomes a setting to also have the caret animated while typing
I've pushed a change where there will be 3 possible values for : off: Smooth caret animation is disabled explicit: Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture. This should cover users who don't want it like in issue on: Smooth caret animation is always enabled
thank you for the changes. I noticed now cursorSmoothCaretAnimation is turned on by default and can't be turned off at all. Looks like a bug.
see which is already fixed.
Change:
contextKeyService.bufferChangeEvents(() => { this.debugType = CONTEXT_DEBUG_TYPE.bindTo(contextKeyService); this.debugState = CONTEXT_DEBUG_STATE.bindTo(contextKeyService); <ins> this.debugSessionStarted = CONTEXT_DEBUG_SESSION_STARTED.bindTo(contextKeyService); </ins> this.inDebugMode = CONTEXT_IN_DEBUG_MODE.bindTo(contextKeyService); this.debugUx = CONTEXT_DEBUG_UX.bindTo(contextKeyService); this.debugUx.set(this.debugStorage.loadDebugUxState());

Discussion:
Not sure it was always like this before, but look at this. Unless I set at least one breakpoint, it's not possible to show the "Breakpoints view" in the panel. Then its the only solution to toggle (All/Uncaught Exceptions). Was not possible to show this view without any user predefined breakpoints ? ! Flutter 3.3.7 • channel stable • Framework • revision (il y a 3 semaines) • 2022-11-01 16:59:00 -0700 Engine • revision Tools • Dart 2.18.4 • DevTools 2.15.0 Vscode: 1.73.1 OS: Linux Mint 20.3 x86_64 Kenel 5.15.0-53-generic
Not sure about this- did you move the breakpoints view into the test view? Does it work in the debug viewlet?
Not sure what you mean. Maybe larger screens captures will help. Do you see the "debug viewlet <= if it's so called" is not accessible in the menu when no breakpoint is defined ! But when is set one breakpoint, it appears in the menu & the viewlet also ! But this means that if you want to switch theses checkboxes : ! must need to define at least a breakpoint !! Is this not 2 extras click ? 1) turn on a dummy a breakpoint <===== ??? 2) switch the desired type of exception 3) turn off the dummy breakpoint <===== ???
Side note... It appears that the problem was in my current Flutter project but not now ...opening another one. I briefly checked if its a matter of doesn't seem to be. Would it be because of one dependency ?
How strange is this...I show you side by side On the left : freshly made project "test" =Debug viewlet not accessible in the right-click menu path is : On the right: an old project : =Debug viewlet is accessible in the right-click menu path is: !
I see, this happens when you don't have a in your project. Since it's possible to debug without defining a , we should show this view when you have started the debugger once previously.

If anyone wants to work on this, we should add a new context key that is set to true when a debug session starts, and when that context key is true, the breakpoints view should be visible:
I've submit a patch with a possible fix, let me know if it works.
I see the breakpoints view in a folder without a , but it has no contents when expanded, is that expected? <img width="583" alt="image" src="https://user-"Also, not sure if this is an intentional behavior change, but clicking Run and Debug in Insiders in the above scenario does nothing, while in Stable I get this quickpick <img width="791" alt="image" src="https://user-"I have Python extension v2023.1. in stable and v2023.1. in insiders, in case this is caused by an extension and not core.
Good catch, filed , thanks
Change:
portsAttributes: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts', profileContentHandlers: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts', quickDiffProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts', <del> quickPickItemIcon: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemIcon.d.ts', </del> quickPickItemTooltip: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts', quickPickSortByLabel: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts', readonlyMessage: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.readonlyMessage.d.ts',

Discussion:
Would it be possible to allow for extensions to provide icons in s? At the moment we can use via the syntax, but if we want to provide a custom icon that is more complex (perhaps we can do that be providing a font and a partial product icon theme?). With a , we can pass in an optional icon path: Could we add this to QuickPickItem too? Based on the quick open input, there is already space afforded in the UI for the icon, so it would be useful if extensions to provide one.
Related to which asks for the ability to specify filetype icons.
Proposal: It looks a bit off using squares: !
Example with circles for reference: !
For anyone curious, circles are possible by using data URIs: Example and copied here for reference:
Change:
const thread = sessions.length === 1 && sessions[0].getAllThreads().length === 1 ? sessions[0].getAllThreads()[0] : undefined; if (thread && thread.stoppedDetails) { this.stateMessageLabel.textContent = thread.stateLabel; <del> this.stateMessageLabel.title = thread.stateLabel; </del> <ins> this.stateMessageLabel.title = thread.stoppedDetails.text || thread.stateLabel; </ins> this.stateMessageLabel.classList.toggle('exception', thread.stoppedDetails.reason === 'exception'); this.stateMessage.hidden = false; } else if (sessions.length === 1 && sessions[0].state === State.Running) {

Discussion:
Issue Type: <bBug</bDebug a program that throws an exception (any language). Hover over the paused message text. Expected: (this screenshot is from v1.49.0) The 'Text' information to be displayed on hover. The color of the pause message background to be 'red'. ! Got: The same name shown on hover. The color of the pause message background was grey. ! VS Code version: Code 1.56.0 (, 2021-05-04T22:06:21.189Z) OS version: Darwin x64 20.4.0 <details<summarySystem Info</summary </details<details<summaryExtensions (17)</summaryExtensionVersion ------ gitlens11.4.1 EditorConfig0.16.4 prettier-vscode6.4.0 vscode-diff1.4.1 go-nightly2021.5.1113 cloudcode1.11.1 vscode-docker1.12.1 python2021.5. vscode-pylance2021.5.1 jupyter2021.6. remote-containers0.177.2 remote-ssh0.65.4 remote-ssh-edit0.65.4 remote-wsl0.56.2 vscode-remote-extensionpack0.21.0 vscode-typescript-tslint-plugin1.3.3 reload0.0.6 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
The information displayed on the hover now seems to be the file name rather than the Python exception type, at least within Codespaces. is this expected behaviour?
/verified
are you hovering over the stopped description? I am getting the correct hover text <img width="462" alt="Screen Shot 2021-06-04 at 9 08 51 PM" src="https://user-"