jiebi/CodeConvo huggingface dataset:
Change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --The "Surround with...." in the labels are redundant and by removing them, clears up clutter in the action widget, and lets users navigate to specific labels by typing in fewer keys (ie, would go to, will go to ) !

Discussion:
sparkleFilled: register('sparkle-filled', 0xec21), diffSingle: register('diff-single', 0xec22), diffMultiple: register('diff-multiple', 0xec23), <ins> surroundWith: register('surround-with', 0xec24), </ins> // derived icons, that could become separate icons

{ kind: CodeActionKind.RefactorInline, title: localize('codeAction.widget.id.inline', 'Inline'), icon: Codicon.wrench }, { kind: CodeActionKind.RefactorRewrite, title: localize('codeAction.widget.id.convert', 'Rewrite'), icon: Codicon.wrench }, { kind: CodeActionKind.RefactorMove, title: localize('codeAction.widget.id.move', 'Move'), icon: Codicon.wrench }, <del> { kind: CodeActionKind.SurroundWith, title: localize('codeAction.widget.id.surround', 'Surround With'), icon: Codicon.symbolSnippet }, </del> <ins> { kind: CodeActionKind.SurroundWith, title: localize('codeAction.widget.id.surround', 'Surround With'), icon: Codicon.surroundWith }, </ins> { kind: CodeActionKind.Source, title: localize('codeAction.widget.id.source', 'Source Action'), icon: Codicon.symbolFile }, uncategorizedCodeActionGroup, ]);

static readonly options = { id: 'editor.action.surroundWithSnippet', title: { <del> value: localize('label', 'Surround With Snippet...'), original: 'Surround With Snippet...' </del> <ins> value: localize('label', 'More...'), original: 'More...' </ins> } };

break; } actions.push({ <del> title: localize('codeAction', "Surround With: {0}", snippet.name), </del> <ins> title: localize('codeAction', "{0}", snippet.name), </ins> kind: CodeActionKind.SurroundWith.value, edit: asWorkspaceEdit(model, range, snippet) });
Change:
Type: <bBug</bFirst, add this setting in your config: Then, I have tasks that I can run with shortcuts. For instance: When running the task, it will first open a terminal in the Terminal Panel, and then open a new tab with the terminal result. However, I unticked "Terminal" from the list of tabs that should be in the Terminal Panel. Why does it keep opening the Terminal Panel with an empty terminal before opening a new terminal tab in the editor window, where the task is running? I assume this is not a wanted solution. VS Code version: Code 1.81.1 ("", 2023-08-09T22:22:42.175Z) OS version: Windows_NT x64 10.0.
I believe this is already fixed, can you see if you can reproduce in the ? /label info-needed
Hello I just tried it and it doesn't work. The Terminal Panel always opens. I can add a new detail: the behavior is as expected if the following field is in the task: . However, I think that the expected behavior when the setting is chosen is that the Terminal Panel never opens.
Hello, any update regarding this issue?
Hello is there anything that can be done with this problem?

Discussion:
this._viewsService.openView(Markers.MARKERS_VIEW_ID); } else if (task.command.presentation && (task.command.presentation.focus || task.command.presentation.reveal === RevealKind.Always)) { this._terminalService.setActiveInstance(terminal); <del> this._terminalGroupService.showPanel(task.command.presentation.focus); </del> <ins> await this._terminalService.revealActiveTerminal(); </ins> } this._activeTasks[task.getMapKey()].terminal = terminal; this._fireTaskEvent(TaskEvent.changed());
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.82.0-insider () OS Version: Windows_NT x64 10.0. Steps to Reproduce: a directory with 2 files and a directory and , right-click, Copy -click , Paste Expected: and are pasted in Actual: and are pasted in
This issue has existed for a while and it's bitten me a few times. I found in order for copy/paste to work as expected the destination folder must first be selected before right-click.

