jiebi/CodeConvo huggingface dataset:
Change:
return withFormatting(text, edit, formattingOptions); } } else if (parent.type === 'array' && typeof lastSegment === 'number' && Array.isArray(parent.children)) { <del> const insertIndex = lastSegment; if (insertIndex === -1) { </del> <ins> if (value !== undefined) { </ins> // Insert const newProperty = `${JSON.stringify(value)}`; let edit: Edit; <del> if (parent.children.length === 0) { edit = { offset: parent.offset + 1, length: 0, content: newProperty }; </del> <ins> if (parent.children.length === 0 || lastSegment === 0) { edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + ',' }; </ins> } else { <del> const previous = parent.children[parent.children.length - 1]; </del> <ins> const index = lastSegment === -1 || lastSegment > parent.children.length ? parent.children.length : lastSegment; const previous = parent.children[index - 1]; </ins> edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty }; } return withFormatting(text, edit, formattingOptions); } else { <del> if (value === undefined && parent.children.length >= 0) { //Removal const removalIndex = lastSegment; const toRemove = parent.children[removalIndex]; let edit: Edit; if (parent.children.length === 1) { // only item edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' }; } else if (parent.children.length - 1 === removalIndex) { // last item const previous = parent.children[removalIndex - 1]; const offset = previous.offset + previous.length; const parentEndOffset = parent.offset + parent.length; edit = { offset, length: parentEndOffset - 2 - offset, content: '' }; } else { edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' }; } return withFormatting(text, edit, formattingOptions); </del> <ins> //Removal const removalIndex = lastSegment; const toRemove = parent.children[removalIndex]; let edit: Edit; if (parent.children.length === 1) { // only item edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' }; } else if (parent.children.length - 1 === removalIndex) { // last item const previous = parent.children[removalIndex - 1]; const offset = previous.offset + previous.length; const parentEndOffset = parent.offset + parent.length; edit = { offset, length: parentEndOffset - 2 - offset, content: '' }; </ins> } else { <del> throw new Error('Array modification not supported yet'); </del> <ins> edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' }; </ins> } <ins> return withFormatting(text, edit, formattingOptions); </ins> } } else { throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);

Discussion:
Currently json edit allows to insert items in an array at the end by passing . It does not support inserting at an index.
Change:
*--------------------------------------------------------------------------------------------*/ import { exec } from 'child_process'; <ins> import { promises as fs } from 'fs'; </ins> import type * as pty from 'node-pty'; <ins> import { tmpdir } from 'os'; </ins> import { timeout } from 'vs/base/common/async'; import { Emitter, Event } from 'vs/base/common/event'; import { Disposable } from 'vs/base/common/lifecycle'; <ins> import { FileAccess } from 'vs/base/common/network'; </ins> import * as path from 'vs/base/common/path'; import { IProcessEnvironment, isLinux, isMacintosh, isWindows } from 'vs/base/common/platform'; import { URI } from 'vs/base/common/uri';

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 Yes. <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.65.0-insider OS Version: MacOS12.2.2 Steps to Reproduce: with setting new terminal <img width="1440" alt="image" src="https://user-"
Thanks, we're aware of this issue and have been working toward its resolution
Change:
import { IInputBox, IKeyMods, IQuickInput, IQuickInputButton, IQuickInputHideEvent, IQuickInputToggle, IQuickNavigateConfiguration, IQuickPick, IQuickPickDidAcceptEvent, IQuickPickItem, IQuickPickItemButtonEvent, IQuickPickSeparator, IQuickPickSeparatorButtonEvent, IQuickPickWillAcceptEvent, IQuickWidget, ItemActivation, NO_KEY_MODS, QuickInputHideReason } from 'vs/platform/quickinput/common/quickInput'; import { QuickInputBox } from './quickInputBox'; import { QuickInputList, QuickInputListFocus } from './quickInputList'; <del> import { getIconClass, renderQuickInputDescription } from './quickInputUtils'; </del> <ins> import { quickInputButtonToAction, renderQuickInputDescription } from './quickInputUtils'; </ins> export interface IQuickInputOptions { idPrefix: string;

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.85.1 OS Version: Ubuntu 23.04 Steps to Reproduce: the command palette using ctrl+shift+p (or cmd+shift+p on mac) the escape key, closing the command palette 7 times that instance count has increased by 7, instance count has increased by 211, instance count has increased by 240 and instance count has increased by 302. The total disposable count has increased by 1137 from to . One class that has increased the most in the above test was . Looking where relates to the quick input I found this code in where actions are created: Perhaps it could be this code that causes the to be created. It seems the actions aren't registered/disposed like other disposables.
Thanks for reporting this! I think I've cleaned up the ... now we use the simpler non-disposable kind... I'll chip away at the rest over time.
Thanks a lot, I see now: No more Actions are leaked (211 -0) Disposable stores are 211 less leaked (240 -29) Emitter are 211 less leaked (302 -91) MutableDisposable instance count still increases (7 -7) I'll try to find more information for the MutableDisposables and DisposableStores where exactly they are created! Thanks again! Edit: The MutableDisposables are created in : They are kept alive by a 200ms timeout and disposed after 200ms so it's no problem: Just the test executing too fast / finishing before the MutableDisposables were disposed. :)
Change:
uris = resources.map(r => r.resourceUri); } <ins> else { uris = [(window.activeTextEditor && window.activeTextEditor.document.uri)] as Uri[]; } </ins> } if (!uris) {

Discussion:
Issue Type: <bBug</b"Open File" shortcut/command does not work on an opened diff-view file if the working tree becomes clean (e.g. after a commit). Oddly, pressing the button near the top right corner for this action does work. "Open Changes" in a file doesn't work on a clean tree which is expected, but going from a diff-view back to the file after changes have been committed should be a valid flow IMO. It'd be nice to have a shortcut by default to toggle between the two. Repro steps: a dirty working tree to the modified file via "Open Changes" button or shortcut that diff-view file open commit the changes to "Open File" via the command pallette (shift+cmd P) -"Git: Open File", nothing happens on the "Open File" button near top right corner. This takes me to the corresponding file. VS Code version: Code 1.28.0 (, 2018-10-04T16:40:40.180Z) OS version: Darwin x64 18.0.0 <!-- generated by issue reporter --
Change:
"problemMatcher": "$tsc-watch" } ], <del> } </del>  No newline at end of file <ins> } </ins>

