jiebi/CodeConvo huggingface dataset:
Change:
import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { localize } from 'vs/nls'; import { Codicon } from 'vs/base/common/codicons'; <ins> import { coalesce } from 'vs/base/common/arrays'; </ins> const $ = dom.$; let forgetScopes = true;

Discussion:
<!-- 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. --During debugging there is the option to copy the value from a watch variable. VSCode by default allows to inspect arrays. I can select with shift click a range of values within the array and they are highlighted. Pressing 'copy value' however, will only copy the value of the array that the mouse is hovering. It could be nice that if several values are highlighted all those values are copied into the clipboard. ! As a use case, I work with numerical methods and exporting those vector values to excel allows me to quickly validate that some operations are computed correctly, evolution of values during the solving phase, etc. Moreover, from the point of view of UX, in my humil opinion, it makes more sense that if multiple values are highlighted, all of them are copied to the clipboard, separated by n. Just a small suggestion, Thanks in advance, vscode is awesome
this feature request makes sense. I guess you would expect that each value is followed by a new line to distnguish between them? This is doable, assigning to next milestone to look into it then.
Yes, I suggested new line because it seems reasonable as it copy pastes well to excel and notepad and it resembles the structure you are 'seeing' in the screen. Thanks for answering so fast
Adding help wanted in case somebody from the community wants to help here. Code pointer The command should be changed that as arguments it gets an array of selected expressions. Might be a bit tricky for first time contributors to get 100% right.
I'll work on this
Change:
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; import { INotebookActionContext, INotebookCellActionContext, NotebookAction, NotebookCellAction, NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT } from 'vs/workbench/contrib/notebook/browser/controller/coreActions'; <del> import { NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CURSOR_NAVIGATION_MODE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </del> import { CellEditState } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; import { CellKind, NOTEBOOK_EDITOR_CURSOR_BOUNDARY } from 'vs/workbench/contrib/notebook/common/notebookCommon'; <del> import { EditorExtensionsRegistry } from 'vs/editor/browser/editorExtensions'; </del> <ins> import { NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CURSOR_NAVIGATION_MODE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </ins> const NOTEBOOK_FOCUS_TOP = 'notebook.focusTop'; const NOTEBOOK_FOCUS_BOTTOM = 'notebook.focusBottom';

Discussion:
Issue Type: <bBug</bWhen using intellisense prompts inside a .ipynb file, I am unable to use the arrow keys to navigate the given prompt. tested by just typing "impo" and then trying to navigate the import autocomplete prompts Unable to repro in the stable release, seems to be just the pre-release version Extension version: 2022.6. VS Code version: Code - Insiders 1.69.0-insider (, 2022-06-21T05:16:12.334Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This sounds like an issue in the editor? Transferring to VS code. This isn't handled by the Jupyter extension.
It happens when there is only a single line in the cell.
Change:
try { const externalSchemeUri = getUriForLinkWithKnownExternalScheme(link); if (externalSchemeUri) { <del> return normalizeLink(externalSchemeUri.toString()); </del> <ins> // set true to skip encoding return normalizeLink(externalSchemeUri.toString(true)); </ins> }

Discussion:
Markdown preview urlencode link get arguments then broken links when pasting in a rich text document. VSCode Version: Version 1.28.0 2018-10-04T16:33:34.831Z OS Version: macOS Mojave 10.14 (18A391) Steps to Reproduce: a Markdown document with a link with parameters, i.e.: the preview link in a rich text document (in example mac Notes) the link, is broken. If you follow the link from the preview, it works, but if you follow the link from the rich text you get Does this issue occur when all extensions are disabled?: Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.537 --- <!-- score: 0.5 --<!-- potentialduplicatescomment --
I'm not able to reproduce this. How are you copying the link? In the markdown preview or in the editor?
Hi I'm copying from the Preview pane.
Here a screenshot with the link urlencoded: ! Lots of thanks
How are you copying that link?
I'm copying the link in the preview pane selecting the text with the mouse and pressing Command & C keys simultaneously. Today I installed and then, works fine.
Notes for repo: I can't figure out how to copy the link from the preview hover but on macos you can just drag the link to textedit
Change:
* @param providerId The id of the provider to use * @param scopes A list of scopes representing the permissions requested. These are dependent on the authentication provider * @param options The {@link AuthenticationGetSessionOptions} to use <del> * @returns A thenable that resolves to an authentication session if available, or undefined if there are no sessions </del> <ins> * @returns A thenable that resolves to an authentication session </ins> */ <del> export function getSession(providerId: string, scopes: readonly string[], options?: AuthenticationGetSessionOptions): Thenable<AuthenticationSession | undefined>; </del> <ins> export function getSession(providerId: string, scopes: readonly string[], options: AuthenticationGetSessionOptions & { forceNewSession: true | { detail: string } }): Thenable<AuthenticationSession>; </ins> /** * Get an authentication session matching the desired scopes. Rejects if a provider with providerId is not

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.63 OS Version: Windows 11 Steps to Reproduce: an extension which calls passing the newly finalized option TypeScript says the return type is potentially . Previously (prior to finalization) it said that the return type was I think the intent of the forceNewSession option is to ensure that getSession always returns an AuthenticationSession, but because forceNewSession has been to AuthenticationGetSessionOptions as part of api finalization, it now falls into this case rather than this case Is this something we can get fixed in the published types? I think if you switch their order, that would be enough (at least that seems to work locally). In the meantime I have worked around it by downloading the off the main branch, switching their order in that copy, and deleting the conflicting copy of from node_modules.
Candidate pushed via
Verification steps: In an extension, grab the from the release branch and replace the file with it. put this in your extension's code: The return type of that call should be NOT
Change:
} updateSeverity(severity: Severity): void { <ins> if (severity === this._severity) { return; } </ins> this._severity = severity; this._onDidChangeContent.fire({ kind: NotificationViewItemContentChangeKind.SEVERITY }); } updateMessage(input: NotificationMessage): void { const message = NotificationViewItem.parseNotificationMessage(input); <del> if (!message) { </del> <ins> if (!message || message.raw === this._message.raw) { </ins> return; }

Discussion:
https://user- a new codespaces using the vscode repo clicking on the logs link :bug: Unable to click on the link Upon inspecting the DOM, it appears that elements are being /removed/updated every second so that may be blocking the link from being clicked on Codespaces Extension: v0.10.2 Version: 1.57.0-insider Commit: Date: 2021-05-20T05:11:47.260Z Electron: 12.0.7 Chrome: 89.0.4389.128 14.16.0 V8: 8.9.255.25-electron.0 OS: Darwin x64 20.3.0
Following up upstream first...
what do you think about not rerendering the notification message if the content didn't change between calls to report? In the codespaces extension I send fake progress updates quickly to smooth out the progress bar, and you can't click a link if it updates at the moment you are clicking it
good catch, indeed we should not update the DOM when contents have not changed. Is this something you would be interested in doing a PR for? I see to locations that could benefit of a check to not emit change events when nothing changed:   I would think for the latter, a simple check for would be sufficient.
Sure
PR:
It looks like "starting codespace" is no longer a link: 
you have to create a new codespace in order for the build logs to appear, connecting to an existing one just resumes the codespace. I can try to reproduce.
Verified <img width="1024" alt="CleanShot 2021-06-07 at 11 29 00 src="https://user-"
Change:
} // Expand all stats in the parent chain. <del> let item: ExplorerItem | undefined = this.explorerService.roots.filter(i => this.uriIdentityService.extUri.isEqualOrParent(resource, i.resource)) // Take the root that is the closest to the stat #72299 .sort((first, second) => second.resource.path.length - first.resource.path.length)[0]; </del> <ins> let item: ExplorerItem | null = this.explorerService.findClosestRoot(resource); </ins> while (item && item.resource.toString() !== resource.toString()) { try {

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. --Related Issues: <!-- 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. --- VS Code Version: 1.54.1 OS Version: Linux x64 5.8.0-44-generic Steps to Reproduce: a root folder (files-exclude-sample) that folder create two nested folders (child1, child2) root folder (files-exclude-sample), create a workspace definition file (files-exclude-) root folder (files-exclude-sample), create a .vscode folder .vscode folder create a file to previous steps, just clone this GitHub repo: VSCode, open the workspace (files-exclude-) looks ok. You have tree root folders (files-exclude-sample, child1 and child2) ! you expand all three folder you can see something like ! specified in root folder , child1 and child2 are excluded from child1 folder child1 folder is collapsed (not removed from explorer tree) and it appears inside root folder (files-exclude-sample) folder ! expected behavior is that child1 is not collapsed and it does not appear inside root folder <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --
the owner of the file explorer is
I acknowledge this issue. MR workspace support with when one root folder is a subfolder of another root folder has some issues. If somebody is passionate about fixing this let me know and I can provide pointers
Created fixing this
Thanks to a great pr by this is now fixed
Change:
this._findInput.style(inputStyles); } <ins> private _getKeybinding(actionId: string): string { let kb = this._keybindingService?.lookupKeybinding(actionId); if (!kb) { return ''; } return ` (${kb.getLabel()})`; } </ins> override dispose() { super.dispose();

Discussion:
And instead pass in (or don't) a new option for the type
so the complexity here is that we can't reference the keybinding service within the super call to the constructor and need to do that to provide the options to the find input object that's read only.
the alternative would be to pass in the options from both the terminal view and terminal editor (redundant)
going to pass in an options object and handle the keybinding in simple find widget
Spent awhile on this, don't think we will get to it
Change:
* {dirty}: indicator * {separator}: conditional separator */ <del> private doGetWindowTitle(): string { </del> <ins> getWindowTitle(): string { </ins> const editor = this.editorService.activeEditor; const workspace = this.contextService.getWorkspace();

Discussion:
Testing I think we will soon turn command center on by default. What is the impact on then? I see we are only showing the full title in the hover now, but I wonder if we need another setting (?) so that users still can configure what we show in the command center? ! Or maybe we should find a way to show the even in the command center with ellipsis if overflowing. //cc
Seems reasonable to me
Enabling the command centre removes my custom window title, showing the full path of the currently focussed editor. I find this very useful especially when there are files with the same name but in different directories. Can't the command centre show the full custom window title (without having to hover over it)? Without this, I would permanently disable it.
We can say the default is different but a customisation is honoured
To verify enable command center configure and/or validate that any customization is picked up by the CC reset above settings validate that the CC uses a default
Any reason we wouldn't also apply this with the default setting? My worry is that when we eventually make command center on by default, the setting would basically not work until you change it? I think it looks good when enabled even with default setting: !
The idea is that the CC shows an affordance to do something, like "Search vscode" - we replaced "search" with the icon which watered this down a bit. The worry is that the more title-stuff we put here the less likely it is that folks understand this as affordance
Change:
this.setAdditionalToggles([this._aiButton]); <del> this.inputBox.paddingRight = (this.caseSensitive?.width() ?? 0) + (this.wholeWords?.width() ?? 0) + (this.regex?.width() ?? 0) + this._findFilter.width + (this._aiButton?.width() ?? 0); </del> <ins> this.inputBox.paddingRight = (this.caseSensitive?.width() ?? 0) + (this.wholeWords?.width() ?? 0) + (this.regex?.width() ?? 0) + this._findFilter.width; </ins> this.controls.appendChild(this._findFilter.container); this._findFilter.container.classList.add('monaco-custom-toggle');

Discussion:
There is more wasted space between the buttons and text in the search panel's find input than on today's stable. I might need to make this a candidate. ! Related
Change:
when: AnyScopedVoiceChatInProgress, group: 'navigation', order: -1 <del> }, { id: TerminalChatExecute, when: AnyScopedVoiceChatInProgress, group: 'navigation', order: -1 </del> }] }); }

Discussion:
terminal I -notice double microphone icons I do not have the voice extension installed. ! fyi
Caused by:
looks the most relevant
Why does the terminal have its own execute menu?
Is it possible to clean up the parallel execute menu and submit actions? I'm unclear whether I can just move the voice actions to or you need a new parallel menu for terminal customizations.
I did the first one, seems to work, but please clean up the terminal-specific stuff if possible
Can you be more specific?
so I do have a lot of special code for terminal in using stuff like , which maybe now is obsolete? Did something change to consolidate inline chat in terminal?
This isn't actionable without more info. Terminal chat still has a separate widget implementation, it extends inline chat and shares a lot of code, but must be separate as it's not a monaco content widget for example.
Yeah I did a quick attempt to remove my terminal specific code but restored it, as it still seemed to be needed.
That was directed at the terminal widget stuff- it has its own execute menu and execute action, and I only looked briefly but it seemed like it was doing the same thing as the base chat submit action. TerminalChatWidget uses InlineChatWidget which uses the normal ChatWidget, I'd expect that the execute toolbar can be the same regardless of whether it shows up in an editor or a terminal.
did all that stuff so she might be able to comment better than me.
When I last investigated this, , the chat widget's submit action was dependent on an editor, which we don't have in terminal chat, and was defined in a place where the was not accessible. I can look into doing this now though as it seems the code has changed since then.
Change:
this._updateToolbar(this._currentProvider.actions, provider.options.type); const hide = (e?: KeyboardEvent | IKeyboardEvent): void => { <del> provider.onClose(); </del> <ins> if (!this._inQuickPick) { provider.onClose(); } </ins> e?.stopPropagation(); this._contextViewService.hideContextView(); this._updateContextKeys(provider, false);

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:
const link = document.createElement('a'); link.textContent = '...'; link.href = `command:workbench.action.openLargeOutput?${outputId}`; <ins> link.ariaLabel = 'Open full output in text editor'; </ins> link.title = 'Open full output in text editor'; link.style.setProperty('text-decoration', 'none'); container.appendChild(link);

Discussion:
Testing When there's too much output, this link uses to explain what it does: <img width="76" alt="image" src="https://user-"<img width="205" alt="image" src="https://user-"This isn't accessible, you should set such that it's read by a screen reader.
Change:
} else { cp.spawnSync('unzip', [vscodeArchivePath, '-d', `${tempDir}`]); } <del> fs.renameSync(path.join(tempDir, process.platform === 'win32' ? 'vscode-server-win32-x64' : 'vscode-server-darwin'), extractDir); </del> <ins> fs.renameSync(path.join(tempDir, process.platform === 'win32' ? 'vscode-server-win32-x64' : 'vscode-server-darwin-x64'), extractDir); </ins> } else { // tar does not create extractDir by default if (!fs.existsSync(extractDir)) {

Discussion:
I noticed in the launcher that today's Darwin server has a nested subdirectory, . This broke our launcher (I initially assumed we changed something), and after checking I noticed that it also causes remote ssh to fail since the binaries are no longer in the expected locations: On the launcher side I can verify that pulling in yesterday's version by adding to the URL fixes the issue
The SSH issue was a separate local problem. Looking at the directories, the contents seem mostly the same structure wise. Not sure why it's extracting differently, since it does not seem to affect remote SSH. Looking into it.
Okay, that was a fun investigation. Yesterday's server's download path was But today's was We would only pop off the first segment of the path when unzipping if it matched the zip name. While the zip was renamed, its nested directory was not, and therefore we would end up with an extra segment in the path. I'll change our logic to just always pop off the first segment, though I think having the zip name match any nested directory is pretty standard so I'll leave this open in case this is worth a tweak.
Related to and
Change:
import * as vscode from 'vscode'; import { getPreferredLanguage, jupyterNotebookModelToNotebookData } from './deserializers'; import * as fnv from '@enonic/fnv-plus'; <del> import { DeferredPromise, generateUuid } from './helper'; </del> import { serializeNotebookToString } from './serializers'; export class NotebookSerializer extends vscode.Disposable implements vscode.NotebookSerializer { <del> private experimentalSave = vscode.workspace.getConfiguration('ipynb').get('experimental.serialization', false); </del> private disposed: boolean = false; private worker?: import('node:worker_threads').Worker; <del> private tasks = new Map<string, DeferredPromise<Uint8Array>>(); constructor(readonly context: vscode.ExtensionContext, private readonly isBrowser: boolean) { </del> <ins> constructor(readonly context: vscode.ExtensionContext, _isBrowser: boolean) { </ins> super(() => { }); <del> context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(e => { if (e.affectsConfiguration('ipynb.experimental.serialization')) { this.experimentalSave = vscode.workspace.getConfiguration('ipynb').get('experimental.serialization', false); } })); </del> } override dispose() {

Discussion:
This seems to be caused by following change which brought module and Webpack failed compiling this. Therefore I am reverting this commit.
The associated PR is
Change:
use tokio::pin; use tokio::process::Command; <del> use crate::async_pipe::{get_socket_name, get_socket_rw_stream, AsyncPipe}; </del> <ins> use crate::async_pipe::{ get_socket_name, get_socket_rw_stream, listen_socket_rw_stream, AsyncPipe, }; </ins> use crate::constants::VSCODE_CLI_QUALITY; use crate::download_cache::DownloadCache; use crate::log;

Discussion:
It doesn't look like this new CLI supports serving on a UNIX domain socket. Could we please get that in too, like in We're going to need it in order to handle auth in a proxy. (I'm happy to open a new issue for that if you need) Originally posted by in
Nice, thanks!
I can do this what now?
Also is it an issue that the socket file wasn't release/deleted after a ctrl+C? or do I clean that up manually?
We should probably automatically delete the file if it exists You can do a to make sure it's actually working . Without extra stuff you won't be able to open it in the browser, but verifying the connection should be enough.