jiebi/CodeConvo huggingface dataset:
Change:
Type: <bBug</bI have several dozens of file opened in the Explorer / Open editors. I select one, Shift+click on another below, all the range is selected, OK. ! I hit Ctrl+F4, the selected files are closed, perfect. Now, I select a range in the same way, I unselect one (or several files) with Ctrl+click in the selection. The last unselected file has the focus, visible with the blue outline. ! If I hit Ctrl+F4, VSC closes only one file: the one with the focus. ! I expected to close all selected files instead. VS Code version: Code 1.79.2 (, 2023-06-14T08:57:04.379Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (28)</summaryExtensionVersion ------ vscode-openapi4.18.5 tsl-problem-matcher0.6.2 ng-template16.0.0 vscode-toggle-quotes0.3.6 npm-intellisense1.4.4 path-intellisense2.8.4 package-json-upgrade2.0.0 vscode-eslint2.4.2 css-flexbox-cheatsheet3.3.3 gitlens14.0.1 EditorConfig0.16.4 vscode-jest-runner0.4.60 rest-client0.25.1 batch-rename-extension0.0.6 svg1.5.3 docthis0.7.1 import-sorter3.3.1 vscode-scss0.10.0 console-master1.0.0 git-file-history1.0.1 vscode-commons0.0.6 vscode-yaml1.13.0 vscode-stylelint1.2.4 luna-paint0.16.0 vscode-vlang0.1.14 quokka-vscode1.0.547 change-case1.0.0 markdown-all-in-one3.5.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Discussion:
if (focus) { const selection: Array<IEditorIdentifier | IEditorGroup> = list.getSelectedElements().filter(onlyEditorGroupAndEditor); <del> // Only respect selection if it contains focused element if (selection?.some(s => { if (isEditorGroup(s)) { return s.id === focus.groupId; } const group = editorGroupService.getGroup(s.groupId); return s.groupId === focus.groupId && (group ? group.getIndexOfEditor(s.editor) : -1) === focus.editorIndex; })) { </del> <ins> if (selection.length > 0) { </ins> return selection.map(elementToContext); }
Change:
<!-- 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.80.0 OS Version: Fedora 38 Linux There is an 'r' after the Chat.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.80.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
bad bot
I'll fix that

Discussion:
"--vscode-inlineChatInput-border", "--vscode-inlineChatInput-focusBorder", "--vscode-inlineChatInput-placeholderForeground", <del> "--vscode-inlineChatrDiff-removed", </del> "--vscode-input-background", "--vscode-input-border", "--vscode-input-foreground",
Change:
Type: <bBug</bGot the June update this morning. Noticed this stopped working: markdown.preview.markEditorSelection Looking at the HTML in dev tools the body tag looks malformed: I copied this with extensions disabled. VS Code version: Code 1.80.0 (, 2023-07-04T15:06:02.407Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (66)</summaryExtensionVersion ------ increment-selection0.2.0 Bookmarks13.3.1 rtf2.7.0 vscode-unfancy-file-icons3.15.0 html-end-tag-labels1.0.0 icons-carbon0.2.6 vscode-open-file-folder0.0.4 markdown-footnotes0.1.1 insert-unicode0.14.0 markdown-toc1.5.6 reverse-search2.0.2 vscode-markdownlint0.51.0 vscode-simpler-icons1.6.5 vscode-eslint2.4.2 vscode-quick-select0.2.9 githistory0.6.20 xml2.5.1 overtype0.5.0 vsc-material-theme-icons2.8.0 prettier-vscode9.19.0 font-switcher4.1.0 auto-close-tag0.5.14 dotnet-test-explorer0.7.8 macros1.2.1 html-preview-vscode0.2.5 live-sass6.0.5 todo-tree0.0.226 vscode-htmlhint1.0.5 docomment1.0.0 vscode-autohotkey-plus-plus3.3.2 markdown-shortcuts0.12.0 render-crlf1.6.1 fluent-icons0.0.18 .8.0 csharp1.26.0 vscode-dotnet-runtime1.6.0 powershell2023.6.0 vscode-paste-image1.0.4 fix-json0.1.2 subtitles-editor1.1.7 material-icon-theme4.28.0 material-product-icons1.5.0 word-counter0.0.1 toggle0.0.2 vscode-sort-json1.20.0 partial-diff1.4.3 block-travel0.0.2 MDTools1.0.1 vscode-table-formatter1.2.1 vscode-fileutils3.10.2 uridecode0.3.6 character-count0.1.1 code-spell-checker2.20.5 code-spell-checker-british-english1.1.4 code-spell-checker-french0.3.1 code-spell-checker-german2.2.1 code-spell-checker-greek1.0.4 code-spell-checker-italian1.0.2 code-spell-checker-medical-terms2.0.3 code-spell-checker-scientific-terms0.1.9 code-spell-checker-spanish2.1.9 duplicate-finder0.0.6 vscode-w3cvalidation2.9.1 vscode-icons12.4.0 copyrawvalue1.0.0 markdown-all-in-one3.5.1 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Introduced by Should just move the style to the css file instead
Closing as this looks to be merged.

Discussion:
padding: 0 26px; line-height: var(--markdown-line-height, 22px); word-wrap: break-word; <ins> overscroll-behavior-x: none; </ins> } body {

${this._getStyles(resourceProvider, sourceUri, config, imageInfo)} <base href="${resourceProvider.asWebviewUri(markdownDocument.uri)}"> </head> <del> <body class="vscode-body style="overscroll-behavior-x: none;" ${config.scrollBeyondLastLine ? 'scrollBeyondLastLine' : ''} ${config.wordWrap ? 'wordWrap' : ''} ${config.markEditorSelection ? 'showEditorSelection' : ''}"> </del> <ins> <body class="vscode-body ${config.scrollBeyondLastLine ? 'scrollBeyondLastLine' : ''} ${config.wordWrap ? 'wordWrap' : ''} ${config.markEditorSelection ? 'showEditorSelection' : ''}"> </ins> ${body.html} ${this._getScripts(resourceProvider, nonce)} </body>
Change:
Build:
Hit this again with
Again:
is trying to get more details when this happens:
Also saw this
This is because of atomic writing and in windows renaming is failing sometimes and I think this is because some other processes (defender ) might be holding the file that has to be renamed. I have seen similar issues in extensions when I implemented atomic installation of extensions long time back, ie. extracting the zip to a temp file in the same folder and renaming it. I have to retry renaming multiple times to avoid this. I am not sure if this is the right solution for FS atomic write. So, I would wait for until then I will revert my atomic write changes.
Check this issue - This is common in windows and it seems the workaround is to retry.
should the skipped tests be restored, I think they are still skipped
Seems like they can probably be restored.

Discussion:
// 	}); // }); <del> test('No expanding when html is excluded in the settings in completion list', async () => { </del> <ins> test.skip('No expanding when html is excluded in the settings in completion list', async () => { </ins> const oldConfig = workspace.getConfiguration('emmet').inspect('excludeLanguages')?.globalValue; await workspace.getConfiguration('emmet').update('excludeLanguages', ['html'], ConfigurationTarget.Global); await testHtmlCompletionProvider(new Selection(9, 6, 9, 6), '', '', true);

}); }); <del> test('Expand abbreviation with no self closing tags for html', () => { </del> <ins> test.skip('Expand abbreviation with no self closing tags for html', () => { </ins> return withRandomFileEditor('img', 'html', async (editor, _doc) => { editor.selection = new Selection(0, 6, 0, 6); await expandEmmetAbbreviation({ language: 'html' });
Change:
When resizing the windows while the accessible help menu is visible, the help menu slides diagonally: !

Discussion:
import { getSimpleEditorOptions } from 'vs/workbench/contrib/codeEditor/browser/simpleEditorOptions'; const enum DIMENSION_DEFAULT { <del> WIDTH = .6, HEIGHT = 200 </del> <ins> WIDTH = 800 </ins> } export interface IAccessibleContentProvider {

quickSuggestions: false, renderWhitespace: 'none', dropIntoEditor: { enabled: true }, <del> readOnly: true </del> <ins> readOnly: true, fontFamily: 'var(--monaco-monospace-font)' </ins> }; this._editorWidget = this._register(this._instantiationService.createInstance(CodeEditorWidget, this._editorContainer, editorOptions, codeEditorWidgetOptions)); } show(provider: IAccessibleContentProvider): void { const delegate: IContextViewDelegate = { <del> getAnchor: () => this._editorContainer, </del> <ins> getAnchor: () => { return { x: (window.innerWidth / 2) - (DIMENSION_DEFAULT.WIDTH / 2), y: (window.innerHeight / 2) - (this.editorWidget.getContentHeight() / 2) }; }, </ins> render: (container) => { return this._render(provider, container); },

} private _layout(): void { <del> const windowWidth = window.innerWidth; const width = windowWidth * DIMENSION_DEFAULT.WIDTH; this._editorWidget.layout({ width, height: this._editorWidget.getContentHeight() }); const left = Math.round((windowWidth - width) / 2); this._editorContainer.style.left = `${left}px`; </del> <ins> this._editorWidget.layout({ width: DIMENSION_DEFAULT.WIDTH, height: this._editorWidget.getContentHeight() }); </ins> } private async _getTextModel(resource: URI): Promise<ITextModel | null> {

*--------------------------------------------------------------------------------------------*/ .accessible-view { <del> position: relative; </del> <ins> position: absolute; </ins> background-color: var(--vscode-editorWidget-background); color: var(--vscode-editorWidget-foreground); box-shadow: 0 2px 8px var(--vscode-widget-shadow); <del> border: 2px solid var(--vscode-contrastActiveBorder); </del> <ins> border: 2px solid var(--vscode-focusBorder); </ins> }
Change:
In short, if you use without calling you are leaking memory. See for the details. I'm seeing a lot of memory used in unit tests and it appears to be coming from sinon. This may be contributing to our unit test OOM issue on Windows 32 bit. Let's see if fixing this lets us run the unit tests again. To fix I have made disposable, and there were some places where tests failed or the refactor seemed larger:
The biggest gain would be from fixing the leak from as it is used many places.
I don't know if you own , but I am looking into a fix for it since it will have the biggest impact.
I've reopened this.
Thanks. I should be careful to not do and instead as that will prevent GitHub from auto closing it
With , I have made disposable and handled disposing it in most tests. There are several places where the way to handle this isn't clear or made test fail when I just naively disposed it. I have them in the issue above.
the instance in is already restored at , but the others should be fixed in Let me know if I miss any! Edit: I ended up making changes in both files.
For those tests where I am just using , should I have to still call or I should wait for your change to dispose the ?
You can wait for my change to dispose the .
FYI Windows ia32 started turning green again
and the only files left are yours. The is now disposable and should be disposed in these test files to properly restore and prevent a memory leak.
Thank you for the fast response everyone!
need help

Discussion:
errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Error Telemetry removes PII from filename with spaces', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Uncaught Error Telemetry removes PII from filename', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII but preserves Code file path', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII but preserves Code file path with node modules', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII but preserves Missing Model error message', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII but preserves No Such File error message', sinonTestFn(function (this: any) {

errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> } finally { Errors.setUnexpectedErrorHandler(origErrorHandler); }
Change:
Repro: a in an import and run the refactor command via command palette the items !
Similar to

Discussion:
} if (styles.listFocusForeground) { <del> content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused:not(.monaco-list-row.action.option-disabled) { color: ${styles.listFocusForeground}; }`); </del> <ins> content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`); </ins> } if (styles.listActiveSelectionBackground) {

} .action-widget .monaco-list-row.action.option-disabled, <ins> .action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled, </ins> .action-widget .monaco-list-row.action.option-disabled .codicon { color: var(--vscode-disabledForeground); } .action-widget .monaco-list-row.action:not(.option-disabled) .codicon { color: inherit; }
Change:
Track picking up
To verify, just open a TS file and click on the language status to check that the bundled TS version is 5.1.6

Discussion:
"license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "5.1.3" </del> <ins> "typescript": "5.1.6" </ins> }, "scripts": { "postinstall": "node ./postinstall.mjs"

dependencies: is-number "^7.0.0" <del> typescript@5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== </del> <ins> typescript@5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== </ins> vscode-grammar-updater@^1.1.0: version "1.1.0"
Change:
In several applications you can use Ctrl+Shift+V to paste text without formatting. We already have that registered to unfortunately, but it would be great to introduce a dedicated command for the default paste handler that users could perhaps rebind to Ctrl+Shift+V for cases where there are multiple paste handlers and I know I just want the literal text on my clipboard.
Should mostly be possible using: But a dedicated command is a good idea
I must say I find the settings confusing. It took me a long time before I realised that the setting "Editor: Format On Paste" was not the only one affecting this behaviour, but that there is also "Editor: Auto Indent" which "automatically adjusts the indentation when users paste". Edit: The keyboard shortcut works great after all (My VS Code was not up to date)
What VS Code version are you on?
I'm on 1.77.1, which VS Code is telling me corresponds to "Date: 2023-04-04 (5 mos ago)". I guess maybe the behaviour your comment depends on was introduced in the meantime (I haven't given VS Code root privileges, so it can't auto update, I guess I forgot to update manually). If that's the case I'm looking forward to adding the shortcut :¬), thanks for your reply
Yes it was in 1.79. Try updating and that command should then work

Discussion:
import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { EditorAction, EditorCommand, EditorContributionInstantiation, ServicesAccessor, registerEditorAction, registerEditorCommand, registerEditorContribution } from 'vs/editor/browser/editorExtensions'; <ins> import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; </ins> import { registerEditorFeature } from 'vs/editor/common/editorFeatures'; import { CopyPasteController, changePasteTypeCommandId, pasteWidgetVisibleCtx } from 'vs/editor/contrib/dropOrPasteInto/browser/copyPasteController'; import { DefaultPasteProvidersFeature } from 'vs/editor/contrib/dropOrPasteInto/browser/defaultProviders';

id: 'editor.action.pasteAs', label: nls.localize('pasteAs', "Paste As..."), alias: 'Paste As...', <del> precondition: undefined, </del> <ins> precondition: EditorContextKeys.writable, </ins> metadata: { description: 'Paste as', args: [{

return CopyPasteController.get(editor)?.pasteAs(id); } }); <ins> registerEditorAction(class extends EditorAction { constructor() { super({ id: 'editor.action.pasteAsText', label: nls.localize('pasteAsText', "Paste as Text"), alias: 'Paste as Text', precondition: EditorContextKeys.writable, }); } public override run(_accessor: ServicesAccessor, editor: ICodeEditor, args: any) { return CopyPasteController.get(editor)?.pasteAs('text'); } }); </ins>
Change:
I use quite a lot and have noticed that sometimes earlier queries are restored after runs. AFAICT it might be because when we run , the restores the input value from the saved view state, which can be stale
Blocked on verifying by
you can work around that issue by manually typing /clear into the input box, that issue only applies to when /clear is selected from the suggest widget

Discussion:
if (this.widget.viewModel) { this.chatService.clearSession(this.widget.viewModel.sessionId); } <ins> this.viewState.inputValue = ''; </ins> this.updateModel(); }
Change:
Type: <bBug</bAfter todays update of the nightly, a workspace with multiple repos, is only showing the 1st one in the SCM tab VS Code version: Code - Insiders 1.81.0-insider (, 2023-07-11T05:51:51.128Z) OS version: Darwin arm64 22.6.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ vscode-base640.1.0 inline-hasher1.1.0 spellright3.0.116 terraform2.27. vscode-kubernetes-tools1.3.13 indent-rainbow8.3.1 ytt-lint0.3.1 vscode-yaml1.13.0 vscode-gitweblinks2.9.2 kubernator-vscode1.0.0 code-spell-checker2.20.5 shellcheck0.32.6 sort-lines1.10.2 errorlens3.11.1 vscode-icons12.4.0 (1 theme extensions excluded) </details<!-- generated by issue reporter --
! !
could you please share the contents of to see if there are any regressions with the code that does the repository discovery when opening a multi-root workspace.
never mind. This is indeed a regression and I am pushing a fix now.
can someone trigger a build so I can test? The current nightly is in a state that is affecting my work.
sorry about that. Yes, we are spinning a new Insiders build that should be available later today.
Please download the latest Insiders released as it contains the fix for this issue.
I can confirm this is fixed on the latest build. thank you
thanks for reporting the issue!

Discussion:
private async getRepositoryExact(repoPath: string): Promise<Repository | undefined> { const repoPathCanonical = await fs.promises.realpath(repoPath, { encoding: 'utf8' }); <del> const openRepository = this.openRepositories.find(async r => { const rootPathCanonical = await fs.promises.realpath(r.repository.root, { encoding: 'utf8' }); return pathEquals(rootPathCanonical, repoPathCanonical); }); return openRepository?.repository; </del> <ins> for (const openRepository of this.openRepositories) { const rootPathCanonical = await fs.promises.realpath(openRepository.repository.root, { encoding: 'utf8' }); if (pathEquals(rootPathCanonical, repoPathCanonical)) { return openRepository.repository; } } return undefined; </ins> } private getOpenRepository(repository: Repository): OpenRepository | undefined;
Change:
chat in sidebar something into input Session in Editor :bug: input is cleared
This still repros for me
The input is preserved but the input for the new chat session in the sidebar is not cleared

Discussion:
const editorService = accessor.get(IEditorService); const sessionId = viewModel.sessionId; <ins> const viewState = view.widget.getViewState(); </ins> view.clear(); <del> await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: <IChatEditorOptions>{ target: { sessionId }, pinned: true } }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP); </del> <ins> await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: <IChatEditorOptions>{ target: { sessionId }, pinned: true, viewState: viewState } }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP); </ins> } }; }

