jiebi/CodeConvo huggingface dataset:
Change:
background-color: inherit; } <del> .chat-footer-toolbar { </del> <ins> .interactive-item-container .chat-footer-toolbar { </ins> display: none; } <del> .chat-footer-toolbar .monaco-action-bar .actions-container { </del> <ins> .interactive-item-container .chat-footer-toolbar .monaco-action-bar .actions-container { </ins> gap: 4px; padding-top: 6px; } <del> .interactive-response:not(.chat-response-loading) .chat-footer-toolbar { /* Complete response only */ display: initial; height: 22px; } .interactive-item-container .header .monaco-toolbar .checked.action-label, .interactive-item-container .header .monaco-toolbar .checked.action-label:hover { </del> <ins> .interactive-item-container .chat-footer-toolbar .checked.action-label, .interactive-item-container .chat-footer-toolbar .checked.action-label:hover { </ins> color: var(--vscode-inputOption-activeForeground) !important; border-color: var(--vscode-inputOption-activeBorder); background-color: var(--vscode-inputOption-activeBackground); } <ins> .interactive-item-container.interactive-response:not(.chat-response-loading) .chat-footer-toolbar { /* Complete response only */ display: initial; height: 22px; } </ins> .interactive-item-container .value { width: 100%; }

Discussion:
Type: <bBug</bIn today's Insiders build, the Thumbs Up and Down buttons in chat offer no visual feedback that they were clicked. When you click thumbs up, absolutely nothing visible happens. When you click thumbs down, you get the dropdown and you can select a reason, but the only visual feedback that anything happened is that the checkbox next to the reason is checked the next time you hit thumbs down. Ideally, both buttons should do something like fill in solid color when they have been clicked. VS Code version: Code - Insiders 1.94.0-insider (, 2024-09-25T05:04:31.141Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (20)</summaryExtensionVersion ------ vscode-sidebar1.2.3 tsl-problem-matcher0.6.2 esbuild-problem-matchers0.0.3 vscode-eslint3.0.10 codespaces1.17.3 copilot1.234.1124 copilot-chat0.21. azure-dev0.8.3 vscode-azure-github-copilot0.2.74 vscode-azureresourcegroups0.9.5 vscode-docker1.29.3 vscode-dotnet-runtime2.1.6 debugpy2024.11. python2024.15. remote-containers0.387.0 remote-wsl0.88.4 extension-test-runner0.0.12 vscode-selfhost-test-provider0.3.25 vscode-yaml1.15.0 fugio0.0.7 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Good catch, thank you!
Change:
this._messages.fire(msg); })); <ins> const altVersionNow = this._editor.getModel()?.getAlternativeVersionId(); </ins> this._sessionStore.add(this._editor.onDidChangeModelContent(e => { if (!this._ignoreModelContentChanged && this._strategy?.hasFocus()) { <del> this._ctxUserDidEdit.set(true); </del> <ins> this._ctxUserDidEdit.set(altVersionNow !== this._editor.getModel()?.getAlternativeVersionId()); </ins> } if (this._ignoreModelContentChanged || this._strategy?.hasFocus()) {

Discussion:
open inline chat on a mid sized method/function the whole function gets included (by the chat extension) the background color isn't contiguous <img width="963" alt="Screenshot 2023-09-26 at 16 15 59" src=""

trigger inline chat and send a command press the reload button in the chat press escape notice that it keeps the last result (and does not restore the initial document) When I don't click the reload button, pressing escape restores the initial document. ! Context:
Change:
listener.dispose(); }); })); <ins> this._register(dom.addDisposableListener(xterm.element, 'touchstart', () => { xterm.focus(); })); </ins> // xterm.js currently drops selection on keyup as we need to handle this case. this._register(dom.addDisposableListener(xterm.element, 'keyup', () => {