Discussion:
Issue Type: <bBug</bClone VS Code repo Follow the instructions for linking vscode-html-language-service will fail, as the project/extension has since moved to yarn. works fine. VS Code version: Code 1.62.0 (, 2021-11-03T15:23:01.379Z) OS version: Windows_NT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 4.19.128-microsoft-standard <!-- generated by issue reporter --
Change:
], 'mixed whitespace 2'); }); <ins> test('validatePosition', () => { var m = new TextModel([], TextModel.toRawText('line onenline two', TextModel.DEFAULT_CREATION_OPTIONS)); assert.deepEqual(m.validatePosition(new Position(0, 0)), new Position(1, 1)); assert.deepEqual(m.validatePosition(new Position(0, 1)), new Position(1, 1)); assert.deepEqual(m.validatePosition(new Position(1, 1)), new Position(1, 1)); assert.deepEqual(m.validatePosition(new Position(1, 2)), new Position(1, 2)); assert.deepEqual(m.validatePosition(new Position(1, 30)), new Position(1, 9)); assert.deepEqual(m.validatePosition(new Position(2, 0)), new Position(2, 1)); assert.deepEqual(m.validatePosition(new Position(2, 1)), new Position(2, 1)); assert.deepEqual(m.validatePosition(new Position(2, 2)), new Position(2, 2)); assert.deepEqual(m.validatePosition(new Position(2, 30)), new Position(2, 9)); assert.deepEqual(m.validatePosition(new Position(3, 0)), new Position(2, 9)); assert.deepEqual(m.validatePosition(new Position(3, 1)), new Position(2, 9)); assert.deepEqual(m.validatePosition(new Position(3, 30)), new Position(2, 9)); assert.deepEqual(m.validatePosition(new Position(30, 30)), new Position(2, 9)); }); </ins> test('modifyPosition', () => { var m = new TextModel([], TextModel.toRawText('line onenline two', TextModel.DEFAULT_CREATION_OPTIONS)); assert.deepEqual(m.modifyPosition(new Position(1,1), 0), new Position(1, 1)); assert.deepEqual(m.modifyPosition(new Position(0,0), 0), new Position(1, 1)); <del> assert.deepEqual(m.modifyPosition(new Position(30, 1), 0), new Position(2, 1)); </del> <ins> assert.deepEqual(m.modifyPosition(new Position(30, 1), 0), new Position(2, 9)); </ins> assert.deepEqual(m.modifyPosition(new Position(1,1), 17), new Position(2, 9)); assert.deepEqual(m.modifyPosition(new Position(1,1), 1), new Position(1, 2));

Discussion:
Issue Type: <bBug</bctrl-shift-p, "Debug: Start Debugging" leads to this error. I saw that this error was previously mentioned and fixed in a recent update, but the error persists. VS Code version: Code 1.46.1 (, 2020-06-17T21:13:20.174Z) OS version: WindowsNT x64 10.0. Remote OS version: Linux x64 4.19.104-microsoft-standard <details<summarySystem Info</summary </details<details<summaryExtensions (20)</summaryExtensionVersion ------ regex0.2.0 gitlens10.2.2 vscode-pull-request-github0.17.0 vscode-codemetrics1.24.0 cpptools0.28.3 vscode-versionlens1.0.8 java0.63.0 vscodeintellicode1.2.8 application-insights0.4.2 vscode-java-debug0.26.0 vscode-java-dependency0.10.2 vscode-java-pack0.9.1 vscode-java-test0.23.0 vscode-maven0.22.0 code-lens-roundup1.0.0 remote-containers0.122.1 remote-ssh0.51.0 remote-ssh-edit0.51.0 remote-wsl0.44.3 vscode-remote-extensionpack0.20.0 </details<!-- generated by issue reporter --
Same problem vscode v1.47.3. any update on this issue?
The issue was fixed in this insiders release:
what debugger are you using?
Dotnet Core.
thanks. That debugger is a separate extension (C#). Please file an issue against that. We have fixed a similar problem with the debugger (which is built into VS Code). But that fix does not cover the C# debugger.
Change:
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { EditSessionsDataViews } from 'vs/workbench/contrib/editSessions/browser/editSessionsViews'; import { EditSessionsFileSystemProvider } from 'vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider'; <del> import { isNative } from 'vs/base/common/platform'; </del> <ins> import { isNative, isWeb } from 'vs/base/common/platform'; </ins> import { VirtualWorkspaceContext, WorkspaceFolderCountContext } from 'vs/workbench/common/contextkeys'; import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation'; import { equals } from 'vs/base/common/objects';

Discussion:
Fyi there is no long running shutdown support on web, so this warning gets printed on unload: <img width="955" alt="image" src="https://user-"
In web we probably cannot support the value.
This is still on
I cannot reproduce this, just to be sure this is on the latest
Yes, reproduces even with caches disabled: !
Change:
} private renderProgressMessage(progress: IChatProgressMessage, showSpinner: boolean): IMarkdownRenderResult { <ins> if (showSpinner) { // this step is in progress, communicate it to SR users alert(progress.content.value); } </ins> const codicon = showSpinner ? ThemeIcon.modify(Codicon.sync, 'spin').id : Codicon.check.id; const markdown = new MarkdownString(`$(${codicon}) ${progress.content.value}`, { supportThemeIcons: true

Discussion:
Some commands take a while to resolve. We indicate that progress is happening for screen reader users with the progress audio cue and we indicate completion by reading the response immediately after it's resolved. Sighted users now see step by step progress. For example, for requests, the following are presented with spinner information: Collecting workspace structure Deciding which workspace information to collect Collecting workspace info This information is fleeting and disappears when the response begins to render. ! Because these can take a variable amount of time, and could be very noisy, I'm considering a few approaches and would like your feedback and I think number 3 is the best. use - a downside is the announcement might not be relevant by the time it is announced. use - a downside is this is really noisy and could be disruptive. have a command and key binding to query the status. So, if it's taking a while, a user could run this to find out which step it is on.
I believe there is not a good solution for things like this one at the moment. I think I would prefer approach number 1 (alert). At least with Voiceover, and alert would be cancel if a second alert comes in. approach number 2 wouold create a queue of invalid messages that will be read even if the response is already available, and approach number 3 (a new key-binding) would requiree learning and integrating a new keyboard command for something that is not worth it in my opinion. I would also make these announcement customizable in settings so that people can turn them off if they don't find them helpful.
Thanks for starting this discussion. I wonder i this needs to be treated differently than other progress experiences in VS Code? For progress we use the role I am not sure how well it is supported by screen readers though.
I was thinking of status messages. Is this like a progress bar where each steps gets highlighted as it progresses?
Yes, it is clear which step is happening at any given time.
Enable a screen reader. Run a command which reports progress steps - . Verify that you hear each of these steps as it becomes visible.
Change:
if (pasteAsMarkdownLink) { snippet.appendText('['); snippet.appendPlaceholder(escapeBrackets(title) || 'Title', placeholderValue); <del> snippet.appendText(isExternalLink ? `](${uriString})` : `](${escapeMarkdownLinkPath(mdPath)})`); </del> <ins> snippet.appendText(`](${escapeMarkdownLinkPath(isExternalLink ? uriString : mdPath, isExternalLink)})`); </ins> } else { <del> snippet.appendText(isExternalLink ? uriString : escapeMarkdownLinkPath(mdPath)); </del> <ins> snippet.appendText((escapeMarkdownLinkPath(isExternalLink ? uriString : mdPath, isExternalLink))); </ins> } return snippet; }

Discussion:
Type: <bBug</b( it into a markdown file Bug The inserted markdown link is not valid because of the mismatched parens In cases like this, we can either escape the with or wrap the entire url in : VS Code version: Code - Insiders 1.81.0-insider (Universal) (, 2023-07-25T08:15:40.243Z) OS version: Darwin x64 22.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
! looks correct in that it displays with but the rightmost parenthesis is still highlighted red. Is this the desired behavior
Can you please open a new issue for that? I think bracket pair colorization isn't working properly in this case (the markdown grammar seems to get it right)
Change:
export class TextAreaSyncAddon extends Disposable implements ITerminalAddon { private _terminal: Terminal | undefined; <del> private _onCursorMoveListener = this._register(new MutableDisposable()); </del> <ins> private _listeners = this._register(new MutableDisposable<DisposableStore>()); private _currentCommand: string | undefined; private _cursorX: number | undefined; </ins> activate(terminal: Terminal): void { this._terminal = terminal; if (this._accessibilityService.isScreenReaderOptimized()) { <del> this._onCursorMoveListener.value = this._terminal.onCursorMove(() => this._refreshTextArea()); </del> <ins> this._registerSyncListeners(); </ins> } }

Discussion:
a screen reader enabled, run some commands enter arrow left and right arrow keys to inspect the previously run command you cannot

a screen reader on, focus the terminal and type some characters left and right arrows to inspect the input something else and then refocus the terminal and try to do the same the textarea has been cleared so it announces blank
the text is in the textarea actually, but not visible and not detected by the screen reader after the blur !
Change:
import { ISnippetsService } from 'vs/workbench/contrib/snippets/browser/snippets.contribution'; import { Snippet, SnippetSource } from 'vs/workbench/contrib/snippets/browser/snippetsFile'; import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry'; <del> import { CompletionContext, CompletionTriggerKind } from 'vs/editor/common/modes'; </del> <ins> import { CompletionContext, CompletionItemLabel, CompletionItemRanges, CompletionTriggerKind } from 'vs/editor/common/modes'; </ins> import { DisposableStore } from 'vs/base/common/lifecycle'; class SimpleSnippetService implements ISnippetsService {

Discussion:
Issue Type: <bBug</bI would like the prefix to trigger only when there is a leading whitespace in front of the prefix (it is supposed to be substituted with an explicit non-breaking space character ). The example of the snippet: --The prefix behaves as if there is no leading space, meaning the remains one extra whitespace before the expanded body, resulting in a double space: . VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ html-snippets0.2.1 Handlebars0.4.1 rc-beautify1.2.0 git-temporal-vscode1.0.0 insert-unicode0.10.0 i30.0.1 vscode-generate-getter-setter0.5.0 gitlens11.4.1 vscode-html-css1.10.2 vscode-npm-script0.3.21 carbon-now-sh1.2.0 vscode-angular-html1.7.0 beautify1.5.0 latex-workshop8.18.0 polacode-.5.2 svg1.4.6 Angular211.0.0 solidity0.0.113 Kotlin1.7.1 rainbow-csv1.8.1 vscode-docker1.12.1 python2021.5. vscode-pylance2021.5.2 jupyter2021.5. remote-containers0.166.1 postscript1.0.1 java0.79.1 LiveServer5.6.1 bash-debug0.3.9 scala0.5.3 bash-beautify0.1.1 code-settings-sync3.4.3 code-spell-checker1.10.2 sass-indented1.8.16 html-preview-vscode0.2.5 vscode-ruby0.28.0 markdown-all-in-one3.4.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I have a fix for this but it makes bigger changes in how snippet completion are computed. Pushing out to November to get more Insider usage for it, changes are in
Change:
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService'; import { onUnexpectedError, onUnexpectedExternalError } from 'vs/base/common/errors'; import * as strings from 'vs/base/common/strings'; <ins> import { registerColor } from 'vs/platform/theme/common/colorRegistry'; import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { Color } from 'vs/base/common/color'; </ins> export const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE = new RawContextKey<boolean>('onTypeRenameInputVisible', false);

Discussion:
! Most likely an oversight, we should create a color token for this so that it's themeable. Found .
Change:
} data = this.mixInCommonPropsAndCleanData(data || {}); if (!this._inLoggingOnlyMode) { <del> this._appender.sendEventData(eventName, data); </del> <ins> this._sender.sendEventData(eventName, data); </ins> } this._logger.trace(eventName, data); }

Discussion:
This looks like we have telemetry loggers without appenders. Can we add a strict check or in the API impl?
Change:
import { URI } from 'vs/base/common/uri'; import 'vs/css!./media/breadcrumbscontrol'; import { OutlineElement, OutlineModel, TreeElement } from 'vs/editor/contrib/documentSymbols/outlineModel'; <del> import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; </del> <ins> import { IConfigurationService, IConfigurationOverrides } from 'vs/platform/configuration/common/configuration'; </ins> import { FileKind, IFileService, IFileStat } from 'vs/platform/files/common/files'; import { IConstructorSignature1, IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { WorkbenchDataTree, WorkbenchAsyncDataTree } from 'vs/platform/list/browser/listService';

Discussion:
The setting "breadcrumbs.symbolSortOrder" cannot be enabled for a specific language, i.e. "[markdown]": { "breadcrumbs.symbolSortOrder": "position" } is not possible in the settings. It makes sense to sort by position in markdown files to see headers and subheaders as they are. However, one might want to display symbols by type when writing code. Thank you in advance!
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 existing issues . See also our guidelines. Happy Coding!
Actually not a duplicate but should be straight forward to implement as filter-options can already be defined per language
Could you point me towards how to get the current resource from the editor model inside ?
The  has a reference to the text model
to verify, have this setting and a file with this content (symbol should be sorted alphabetically) Now, paste the same content into and make sure symbols are sorted by position
Change:
import severity from 'vs/base/common/severity'; import { TPromise } from 'vs/base/common/winjs.base'; import { IAction, Action } from 'vs/base/common/actions'; <ins> import { mapEvent } from 'vs/base/common/event'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; </ins> import { Separator } from 'vs/base/browser/ui/actionbar/actionbar'; import { IMessageService, CloseAction, Severity } from 'vs/platform/message/common/message'; import pkg from 'vs/platform/node/package';

Discussion:
We should push the update UI we were running on insiders to stable. Since the new update notification UI is less invasive, there is the concern that users might forget to update and ignore the notification. Therefore we should add an update reminder, when a user did not update after a period of time. The proposal is to show the existing Update Available message box, when the user did not update after 5 days since the notification has appeared.
Will be fixed by
Fixed.