const sessionId = viewModel.sessionId; const view = await viewService.openView(widget.viewContext.viewId) as ChatViewPane; <ins> const viewState = view.widget.getViewState(); </ins> view.clear(); <del> await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: <IChatEditorOptions>{ target: { sessionId }, pinned: true } }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP); </del> <ins> await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: <IChatEditorOptions>{ target: { sessionId }, pinned: true, viewState: viewState } }, moveTo === MoveToNewLocation.Window ? AUX_WINDOW_GROUP : ACTIVE_GROUP); </ins> } async function moveToSidebar(accessor: ServicesAccessor): Promise<void> {

throw new Error('ChatEditor lifecycle issue: no editor widget'); } <del> this.updateModel(editorModel.model); </del> <ins> this.updateModel(editorModel.model, options.viewState); </ins> } <del> private updateModel(model: IChatModel): void { this._memento = new Memento('interactive-session-editor-' + model.sessionId, this.storageService); this._viewState = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE) as IChatViewState; </del> <ins> private updateModel(model: IChatModel, viewState?: IChatViewState): void { this._memento = new Memento('interactive-session-editor-' + model.providerId, this.storageService); this._viewState = viewState ?? this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE) as IChatViewState; </ins> this.widget.setModel(model, { ...this._viewState }); }
Change:
<!-- 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.80.0 OS Version: macOS Steps to Reproduce: vscode itself assigned this css var to but monaco-editor doesn't have this, it only has so should be , too.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.80.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!

Discussion:
:root { --vscode-sash-size: 4px; <ins> --vscode-sash-hover-size: 4px; </ins> } .monaco-sash {