Discussion:
When using touch instead of a mouse, touching a terminal does not move the focus to the terminal. Clicking however does.
Probably need to move to pointer events in
This really is annoying on devices, such as good ol' Surface Pro 3, where it is natural to use mostly touch and otherwise keyboard shortcuts. Unfortunately, focusing the terminal pane has no configurable shortcut that I'm aware of. Or does it have one?
I tried simulated touch via devtools mobile emulation as well as touching the terminal on my phone and both work so I'm not sure what would be causing this. I don't have a touchscreen device other than those and my phone doesn't want to load a Codespace.
It works in Demo section on , but not it VS Code. I don't have access to Codespaces so can't tell if it's reproducible there. Also it looks like Web Test Playground doesn't have terminal at all.
Yeah I'm blocked fixing this unfortunately, maybe can look at this if there's time this month.
I can confirm that touch again works as expected with on my Surface Pro 3.
Change:
})); generateCellTopDecorations(); <ins> this.registerDecorations(); } private registerDecorations() { if (!this.currentCell) { return; } this.cellDisposables.add(this.currentCell.onCellDecorationsChanged((e) => { e.added.forEach(options => { if (options.className && this.currentCell) { this.rootContainer.classList.add(options.className); this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [options.className], []); } if (options.outputClassName && this.currentCell) { this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [options.outputClassName], []); } }); e.removed.forEach(options => { if (options.className && this.currentCell) { this.rootContainer.classList.remove(options.className); this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [], [options.className]); } if (options.outputClassName && this.currentCell) { this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [], [options.outputClassName]); } }); })); this.currentCell.getCellDecorations().forEach(options => { if (options.className && this.currentCell) { this.rootContainer.classList.add(options.className); this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [options.className], []); } if (options.outputClassName && this.currentCell) { this.notebookEditor.deltaCellContainerClassNames(this.currentCell.id, [options.outputClassName], []); } }); </ins> } }

Discussion:
Testing I select a set of cells with Shift+Click, and I hit Ctrl+F to open the find widget. The cells are then highlighted as such: <img width="981" alt="image" src=""I scroll down a full page length, and then scroll back up. The cells are now highlighted as such, with no click or type input on my part: <img width="980" alt="image" src=""It appears that the Code cells lost their yellow highlight.
Change:
return; } disposable.add(this._editor.textModel.onDidChangeContent(contentChanges => { <del> if (contentChanges.rawEvents.some(c => c.kind === NotebookCellsChangeType.ChangeCellContent)) { </del> <ins> if (contentChanges.rawEvents.some(c => c.kind === NotebookCellsChangeType.ChangeCellContent || c.kind === NotebookCellsChangeType.ChangeCellInternalMetadata || c.kind === NotebookCellsChangeType.Move || c.kind === NotebookCellsChangeType.ModelChange)) { </ins> delayedRecompute(); } }));

Discussion:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

Testing open show outline and have sticky scroll enabled scroll the cell with "# Header " into view delete the cell :bug: the sticky scroll breaks, the error below is printed <img width="1482" alt="Screenshot 2024-04-23 at 08 51 18" src=""
I'm unable to repro this. Please can you share a screen recording of the steps. Perhaps recoding from opehning the notebook to selecting and deleting. Thanks.
Looking at the stacktrace tells me this is coming here which means the model had been already
following the steps above (empty profile) always reproduce the error (console) for me. The screen cheese shows in sticky scroll and/or other paces of the outline tree
Change:
editor.selection = new Selection(13, 14, 13, 14); const cancelSrc = new CancellationTokenSource(); const completionPromise = completionProvider.provideCompletionItems(editor.document, editor.selection.active, cancelSrc.token, { triggerKind: CompletionTriggerKind.Invoke }); <del> assert.equal(!completionPromise, true, `Got unexpected comapletion promise instead of undefined`); </del> <ins> assert.equal(!completionPromise, true, `Got unexpected completion promise instead of undefined`); </ins> return Promise.resolve(); }); });

