jiebi/CodeConvo huggingface dataset:
Change:
} }); <ins> test('disallows nested keys (#77289)', () => { assert.strictEqual(configurationResolverService!.resolve(workspace, '${env:key1} ${env:key1${env:key2}}'), 'Value for key1 ${env:key1${env:key2}}'); }); </ins> // test('substitute keys and values in object', () => { // 	const myObject = { // 		'${workspaceRootFolderName}': '${lineNumber}',

Discussion:
Apparently resolving a string like will work but it will leave the last curly brace. We should disallow this case or throw an error, etc. See
Still seeing some odd behavior (although this may be expected) Repro MacOs : new terminal Bug In the terminal, see: This does not happen if I use a setting such as
Looks like that's a side effect of 'breaking' the path. Nested variables are just no longer interpolated, it's left as:
are those side effects you listed above intended side effects of the change? If so, I see the same thing on codespaces and we can just leave this issue verified. Otherwise, should the issue be moved to the next milestone?
Yes, it's intended that variables that have nested segments are no longer replace. Previously it would have resulted in a malformed string.
Change:
type: 'separator'; id?: string; label?: string; <ins> description?: string; </ins> ariaLabel?: string; buttons?: readonly IQuickInputButton[]; tooltip?: string | IMarkdownString;

Discussion:
So that we can add full path to Quick Search
Verification: Open from the command palette search for something Notice the folder paths next to the names of the files - that's the description! <img width="623" alt="image" src=""
Change:
let selectedItem: CustomizeLayoutItem | undefined = undefined; disposables.add(contextKeyService.onDidChangeContext(changeEvent => { if (changeEvent.affectsSome(LayoutContextKeySet)) { <del> quickPick.items = this.getItems(contextKeyService); </del> <ins> quickPick.items = this.getItems(contextKeyService, keybindingService); </ins> if (selectedItem) { quickPick.activeItems = quickPick.items.filter(item => (item as CustomizeLayoutItem).id === selectedItem?.id) as IQuickPickItem[]; }

Discussion:
Testing F1 Customize Layout Some of the entries have keybindinding with the same effect, like to show/hide the side bar, for the panel, or for zen mode The corresponding commands should show those keybinding so that I can learn how to achieve my goal faster
This can be easily done: <img width="633" alt="image" src=""PR:
Verification: open the layout picker ("Customize Layout") verify some of the entries show their keybindings
Change:
f1: false, keybinding: { primary: KeyMod.Alt | KeyCode.F3, <del> weight: KeybindingWeight.WorkbenchContrib </del> <ins> weight: KeybindingWeight.WorkbenchContrib, when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) </ins> }, menu: { id: MenuId.EditorTitle,

Discussion:
Looks new, this is overriding alt+f3 "show next change" in text editors
very good catch. I also wish to have AI detecting this sort of mistakes. Fix is coming
Change:
if (pick === saveAndCommit) { await Promise.all(unsavedTextDocuments.map(d => d.save())); <ins> await Promise.all(unsavedTextDocuments.map(d => repository.stage(d.uri, d.getText()))); </ins> await repository.status(); } else if (pick !== commit) { return false; // do not commit on cancel

Discussion:
Issue Type: <bBug</bor create a project that uses Git source control. or change some files and stage those changes. a file without saving it. to make a commit. This will bring up a dialog asking how to make the commit, which includes options to cancel, commit, or save all and commit. The nature of the dialog suggests that the file will be included in the commit when you save, which is true if you have no staged files. But when you have staged files, the newly-saved files should be staged as well in order to be included in the commit. Expected behavior: Files saved with this dialog should be staged for inclusion in the commit. Actual behavior: The commit is made without staging changes in the file. VS Code version: Code 1.31.1 (, 2019-02-12T02:20:54.427Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (3)</summaryExtensionVersion ------ EditorConfig0.13.0 tslint1.0.43 prettier-vscode1.8.1 </details<!-- 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.641 --- <!-- score: 0.605 --- <!-- score: 0.591 --- <!-- score: 0.526 --- <!-- score: 0.498 --<!-- potentialduplicatescomment --
Change:
*--------------------------------------------------------------------------------------------*/ import { DisposableStore } from 'vs/base/common/lifecycle'; <del> import { isEqual } from 'vs/base/common/resources'; </del> <ins> import { basename, isEqual } from 'vs/base/common/resources'; </ins> import Severity from 'vs/base/common/severity'; import { URI } from 'vs/base/common/uri'; import { ITextModelService } from 'vs/editor/common/services/resolverService';

Discussion:
a merge editor a change, make sure there is one unhandled conflict left the VS Code window (or close and reopen VS Code) the merge editor matter what you do, the changes from step 2 will be written to disk I think this is because step 3 sets the base for the revert operation that takes place at step 5. Thus, when reverting the merge editor changes, it will write the contents of the file after step 3 to disk, no the contents of the file after step 1. I think if we no longer automatically remove conflict markers, we don't need to save and restore the original content anymore: The user does not have auto-save enabled: The user opens a merge editor. The file stays non-dirty. The user modifies the result by clicking on the checkboxes or changing text in the result. This will make the result file dirty. The user closes the file with the "x" on the tab. 1.1) The file contains unhandled conflicts: A prompt shows with the options , and 1.2) The file does not contain unhandled conflicts: A prompt shows with the options , and (same dialog when closing a dirty normal file) The user has auto-save enabled: The user opens a merge editor. The file stays non-dirty. The user modifies the result by clicking on the checkboxes or changing text in the result. The file stays non-dirty and is written to disk. The user closes the file with the "x" on the tab. 2.1) The file contains unhandled conflicts: A prompt shows with the options and 2.2) The file does not contain unhandled conflicts: No prompt is shown Maybe we don't even need the prompt for 2.1). Maybe all prompts could have a checkbox to stage the file after saving it. What do you think?
Change:
this._container = undefined; } attachToElement(container: HTMLElement): Promise<void> | void { // The container did not change, do nothing if (this._container === container) {

Discussion:
I do not see the notification toast when I select "New Terminal" from command palette. But I see this issue that the OP reported I think: ! ! Originally posted by in
I see this problem: Start a new terminal - full screen Drag to bottom or right = non-functional If you split the panel right, it is fine
Reproes only when you have more than one terminal in the editor area
Can do it with a single terminal, clean open of VSCode (mac), no other windows. !
Thanks, I specifically meant when dragging and dropping into the panel.
/verified second terminal is no longer blank

<!-- 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: Version: 1.64.0-insider (Universal) Commit: Date: 2021-12-10T05:13:44.798Z (11 hrs ago) Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 or Version: 1.63.0 (Universal) Commit: Date: 2021-12-07T05:15:48.091Z Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 OS Version: macOS Big Sur 11.6.1 Remote OS Version: Ubuntu 20.04.3 Steps to Reproduce: to remote machine. terminal in editor area. Open another editor in editor area. Switch between terminals. I've seen this problem happening on a local window. I think it starts happening in local windows as soon as you open one remote. Not sure if its related, but I am using fish shell on both local and remote machines. Attaching reproduction gif. !
likely a /duplicate
Just saw this happen - occurs after dragging and dropping them in the editor area/rearranging
I'm not sure whether I'm repro'ing the original issue correctly. What are some confirmation/verification steps for this issue?

Just following the op's steps were enough. They were really broken.
try on a remote machine: terminal in editor area command a command terminal in editor area command between them Also: in terminal panel to editor area a command in terminal panel to editor area between them
Change:
}; private readonly closeDirtyWindowAction: IQuickInputButton = { <del> iconClass: 'dirty-window ' + Codicon.closeDirty, </del> <ins> iconClass: 'dirty-window ' + ThemeIcon.asClassName(Codicon.closeDirty), </ins> tooltip: localize('close', "Close Window"), alwaysVisible: true };

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: 1.86.2 OS Version: Windows 10 / macOS Sonoma Steps to Reproduce: at least three windows the command least one of the windows will show a strange close icon, instead of the regular one, like the image below ! I reproduced the same error on Windows, and it also presented a strange icon, but it was a different one. A small vertical rectangle, like that missing unicode chars. I tested the on Insiders release, at least on MacOS, and didn't notice the error. I didn't have the opportunity to test in Insiders on Windows yet. I'll update the issue later with more details. Thank you
are you using a product icon extension?
Nevermind, a regression from , fyi
Hi , Glad to know you could find the fix. Let me know if you need me to verify it when released. Thank you
<!-- 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:
const associationsFromSetting = this.getAssociationsForResource(resource); // We only want built-in+ if no user defined setting is found, else we won't override const possibleContributionPoints = contributionPoints.filter(contribPoint => priorityToRank(contribPoint.editorInfo.priority) >= priorityToRank(ContributedEditorPriority.builtin) && contribPoint.editorInfo.id !== DEFAULT_EDITOR_ASSOCIATION.id); <del> // If the user has a setting we use that, else choose the highest priority editor that is built-in+ const selectedViewType = associationsFromSetting[0]?.viewType || possibleContributionPoints[0]?.editorInfo.id; </del> <ins> // If the contribution is exclusive we use that, else use the user setting, else use the built-in+ contribution const selectedViewType = possibleContributionPoints[0]?.editorInfo.priority === ContributedEditorPriority.exclusive ? possibleContributionPoints[0]?.editorInfo.id : associationsFromSetting[0]?.viewType || possibleContributionPoints[0]?.editorInfo.id; </ins> let conflictingDefault = false; if (associationsFromSetting.length === 0 && possibleContributionPoints.length > 1) {

Discussion:
install "markdown notebook" extension make sure the default editor for MD files is the text editor open a MD file (opens as text) re-open with markdown notebook select an entry from outline or breadcrumbs :bug: a text editor opens
It looks like our editor contribution point isn't called
The same happens with the "references view" and the "problems panel" (use GH issue notebooks and make text editor default for its type)
Debugged this a little: everything works nice up to the point where the user setting is read and . That "steels" the resource from notebooks and re-routes it into the "normal" editor land... This code is novel to me so I might not have the best suggestions how to fix it. One idea is that my contribution marks a scheme as "winner scheme" and resources with that scheme will always use that contribution. Tho, I don't know what side effects that will have
Change:
const $ = dom.$; <del> const FIND_FOCUS_CLASS = 'find-focused'; const STATUS_ICON_WIDTH = 30; const SPLIT_ANNOTATION_WIDTH = 30; </del> <ins> const enum CssClass { ViewIsVertical = 'terminal-side-view', FindFocus = 'find-focused' } const enum WidthConstants { StatusIcon = 30, SplitAnnotation = 30 } </ins> export class TerminalTabbedView extends Disposable {

Discussion:
Testing !
We'll need to repro on mac and look at the sequences to verify whether this is an issue or we're going the right thing.
I think this is working as designed since it's just padding on the top, however we could check the location of the terminal view and if it's on either side, top align the terminal instead of bottom aligning it.
Change:
*--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; <del> import { LinkedMap, LRUCache, ResourceMap, Touch } from 'vs/base/common/map'; </del> <ins> import { BidirectionalMap, LinkedMap, LRUCache, ResourceMap, Touch } from 'vs/base/common/map'; </ins> import { extUriIgnorePathCase } from 'vs/base/common/resources'; import { URI } from 'vs/base/common/uri';

Discussion:
I wonder why all of line 14 becomes gray (i.e. unused) after I remove line 13. I guess this is because the decorations of line 13 get applied to line 14 which becomes line 13. I think we can improve this by listening to text edits and updating the cache accordingly - when a line is deleted, its decorations should be deleted too and not just applied to whatever lines becomes the deleted line. ! Another example: !
This is for TypeScript: ! And this for JSON: ! This indicates that this is indeed a problem of TypeScript, and not diagnostics in general (
how about a small TS repro sample?
!
Looks pretty normal here. Also just checked with that TypeScript uses plain diagnostics. Can be because of another setting/feature that interfers here? https://user-
Interesting. It also happens when I reset all my settings, but it only happens in the VS Code repository (but there every single time)...
I can't reproduce any problems when there is a single diagnostic present. Having a single diagnostic updates great: Using the following sample in an untitled file in the repo: ts /
Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See in the project root for license information. *
-------------/ const x = 3; ('' x + '' / 3); https://user- However, when removing the trailing such that also creates a diagnostic, I can see that the squiggle gets out of sync. I suspect that is constantly updating its diagnostic, while is not. Most likely, the fact that updates its diagnostic results in firing and the re-reading the markers from it and re-applying them. The marker goes to the right spot since it was newly refreshed by , but the marker goes to its original spot since didn't update it: https://user- To tackle this and only update the decorations for a certain diagnostics provider, the events would need to be more fine-grained and then could selectively update decorations by owner.
That's a nice find!
A cheap solution here would be for markers to record a model version id at the time they are set in the marker service. The could then read the markers and recreate squiggles only for the markers which are "fresh".
Yeah, that will work but there is no guarantee for this - since markers can be pushed for any resource.

Tho, in this case it will help
adds (which can be undefined tho)
Added the version to markers, un-assigning myself to leave the remaining work to
Change:
this._compositionRangeWithinEditor = newCompositionRangeWithinEditor; } this._emitTypeEvent(viewController, e); <del> // TODO @aiday-mar calling write screen reader content so that the document selection is immediately set // remove the following when electron will be upgraded this._screenReaderSupport.writeScreenReaderContent(); </del> })); this._register(editContextAddDisposableListener(this._editContext, 'compositionstart', (e) => { const position = this._context.viewModel.getPrimaryCursorState().modelState.position;

Discussion:
Enable the setting which enabled the native edit context adoption Copy some code which is more than 3 lines long Paste the code. The code that is pasted does not correspond to the code that is copied
After some investigation, I have noticed the following curious points. In the following, please note that to fix the long-press-E chromium issue, we essentially always write the screen reader content which means we always change the document selection. When screen reader is toggled off: When we read the copied text from the the electron clipboard in order to paste, it is incorrect When we remove the logic that sets the document selection for the screen reader content, the pasted text is correct When screen reader is toggled on: Text that is read from electron clipboard is always correct In fact interestingly when we revert the changes we have made for the long-press E issue, then this copy-paste issue no longer occurs! Since the long-press E issue is not important, and copy pasting is much more important, I believe that we should revert that fix. From this I believe this could be somehow related to a chromium bug. cc
I have made the following PR to revert the long press E fix : This fixed copy-pasting too.
Change:
} configureKeybindings(): void { <del> const items = this._currentProvider?.options?.configureKeybindingItems; const provider = this._currentProvider; </del> <ins> this._inQuickPick = true; const provider = this._updateLastProvider(); const items = provider?.options?.configureKeybindingItems; </ins> if (!items) { return; }

Discussion:
Testing Alt+k should open a quickpick which allows us to configure the keybindings but it's not working on Windows: !
reverting fixes this issue for me. Would you pls take a look?
It looks like the issue is now we call when the editor widget is blurred. Commenting out this code fixes the issue:
Hi thank you for taking the time to look into it.
Change:
// we use fibonacci numbers to have a performance baseline that indicates // how slow/fast THIS machine actually is. <del> const jsSrc = (function computeBaseline(this: WindowOrWorkerGlobalScope) { </del> <ins> const jsSrc = (function (this: WindowOrWorkerGlobalScope) { </ins> // the following operation took ~16ms (one frame at 64FPS) to complete on my machine. We derive performance observations // from that. We also bail if that took too long (>1s) let tooSlow = false;

Discussion:
It looks like the move of the fibonacci numbers to a web worker fails on In the console I see: The code points to this: <img width="814" alt="image" src="https://user-"I found this only because the web perf bot no longer finishes, waiting for the startup timings console log message that we do here: I cannot step over this method, it seems to throw.
also happens in desktop
Looks like minification removes the function name and therefore it fails <img width="831" alt="Screenshot 2023-01-27 at 11 45 10" src="https://user-"
I confirm the error on Windows, for the latest Insiders and Exploration builds.
Works
Change:
} } <del> private _moveCell(index: number, newIdx: number, bucket: vscode.NotebookDocumentContentChange[]): void { const cells = this._cells.splice(index, 1); </del> <ins> private _moveCells(index: number, length: number, newIdx: number, bucket: vscode.NotebookDocumentContentChange[]): void { const cells = this._cells.splice(index, length); </ins> this._cells.splice(newIdx, 0, ...cells); const changes = [ <del> new RawContentChangeEvent(index, 1, cells.map(c => c.apiCell), []), </del> <ins> new RawContentChangeEvent(index, length, cells.map(c => c.apiCell), []), </ins> new RawContentChangeEvent(newIdx, 0, [], cells) ]; for (const change of changes) {

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?: No -- I'm not sure how to demonstrate the behavior of with all extensions disabled <!-- 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.72.1 OS Version: Windows 10.0. Build Steps to Reproduce: "Create: New Jupyter Notebook" the following in the cell that is created automatically: two more code cells below the first both containing: ! -select the second and third cells. them above the first cell. Expected: Both cells that were moved show a red squiggly complaining that is not defined. Actual: Only the new topmost cell (which was topmost in the dragged selection) shows the error. Just based on that behavior this could easily be an LSP or Pylance bug. However, I have tracked this down to not handling the field in . It always reports that a single cell was moved. So, although the UI shows that both cells moved, the language server still thinks that the cell with no errors is at the bottom of the notebook. I'll create a PR with a fix soon. !