Discussion:
const notificationService = accessor.get(INotificationService); const instantiationService = accessor.get(IInstantiationService); <del> const context = explorerService.getContext(true); </del> <ins> const context = explorerService.getContext(false); </ins> const element = context.length ? context[0] : explorerService.roots[0]; try {

const uriIdentityService = accessor.get(IUriIdentityService); const dialogService = accessor.get(IDialogService); <del> const context = explorerService.getContext(true); </del> <ins> const context = explorerService.getContext(false); </ins> const hasNativeFilesToPaste = fileList && fileList.length > 0; const confirmPasteNative = hasNativeFilesToPaste && configurationService.getValue<boolean>('explorer.confirmPasteNative');
Change:
Type: <bBug</bo meu terminal do vscode ficou todo preto derrepente, ele esta normal e quando fui abri-lo estava preto, nao consigo resolver e nao posso voltar a minha rotina por causa disso. My vscode terminal suddenly went all black, is that normal and when I opened it was black, I can't resolve it and I can't get back to my routine because of this. ! VS Code version: Code 1.81.1 (, 2023-08-09T22:22:42.175Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (8)</summaryExtensionVersion ------ turbo-console-log2.9.6 gitlens14.2.1 auto-rename-tag0.1.10 copilot1.105.350 prettify-json0.0.3 vscode-language-pack-pt-BR1.81. vscode-thunder-client2.10.5 vscode-icons12.5.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please write the pn in english.
/duplicate
can you share your file?
here it is
Confirmed that is disabled by default. I have now enabled terminal gpu acceleration and images, though I'm not sure whether I'll run into the issue on this machine.

Discussion:
restricted: true, markdownDescription: localize('terminal.integrated.enableImages', "Enables image support in the terminal, this will only work when {0} is enabled. Both sixel and iTerm's inline image protocol are supported on Linux and macOS, Windows support will light up automatically when ConPTY passes through the sequences. Images will currently not be restored between window reloads/reconnects.", ``#${TerminalSettingId.GpuAcceleration}#``), type: 'boolean', <del> default: true </del> <ins> default: false </ins> }, } };
Change:
Type: <bBug</bNote: I was unable to create a bug report after I choose the "An extension" option in the dropdown in the "Help: Report Issue..." window as it does not show any of my extensions (I do have extensions for whatever reason the bug report does not show them) After installing 1.82.0 (insiders), I started to get the following error message: Failed to connect to the remote extension host server (Error: WrappedError(WrappedError { message: "server exited without writing socket", original: "channel closed" })) And Could not fetch remote environment When I use an older version (via regular VsCode) this issue does not happen. VS Code version: Code - Insiders 1.82.0-insider (, 2023-08-28T05:35:52.131Z) OS version: WindowsNT x64 10.0. Modes: Connection to 'SSH: ' could not be established WrappedError(WrappedError { message: "server exited without writing socket", original: "channel closed" }) <details<summarySystem Info</summary Connection to 'SSH: ' could not be established WrappedError(WrappedError { message: "server exited without writing socket", original: "channel closed" }) </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please share the full output of in the Output panel when you get into this state
I captured all the logs below with all of its attempts
Thanks! What happens if you SSH in manually and run the server using this command?
My bash output
It looks like the server perhaps did not get extracted fully. We can add some checks around that. I suspect deleting the directory would fix it
That worked thank you
We should do an integrity check before finalizing the server directory however
Verified that the SSH log contains the message which got by the fix

Discussion:
use crate::update_service::{ unzip_downloaded_release, Platform, Release, TargetKind, UpdateService, }; <del> use crate::util::command::{capture_command, kill_tree}; </del> <ins> use crate::util::command::{capture_command, capture_command_and_check_status, kill_tree}; </ins> use crate::util::errors::{wrap, AnyError, CodeError, ExtensionInstallFailed, WrappedError}; use crate::util::http::{self, BoxedHttp}; use crate::util::io::SilentCopyProgress;

) .await?; <del> unzip_downloaded_release( &archive_path, &target_dir.join(SERVER_FOLDER_NAME), SilentCopyProgress(), )?; </del> <ins> let server_dir = target_dir.join(SERVER_FOLDER_NAME); unzip_downloaded_release(&archive_path, &server_dir, SilentCopyProgress())?; let output = capture_command_and_check_status( server_dir .join("bin") .join(self.server_params.release.quality.server_entrypoint()), &["--version"], ) .await .map_err(|e| wrap(e, "error checking server integrity"))?; trace!( self.logger, "Server integrity verified, version: {}", String::from_utf8_lossy(&output.stdout).replace('n', " / ") ); </ins> Ok(()) })
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/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: Version: 1.81.1 (user setup) Commit: Date: 2023-08-09T22:22:42.175Z Electron: 22.3.18 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0. Or today's insiders. Steps to Reproduce: TypeScript or C++, do find all references on the 2nd+ reference with the references view in it's initial or cleared state. Bug: The reference that is used to trigger the operation is placed at the top instead of being sorted by line number as expected/desired. This gets fixed the 2nd time Find All References is invoked, but starts again after the Clear button is used. I initially thought this was a bug with our C++ extension, but the existence of the issue for TypeScript leads me to believe it's a VS Code bug, but I haven't debugged it. See the screenshot: <img width="126" alt="image" src=""
Could this be an issue with the tree API? I have debugged this and see that I am always returning the elements sorted by line
Yes, looks like it's an issue with the tree. The reference view is calling to show the tree item before the item has been rendered (which is fine), but a side effect of that is that the item is first.