Discussion:
Issue Type: <bFeature Request</bI'm not talking about the editor's horizontal scroll is a very thin scroll bar between the tabs and editor,that's what i'm talking about. When you open too many tabs,some tabs are invisible so you need scrolling horizontally. There's a scrollbar to scroll the tabs,but it's too thin. Of course,this wasn't a big bug or what,and I can use "Ctrl+Tab" to switch tabs. maybe this bar should be bigger or even disappear considering it's not helpful. VS Code version: Code 1.32.3 (, 2019-03-14T23:43:35.476Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.49 --<!-- potentialduplicatescomment --
Duplicate of
Oops, tagged wrong issue.
Change:
test('Notebook Editor Event - onDidChangeVisibleNotebookEditors on two editor groups', async function () { const resource = await utils.createRandomFile(undefined, undefined, '.nbdtest'); <ins> const document = await vscode.workspace.openNotebookDocument(resource); </ins> let count = 0; testDisposables.push(vscode.window.onDidChangeVisibleNotebookEditors(() => { count = vscode.window.visibleNotebookEditors.length; })); <del> await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Active }); </del> <ins> await vscode.window.showNotebookDocument(document, { viewColumn: vscode.ViewColumn.Active }); </ins> assert.strictEqual(count, 1); <del> await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Beside }); </del> <ins> await vscode.window.showNotebookDocument(document, { viewColumn: vscode.ViewColumn.Beside }); </ins> assert.strictEqual(count, 2); await utils.closeAllEditors();