Discussion:
return undefined; } <del> const items = await Promise.all(coalesce(elements || []).map(async element => { const item = await this.dataProvider.getTreeItem(element); return item && !cts.token.isCancellationRequested ? this.createAndRegisterTreeNode(element, item, parentNode) : null; </del> <ins> const coalescedElements = coalesce(elements || []); const treeItems = await Promise.all(coalesce(coalescedElements).map(element => { return this.dataProvider.getTreeItem(element); </ins> })); if (cts.token.isCancellationRequested) { return undefined; } <ins> // createAndRegisterTreeNodes adds the nodes to a cache. This must be done sync so that they get added in the correct order. const items = treeItems.map((item, index) => item ? this.createAndRegisterTreeNode(coalescedElements[index], item, parentNode) : null); </ins> return coalesce(items); } finally { cts.dispose();
Change:
Testing Searching for always takes to the action with term
Strange. I believe it's an issue with how fuzzy matching is giving the score and since both have f, i, l, e, in it so it might be getting confused. Good catch thank you.

Discussion:
const prefix = matchesPrefix(word, labelStr); const fuzzy = matchesFuzzy2(word, labelStr); <del> // ensures that when fuzzy matching, it doesn't clash with prefix matching (1 input vs 1+ should be prefix and fuzzy respecitvely) const fuzzyScore = fuzzy ? fuzzy[0].end - fuzzy[0].start : 0; if (prefix || fuzzyScore > 1) { this.previouslyFocused = start; this.list.setFocus([index]); this.list.reveal(index); return; </del> <ins> if (fuzzy) { const fuzzyScore = fuzzy[0].end - fuzzy[0].start; // ensures that when fuzzy matching, doesn't clash with prefix matching (1 input vs 1+ should be prefix and fuzzy respecitvely). Also makes sure that exact matches are prioritized. if (prefix || (fuzzyScore > 1 && fuzzy.length === 1)) { this.previouslyFocused = start; this.list.setFocus([index]); this.list.reveal(index); return; } </ins> } } } else {
Change:
Testing for with regex matching enabled a notebook, start editing a markdown cell typing more letters bug More search results are to the list instead of updating the existing result !

Discussion:
existingCell = existingRawCell; } } <ins> existingCell?.clearAllMatches(); </ins> const cell = existingCell ?? new CellMatch(this, match.cell, match.index); cell.addContentMatches(contentMatchesToTextSearchMatches(match.contentMatches, match.cell)); cell.addWebviewMatches(webviewMatchesToTextSearchMatches(match.webviewMatches));
Change:
We use an X now, which to me feels more like a 'dismiss accessible help' button. Maybe would be more appropriate , or even !
what do you think?
Replied in I see had the same icon suggestion above

Discussion:
}; } } <ins> const manageExtension = actions?.find(a => a.label.includes('Manage Extension')); if (manageExtension) { manageExtension.class = ThemeIcon.asClassName(Codicon.gear); } </ins> if (actions) { actions.push({ id: 'clearNotification', label: localize('clearNotification', "Clear Notification"), tooltip: localize('clearNotification', "Clear Notification"), run: () => notification.close(), enabled: true, class: ThemeIcon.asClassName(Codicon.clearAll) }); }

primary: KeyMod.Alt | KeyCode.F6, weight: KeybindingWeight.WorkbenchContrib }, <del> icon: Codicon.treeFilterClear, </del> <ins> icon: Codicon.bellSlash, </ins> menu: [ commandPalette, {
Change:
a markdown cell in preview mode like Accessibility Help :bug: accessibility help does not appear If I focus a code cell I get the help view
IMO, this should not be working at all for github issue notebooks
Why is that? The notebooks UI and keybindings/commands are generic (though can be overridden by extensions)

Discussion:
constructor() { super(); this._register(AccessibilityHelpAction.addImplementation(105, 'notebook', async accessor => { <del> const codeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor() || accessor.get(ICodeEditorService).getFocusedCodeEditor(); if (!codeEditor) { return; </del> <ins> const activeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor() || accessor.get(ICodeEditorService).getFocusedCodeEditor() || accessor.get(IEditorService).activeEditorPane; if (activeEditor) { runAccessibilityHelpAction(accessor, activeEditor); </ins> } <del> runAccessibilityHelpAction(accessor, codeEditor); </del> }, NOTEBOOK_IS_ACTIVE_EDITOR)); } }

import { AccessibilityVerbositySettingId, AccessibleViewProviderId } from 'vs/workbench/contrib/accessibility/browser/accessibilityConfiguration'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { getNotebookEditorFromEditorPane } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; <ins> import { IVisibleEditorPane } from 'vs/workbench/common/editor'; </ins> export function getAccessibilityHelpText(accessor: ServicesAccessor): string { const keybindingService = accessor.get(IKeybindingService);

return format(noKbMsg, commandId); } <del> export async function runAccessibilityHelpAction(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> { </del> <ins> export async function runAccessibilityHelpAction(accessor: ServicesAccessor, editor: ICodeEditor | IVisibleEditorPane): Promise<void> { </ins> const accessibleViewService = accessor.get(IAccessibleViewService); const helpText = getAccessibilityHelpText(accessor); accessibleViewService.show({
Change:
! I thought I noticed this happening from time to time after we made changes to how rendering works, but in this case with my test extension it's pretty obvious, I will investigate
This is due to losing means that it was fully rendered so far and was reset when we get more content. So now if we render everything in a markdown chunk then get more data, this keeps it from getting rendered. It's a bit more complicated with our new way of not constantly re-rendering. The view model doesn't currently know which chunks changed, so it can't reset that flag. The renderer only knows that the chunk was previously fully rendered but doesn't know that it has different data now. We could go back to rerendering everything all the time (don't really want to do that now that we have the nice optimization) or I think the model has to communicate what changed when it fires , it would have to include which response changed and which chunks of data. Or maybe there is a solution where we always rerender all markdown blocks but keep the rendered tree data?
That seems reasonable, I'll look into a fix

Discussion:
} // Did this part's content change? <del> else if (!isInteractiveProgressTreeData(part) && !isInteractiveProgressTreeData(renderedPart) && !renderedPart.isFullyRendered) { </del> <ins> else if (!isInteractiveProgressTreeData(part) && !isInteractiveProgressTreeData(renderedPart)) { </ins> const wordCountResult = this.getDataForProgressiveRender(element, part, renderedPart); <del> if (wordCountResult !== undefined) { </del> <ins> // Check if there are any new words to render if (wordCountResult !== undefined && renderedPart.renderedWordCount !== wordCountResult?.actualWordCount) { </ins> partsToRender[index] = { renderedWordCount: wordCountResult.actualWordCount, lastRenderTime: Date.now(),
Change:
Type: <bFeature Request</bBased on my observation in the Program-L listserv and other blind VSCode users, screen reader users prefer to have a quick way to go to the notification area. I recommend adding the following keybinding by default for convenience. It does not matter whether or not VSCode team uses this suggested keybinding, but it would be greatly appreciated if you could consider the default keybinding for and announce the new binding in the release note to be discoverable. VS Code version: Code - Insiders 1.82.0-insider (, 2023-08-30T05:33:47.972Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
A lot of keybindings are taken already, I could only find they key chord:
<!-- 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!

Discussion:
import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; <del> import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; </del> <ins> import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes'; </ins> import { INotificationViewItem, isNotificationViewItem, NotificationsModel } from 'vs/workbench/common/notifications'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { localize } from 'vs/nls';

export function registerNotificationCommands(center: INotificationsCenterController, toasts: INotificationsToastController, model: NotificationsModel): void { // Show Notifications Cneter <del> CommandsRegistry.registerCommand(SHOW_NOTIFICATIONS_CENTER, () => { toasts.hide(); center.show(); </del> <ins> KeybindingsRegistry.registerCommandAndKeybindingRule({ id: SHOW_NOTIFICATIONS_CENTER, weight: KeybindingWeight.WorkbenchContrib, when: NotificationsCenterVisibleContext.negate(), primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyN), handler: () => { toasts.hide(); center.show(); } </ins> }); // Hide Notifications Center
Change:
I searched for the wrong word here but I needed to wait several seconds to make sure the search had completed: ! There should be some indicator for no results in the quick search
I previously relied on the progress indicator to show that the search was no longer running, but it'd be nice to visually see the note
It feels a little too subtle to rely on the loading bar as it might search so fast it doesn't show at all

Discussion:
return { picks: syncResult, additionalPicks: allMatches.asyncResults <del> .then(asyncResults => this._getPicksFromMatches(asyncResults, MAX_FILES_SHOWN - matches.length)) </del> <ins> .then(asyncResults => (asyncResults.length + syncResult.length === 0) ? [{ label: localize('noAnythingResults', "No matching results") }] : this._getPicksFromMatches(asyncResults, MAX_FILES_SHOWN - matches.length)) </ins> .then(picks => { if (picks.length > 0) { this.searchModel.searchResult.toggleHighlights(true);
Change:
Summary: The sign-in link for Github in VSCode running through serve-web rotates ports in the 54xxx range, breaking any pre-set port forwarding for users connecting via SSH. This occurs regardless of any port option set with --port (taken from my comment in ) Does this issue occur when all extensions are disabled?: Yes VS Code Version: Insiders 1.82.0 OS Version: Mac OS 13.3 Steps to Reproduce: to the device hosting code via SSH, with local port forwarding for port 8000 enabled the remote device, launch serve-web with a browser window and navigate to the URL given by serve-web on settings sync, showing a github sign-in URL. Note the port is different than the default, requiring you to reconnect and add a new forwarded port Expected behavior: Setting the port with --port should (a) also determine the port used for sign-in, or (b) be a separate option so that SSH port forwarding does not require updating SSH config and reconnecting each time you need to sign in
is the github sign-in URL in step 4 coming from you?
This flow shouldn't actually happen in the remote case and instead the user should get the device code flow. Fixed this by disabling the local server flow in
Verification: turn on Settings Sync using GitHub when you go through the auth flow, you should get the Device Code Flow first

Discussion:
// other flows that work well. supportsGitHubEnterpriseServer: false, supportsHostedGitHubEnterprise: true, <del> supportsRemoteExtensionHost: true, </del> <ins> // Opening a port on the remote side can't be open in the browser on // the client side so this flow won't work in remote extension hosts supportsRemoteExtensionHost: false, </ins> // Web worker can't open a port to listen for the redirect supportsWebWorkerExtensionHost: false, // exchanging a code for a token requires a client secret