Discussion:
The has been finalized with VS Code 1.68 (). If your extension was using the proposal, you should now switch to the finalized version of this API. In the majority of cases, this switch is as simple as: your extension to target VS Code in the new from your list of enabled API proposal. However there are few small bumps to be aware of: has been renamed . Please make sure to switch over to the new property name as part of this migrationWe did not finalize the version of that takes a uri. Instead you can use Here's a list of all current consumers of the old API proposal: [x] ms-vsliveshare.vsliveshare — [X] ms- — [x] Dot net interactive — [x] GitHub.codespaces — [x] ms- — If you own one of these extensions, please migrate to the finalized notebook editor API. Let me know once the new version of your extension is published and I will remove your extension from the list of api consumers
I am actually fine in ESLint. The dependency was because of notebook support in LSP and LSP already converted to the final version for the 8.x release of the LSP libs.
Thank you everyone who's checked off their extension so far! If you have, I plan to remove your extension from the list of API consumers in July. This will only start effecting the insiders builds of VS Code at first, but please let me know if you notice any issues
I'm working on the change for Codespaces and expect it to be in our next extension release (1.10.0) in a few days. I'll reply back once it's on the marketplace.
We just published GitHub Codespaces 1.10.0 with this change, so you should be able to remove our extension from the list of proposed API consumers.
Change:
import { TestCase, TestConstruct, TestSuite, VSCodeTest } from './testTree'; const suiteNames = new Set(['suite', 'flakySuite']); <ins> const testNames = new Set(['test']); </ins> export const enum Action { Skip,

Discussion:
Guessing this is because of the conditionals? It detects them fine, but doesn't run. They run fine if I add to the suite and !
Yes, we use an to extract tests from files. It doesn't doing any evaluation. Not sure that I want to open that can of worms
but it detects the tests as seen on the left side, so why isn't it able to run it if it knows the test name?
The identity of a test is formed by joining the containing file name and its name with the path of containing suites' names. The extension detects the suite but it does not recognize that it's a child of . When tests are run it's expecting updates to a test named , but it doesn't get that so it's marked as skipped.
I clicked run on though, so can't we run everything matching in that case?
It does run everything, and you should see that in the test output, but it doesn't associate the results with the tests. It expects to get results for but it actually gets , which is not a path to any test the extension knows about.
Could we be a little smarter in matching these up if there's a simple 1:1 match up? Like checking that expected items have matching prefixes and suffixes and there's no ambiguity? I don't expect this to work if we're generating tests with a loop (though that would be nice), if we can exactly match up the amount of tests to that expected then it should be safe?
Eh, I'll just add some logic to identify simple ternary expressions like these
Change:
import { Registry } from 'vs/platform/registry/common/platform'; import { EditorPaneDescriptor, IEditorPaneRegistry } from 'vs/workbench/browser/editor'; import { EditorExtensions, IEditorFactoryRegistry, IEditorSerializer, IUntypedEditorInput } from 'vs/workbench/common/editor'; <del> // is one contrib allowed to import from another? </del> import { parse } from 'vs/base/common/marshalling'; import { assertType } from 'vs/base/common/types'; import { URI } from 'vs/base/common/uri';

Discussion:
was broken for some time and I re-enabled it today. However eslint failures were reported in and and I disabled them. Please have a look and fix the corresponding errors.
- I'm not sure what that rule is - do you know if it's documented somewhere? Also, when I remove that comment and run locally, I don't see any failures.
Tyler helped me find it. I don't see lint warnings for this for some reason, even though I have the installled and enabled
Change:
if (item.tooltip && !allowedTooltips) { console.warn(`Extension '${this.extension.identifier.value}' uses a tooltip which is proposed API that is only available when running out of dev or with the following command line switch: --enable-proposed-api ${this.extension.identifier.value}`); } <del> if (item.iconPath && !allowedIcons) { console.warn(`Extension '${this.extension.identifier.value}' uses an icon which is proposed API that is only available when running out of dev or with the following command line switch: --enable-proposed-api ${this.extension.identifier.value}`); } const icon = (item.iconPath && allowedIcons) ? getIconPathOrClass(item.iconPath) : undefined; </del> <ins> const icon = (item.iconPath) ? getIconPathOrClass(item.iconPath) : undefined; </ins> pickItems.push({ handle, label: item.label,

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:
return Event.None; } <ins> onAlertEnabledChanged(cue: AudioCue): Event<void> { return Event.None; } </ins> async playSound(cue: Sound, allowManyInParallel?: boolean | undefined): Promise<void> { } playAudioCueLoop(cue: AudioCue): IDisposable {

Discussion:
Testing "Audio Cues: Line Has Warning" is set to false. "Accessibility Alert: Warning" is set to true. I generated a warning by using the Markdown Lint extension and writing text into a new Markdown file without an h1 header. When I turn on the audio cue, the accessibility alert also alerts me that there's a warning. When I turn off the audio cue but leave the accessibility alert on, the accessibility alert does not alert me that there's a warning.
I cannot seem to trigger a warning - can you pls give more specific instructions about how to do so? !
Install the extension. Then create a .md file and paste in the following The extension should already generate a warning.
Note this issue when verifying . When I tested using a screen reader, the warning only appeared once. Based on debugging (the call happens), I believe when using a braille device, this works.
Change:
alertFn(this._announceSearchResults(label, this.inputValue)); this._matchesCount.appendChild(document.createTextNode(label)); this._foundMatch = !!count && count.resultCount > 0; <ins> this.updateButtons(this._foundMatch); </ins> } changeState(state: INewFindReplaceState) {

Discussion:
vscode project run open find widget and search for "RawSearchService" at one point there is a match "1 of 1" :bug: arrow keys stay disabled, arrow keys work https://user-
I can't reproduce. What theme is that and does inspecting the buttons show something off?
It's unrelated to the theme - I do see them enabled at times
I cannot reproduce either
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
I have given precise steps, did you follow them the exact way? https://user-
It's not researching on Windows <img width="1578" alt="image" src="https://user-"But I think the part I was missing was doing the search before the term exists, bug is likely not re-evaluating button state after a research triggered by buffer change
I still managed to get into this state after messing around with the find widget for a little while: ! Here's what seemed to repo it for me: a large folder, run for a common character like should see a find widget that shows arrows but doesn't have a find result count on the arrows in the find widget :bug: Now the arrows are disabled but still clickable
I also have if that's relevant
I can see this too, also it shows before disappearing if you do the search before running ls -lr
<img width="289" alt="image" src="https://user-"<img width="356" alt="image" src="https://user-"
This is happening because we behave a little differently when there are more than 1000 results: We can improve this but it's a separate problem, opened To verify this just verify the steps above, with either a specific term like "RawSearchService" or with a small scrollback value.
I can verify this works, however given the fact that was unable to repro at some point, its possible that I too am running into the same situtation Probably best if and/or also tested this. Either way, marking as verified
Change:
this._disposables.add(addDisposableListener(this._input, 'blur', () => { this._focusedContextKey.reset(); })); this._domNode.appendChild(this._input); <del> this._candidatesView = new CandidatesView(this._domNode, { fontInfo: this._editor.getOption(EditorOption.fontInfo) }); </del> <ins> this._candidatesView = new CandidatesView(this._domNode, { fontInfo: this._editor.getOption(EditorOption.fontInfo), onSelectionChange: () => this.acceptInput(false) // we don't allow preview with mouse click for now }); </ins> this._label = document.createElement('div'); this._label.className = 'rename-label';

Discussion:
a symbol in typescript how you nicely offer some Copilot suggested names on one of them -no effect Accepting using the keyboard works.
Change:
disallowSyncIgnore?: boolean; extensionInfo?: IConfigurationExtensionInfo; validator?: (value: any) => string | null; <ins> enumItemLabels?: string[]; </ins> } export interface IExtensionSetting extends ISetting {

Discussion:
Issue Type: <bBug</b! VS Code version: Code - Insiders 1.50.0-insider (, 2020-09-12T00:56:22.923Z) OS version: Darwin x64 19.4.0 Remote OS version: Linux x64 4.19.76-linuxkit <details<summarySystem Info</summary </details<!-- generated by issue reporter --
This is the order that it's contributed in. Do you think that the settings UI should sort them alphabetically like they are in the suggest widget, or leave them in contribution order, in case that is important? Looking through some enum settings, some seem to order the options in an intentional way, like with the default first, or the simpler options first. Some are random or are sorted. I think I am inclined to display them in contributed order to keep this an option (and we can sort the encodings manually), but I'm not sure, what do you think?
It should be this order, same as the picker: ! The encodings are not sorted by name intentionally. But they are grouped by type and I guess that is not very visible in the settings editor.
Oh, got it. I've seen a few of these cases where it would make sense to display the enumDescription in the dropdown instead of the actual value. It doesn't make sense in general but it would be cool to provide an option for settings to opt into that, what do you think?
Yeah I think it would make a lot of sense in this case
I think we should add an option to the schema contribution for this but I have no clue what to call it
If the dropdown list will now display the enumDescriptions, should the description footer on the list show the value to be set? Should the collapsed dropdown control show the selected value or its enumDescription?
Yes, I'd say just swap them I think it should show the enumDescriptioni
I'll start working on this issue. Thanks for your help.
Now this will show with the key in the description area in square brackets. But it would look much nicer to match the editor encoding picker, so I opened for that.
Change:
private _registerDefinitionIfAvailable(modeId: string): void { if (this._languageToScope.has(modeId)) { const promise = this._createGrammar(modeId).then((r) => { <del> return new TMTokenization(this._scopeRegistry, r.languageId, r.grammar, r.initialState, r.containsEmbeddedLanguages, this._notificationService); </del> <ins> return new TMTokenization(this._scopeRegistry, r.languageId, r.grammar, r.initialState, r.containsEmbeddedLanguages, this._notificationService, this._configurationService); </ins> }, e => { onUnexpectedError(e); return null;

Discussion:
Found no duplicated for this one Currently it's hardcoded I propose a config entry for long line length If you're object, I'd like to create pull request for this feature Your thoughts?
I think this makes sense as a workspace setting that defaults to the current value. Feel free to make a PR!