jiebi/CodeConvo huggingface dataset:
Change:
if (highlights) { return { label, <ins> description: terminal.description, </ins> highlights: { label: highlights }, buttons: [ {

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. --I frequently use VSCode with multiple projects attached to the workspace. Usually each has at least one terminal associated with it. The dialogue invoked by this command does not give the user a lot of context with which to choose terminals: ! Contrast this with the drop select in corner of the terminal pane: ! The advantage of is that it does not require using the mouse. But it becomes unusable with more than a couple of terminals (assuming the user hasn't edited the terminal names). I know that you can name them, but would it be possible to show the root folder associated with the terminal as per the drop select in the terminal pane?
I think we should show the configured and in the quick pick like in the terminal tabs.
Hello! Can I take a look at this issue? Thanks!
sure, here a code pointer for where the quick pick is defined to get your started:
Change:
this._resolveCodeLensesPromise?.cancel(); this._resolveCodeLensesPromise = undefined; })); <del> this._localToDispose.add(this._editor.onDidFocusEditorWidget(() => { </del> <ins> this._localToDispose.add(this._editor.onDidFocusEditorText(() => { </ins> scheduler.schedule(); })); this._localToDispose.add(this._editor.onDidBlurEditorText(() => {

Discussion:
Type: <bBug</bWhen Webview is open with , Codelenses become inactive (codelenses don't change color when hovered, nothing happens when codelense is clicked). To reproduce, launch extension sample: (This is a combination of webview-sample and codelens-sample from vscode-extension-samples) code lenses with the 'CodeLens Sample: Enable CodeLens' command empty file, type something in there and observe code lens shown and it, and that it active and works 'Cat Coding' webview with the 'CatCoding: Start cat coding session' command back to the file created in step 1 and observe that codelens doesn't work anymore. cat coding webview or move it into a second column, codelense begins to work. VS Code version: Code 1.84.2 (Universal) (, 2023-11-09T10:52:33.687Z) OS version: Darwin x64 23.0.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (23)</summaryExtensionVersion ------ vscode-openapi4.18.6 prettier-vscode10.1.0 vscode-jest-runner0.4.69 go0.39.1 vscode-dotnet-runtime2.0.0 python2023.20.0 vscode-pylance2023.11.10 jupyter2023.10. jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 azurerm-vscode-tools0.15.11 vscode-thunder-client2.16.0 java1.24.0 vscode-yaml1.14.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-java-debug0.55.0 vscode-java-dependency0.23.2 vscode-java-pack0.25.15 vscode-java-test0.40.1 vscode-maven0.43.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Hi ! Please let me know if you require any additional info. Also, I didn't mention it in the original report but I have tried it with extensions disabled and experienced the same issue.
Is there a logical conflict between WebView and CodeLens?

can I take this one or is someone else working on it?
any news on this?
BTW, it doesn't have to be a WebView open by an extension to cause this. I can open VS Code "Settings" pane, and while it's open, none of the CodeLenses are clickable.
This can be reproduced easily (I think all newer vscode versions are impacted ) P.S: all extensions are turned off !
Any update on this? We seen to be experiencing the same issue with our extension that adds custom CodeLenses to a new file type we're working on.
I have submitted a PR to fix this.
Change:
private readonly _onDidSave = this._register(new Emitter<IStoredFileWorkingCopySaveEvent>()); private readonly _onDidChangeOrphaned = this._register(new Emitter<void>()); private readonly _onDidChangeReadonly = this._register(new Emitter<void>()); <ins> private readonly _onDidRevertUntitled = this._register(new Emitter<void>()); </ins> readonly onDidChangeDirty: Event<void> = this._onDidChangeDirty.event; readonly onDidSave: Event<IStoredFileWorkingCopySaveEvent> = this._onDidSave.event; readonly onDidChangeOrphaned: Event<void> = this._onDidChangeOrphaned.event; readonly onDidChangeReadonly: Event<void> = this._onDidChangeReadonly.event; <ins> readonly onDidRevertUntitled: Event<void> = this._onDidRevertUntitled.event; </ins> private _workingCopy?: IStoredFileWorkingCopy<NotebookFileWorkingCopyModel> | IUntitledFileWorkingCopy<NotebookFileWorkingCopyModel>; private readonly _workingCopyListeners = this._register(new DisposableStore());

Discussion:
a new notebook (or new image with Luna editor) and also a new text file all the editors dirty hotexit is off the window, selecting "don't save" when prompted to revert all working copies -open the window - the text editor is gone (closed during shut down), but the other editors are open and blank.
This is why I thought the revert behavior was broken in I think it would be much better if an interactive window closed when it was reverted.
this is really up to the editor itself to decide whether to close the editor when the underlying working copy is reverted or not. Generally working copies try to stay as agnostic as possible to editors. There is only very few exceptions when it comes to restoring backups. Untitled editors listen to working copies getting reverted to self-dispose: This in turn, will close the editor. I suggest you go down a similar path. fyi for custom editors
fixed for notebook/Interactive window editor. - did you want another issue to track this for custom editors?
Yes that would be great
Change:
disposables.push(toDisposable(() => ee.removeListener(name, fn))); }; <ins> const cloneProgressOutput = ['Receiving objects', 'Resolving deltas']; let prevInc = 0; </ins> let result = Promise.all<any>([ new Promise<number>((c, e) => { once(child, 'error', cpErrorHandler(e));

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --When downloading a GIT repository should indicate the percentage of download. <!-- Describe the feature you'd like. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.484 --<!-- potentialduplicatescomment --
I would like to take this.
Change:
this.utilityProcess = new UtilityProcess(this._logService, NullTelemetryService, this._lifecycleMainService); const inspectParams = parsePtyHostDebugPort(this._environmentService.args, this._environmentService.isBuilt); <del> let execArgv: string[] | undefined = undefined; if (inspectParams) { execArgv = ['--nolazy']; if (inspectParams.break) { execArgv.push(`--inspect-brk=${inspectParams.port}`); } else if (!inspectParams.break) { execArgv.push(`--inspect=${inspectParams.port}`); } } </del> <ins> const execArgv = inspectParams.port ? [ '--nolazy', `--inspect${inspectParams.break ? '-brk' : ''}=${inspectParams.port}` ] : undefined; </ins> this.utilityProcess.start({ type: 'ptyHost',

Discussion:
Type: <bBug</b- Open VSCode on MacOS Run . Note the PID using port 9229 Help Open Process Explorer The PID of is using Node's default debug port This blocks a user-level Node application from using 9229 VS Code version: Code 1.79.0 (Universal) (, 2023-06-07T14:29:00.206Z) OS version: Darwin arm64 22.5.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (7)</summaryExtensionVersion ------ vscode-eslint2.4.0 gitlens13.6.0 EditorConfig0.16.4 prettier-vscode9.13.0 flow-for-vscode2.2.1 copilot1.89.156 material-icon-theme4.28.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
That might mean that a process in a vscode terminal is using that port?
I guess I would expect to point at that child process but it's worth considering?
is this related to message ports?
This is an issue with the pty host process spawning, it always gets spawned with flag from which causes to invoke the debugger with default debug port. Steps to confirm: Open Open process explorer and see the command line of contains
thanks!
Change:
const isDependency = dependecies.some(id => areSameExtensions({ id }, galleryExtension.identifier)); let compatible; try { <del> compatible = await this.checkAndGetCompatibleVersion(galleryExtension, true, installPreRelease); </del> <ins> compatible = await this.checkAndGetCompatibleVersion(galleryExtension, false, installPreRelease); </ins> } catch (error) { if (error instanceof ExtensionManagementError && error.code === ExtensionManagementErrorCode.IncompatibleTargetPlatform && !isDependency) { this.logService.info('Skipping the packed extension as it cannot be installed', galleryExtension.identifier.id);

Discussion:
Version: 1.65.0-insider (user setup) Commit: Date: 2022-02-11T05:19:13.554Z Electron: 16.0.8 Chromium: 96.0.4664.110 16.9.1 V8: 9.6.180.21-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: an extension (such as the C/C++ extension) that uses platform-specific VSIX's in the marketplace. a Remote WSL workspace. Install that extension into the remote. the extension UI for the instance installed remotely, try to select "Install Another Version..." or "Install Another Prerelease Version..." This results in an error: ! (There is a similar error in latest non-insider version, 1.64.2)
Can you please enable the log level to trace and provide following logs while performing this action? Log (Shared) Log (Window) Log (Remote)
When this repro's, I see the following in (with and is set to . I do not see any such setting as ) : is similar: was not logged to for this repro.
You can use following command to set log level to trace
Log (Shared): Log (Windows): Log (Remote Server): Log (Remote Extension Host): Please re-open. Please don't block waiting for me to provide information. This bug is extremely easy to reproduce.
Please re-open.
To verify: Open a remote window (make sure local and remote are on different Operating Systems) Install C++ extension Install another version of C++ extension (right click on the extension and you will see this action) Make sure another version is installed.
Change:
constructor(private code: Code, private editors: Editors, private editor: Editor, private quickaccess: QuickAccess) { } <ins> /** * Write a single setting key value pair. * * Warning: You may need to set `editor.wordWrap` to `"on"` if this is called with a really long * setting. */ </ins> async addUserSetting(setting: string, value: string): Promise<void> { await this.openUserSettingsFile();

Discussion:
With support for for Electron tests, we should enable terminal tests: I eagerly had enabled them but since we don't know whether Electron smoke tests with are stable, I moved back to only running them in web. We should not enable these tests until we are sure, smoke tests are stable, so maybe this should only happen in May.
Failing macOS run for reference: !
Still not passing, deferring to a debt week
Change:
location, { resource: true }, { <del> // TODO@jrieken support editable code blocks </del> <ins> defaultElementHeight: 32, </ins> renderStyle: 'compact', renderInputOnTop: true, supportsFileReferences: true, <ins> editorOverflowWidgetsDomNode: options.editorOverflowWidgetsDomNode, </ins> editableCodeBlocks: options.editableCodeBlocks, menus: { executeToolbar: options.inputMenuId,

Discussion:
See how the padding is ~double that on top than on the side ! It looks particularly bad imo when a response is in progress: ! It's also ~half on bottom: ! Could we make the padding consistent on all sides?
Padding also looks pretty bad in terminal: !
When showing a result the chat widget height is off by 3px, e.g its reported content height is small then the height takes... <img width="1411" alt="Screenshot 2024-03-22 at 16 22 35" src=""
Should be looking better now <img width="1277" alt="Screenshot 2024-03-26 at 20 58 39" src=""
Much better Does it look wrong with this part gone too? !
Yeah, I had played with that and wasn't happy. The different radii (from the input and zone) get close enough to make it look weird. Also, the focus border makes it appear as too narrow
Change:
this._logService.error('Task terminal process never got ready'); }); this._fireTaskEvent(TaskEvent.create(TaskEventKind.Start, task, terminal.instanceId, resolver.values)); <del> const onData = terminal.onLineData((line) => { watchingProblemMatcher.processLine(line); if (!delayer) { delayer = new Async.Delayer(3000); } delayer.trigger(() => { watchingProblemMatcher.forceDelivery(); delayer = undefined; </del> <ins> let onData: IDisposable | undefined; if (problemMatchers.length) { // prevent https://github.com/microsoft/vscode/issues/174511 from happening onData = terminal.onLineData((line) => { watchingProblemMatcher.processLine(line); if (!delayer) { delayer = new Async.Delayer(3000); } delayer.trigger(() => { watchingProblemMatcher.forceDelivery(); delayer = undefined; }); </ins> }); <del> }); </del> <ins> } </ins> promise = new Promise<ITaskSummary>((resolve, reject) => { const onExit = terminal!.onExit((terminalLaunchResult) => { const exitCode = typeof terminalLaunchResult === 'number' ? terminalLaunchResult : terminalLaunchResult?.code; <del> onData.dispose(); </del> <ins> onData?.dispose(); </ins> onExit.dispose(); const key = task.getMapKey(); if (this._busyTasks[mapKey]) {

Discussion:
When having a launch config for debugging extensions which uses a task which uses a missing problem matcher (like ), the extension host development window no longer pops up. This used to work in the past. This apparently used to work until recently. cc
I'm not sure what a missing problem matcher is - if you mean as the problem matcher, we used to create the even when there was no problem matcher provided and that changed here wasn't around for that change, so it's possible I broke this then
I think means that if your task refers to a problem matcher that isn't installed.
In our case it was:
thanks for that info. Pretty sure the cause is . Did this repro in insider's for you?
Not sure what you mean here. I haven't installed the mentioned extension (watcher), used insiders, our run stoped working.
I can reproduce - have a with a that's either invalid or non-existent IE and . Debug and the window doesn't open
Thanks a lot!
Change:
description: nls.localize('editor.editor.gotoLocation.multipleDeclarations', "Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."), ...jsonSubset, }, <del> 'editor.gotoLocation.multipleImplemenations': { description: nls.localize('editor.editor.gotoLocation.multipleImplemenattions', "Controls the behavior the 'Go to Implemenations'-command when multiple target locations exist."), </del> <ins> 'editor.gotoLocation.multipleImplementations': { description: nls.localize('editor.editor.gotoLocation.multipleImplemenattions', "Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."), </ins> ...jsonSubset, }, 'editor.gotoLocation.multipleReferences': {

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.41.0-insider OS Version: Windows_NT x64 10.0. Steps to Reproduce: to settings for "Implemenations" "Editor Goto Location: Multiple Implemenations" appears instead of "Editor Goto Location: Multiple Implementations" This also shows up as "editor.gotoLocation.multipleImplemenations" in "" instead of as "editor.gotoLocation.multipleImplementations" <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Change:
}; } <del> const packageNLSUri = webExtension.packageNLSUris?.get(Language.value()); </del> <ins> const packageNLSUri = webExtension.packageNLSUris?.get(Language.value().toLowerCase()); </ins> if (packageNLSUri || webExtension.fallbackPackageNLSUri) { manifest = packageNLSUri ? await this.translateManifest(manifest, packageNLSUri, webExtension.fallbackPackageNLSUri)

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: OS Version: Steps to Reproduce: Case1: chrome language of zh-CN webworker extensions with zh-CN nls error happened <img width="806" alt="image" src="https://user-"cached key like: , but is , need source code at
how about it?
can you please open a new issue for case 2? We prefer 1 issue per problem. For case 1, yes it seems like we need to be toLowerCaseing that before we read from the bundle cache. Nice catch!
this should be working again in can you give it a try and let me know how it goes?
Verified that in we now use ().toLowerCase()
Sorry, I just saw it. It works
Change:
pattern: string; <del> constructor(base: vscode.WorkspaceFolder | string, pattern: string) { </del> <ins> constructor(base: URI | vscode.WorkspaceFolder | string, pattern: string) { </ins> if (typeof base !== 'string') { <del> if (!base || !URI.isUri(base.uri)) { </del> <ins> if (!base || !URI.isUri(base) && !URI.isUri(base.uri)) { </ins> throw illegalArgument('base'); } }

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --This would prevent needing to convert the to a string only for it to be parsed back into a later on, and is friendlier to developers.
proposed or finalized?
Change:
this.log(message, LogLevel.Warning); } <del> logGitCommand(command: string): void { this._outputChannel.appendLine(`[${new Date().toISOString()}] ${command}`); } setLogLevel(logLevel: LogLevel): void { if (this._currentLogLevel === logLevel) { return; } this._currentLogLevel = logLevel; this._onDidChangeLogLevel.fire(logLevel); this.logInfo(localize('changed', "Log level changed to: {0}", LogLevel[logLevel])); } </del> showOutputChannel(): void { this._outputChannel.show(); }

Discussion:
Testing open the settings and change the setting open the git output view. Nothing has changed there, no message that the log level has change, not any debug messages the setting is only the initial level. It would be nice if a setting change also change the actual log level . Alternative describe in the settings description that the setting is only represents the initial log level, and that a reload is necessary. (I'd rather prefer the first approach as we want settings to be 'live')

Testing Version: 1.68.0-insider (user setup) Commit: Date: 2022-05-31T05:17:04.479Z Run the command and select Would be nice to get a message in the log
Looks like the the message is not shown as it is of type and is less than than. Would be good to always show it, regardless of the current and the new level. Same problem with the initial message when the output is started.
Change:
/* status */ .monaco-workbench .inline-chat .status { <del> padding-top: 4px; </del> display: flex; justify-content: space-between; align-items: center; } .monaco-workbench .inline-chat .status .actions.hidden { display: none; }

Discussion:
See how the padding is ~double that on top than on the side ! It looks particularly bad imo when a response is in progress: ! It's also ~half on bottom: ! Could we make the padding consistent on all sides?
Padding also looks pretty bad in terminal: !
When showing a result the chat widget height is off by 3px, e.g its reported content height is small then the height takes... <img width="1411" alt="Screenshot 2024-03-22 at 16 22 35" src=""
Should be looking better now <img width="1277" alt="Screenshot 2024-03-26 at 20 58 39" src=""
Much better Does it look wrong with this part gone too? !
Yeah, I had played with that and wasn't happy. The different radii (from the input and zone) get close enough to make it look weird. Also, the focus border makes it appear as too narrow
Change:
} private renderFolderDetails(folder: FolderMatch, templateData: IFolderMatchTemplate) { <del> const count = this.searchView.isTreeLayoutViewVisible ? folder.count() : folder.recursiveFileCount(); </del> <ins> const count = folder.recursiveMatchCount(); </ins> templateData.badge.setCount(count); templateData.badge.setTitleFormat(count > 1 ? nls.localize('searchFileMatches', "{0} files found", count) : nls.localize('searchFileMatch', "{0} file found", count));

Discussion:
<img width="288" alt="image" src="https://user-"The search result counts previously showed the number of nodes directly under it, but it would be nice if it actually showed the number of nested matches.
Change:
} }); return true; <del> })); </del> <ins> }, EditorContextKeys.hoverFocused)); </ins> } }

Discussion:
Running the open accessible view command doesn't do anything for me. It doesn't work regardless of whether screen reader mode is on Version: 1.80.0-insider (user setup) Commit: Date: 2023-06-28T08:01:04.380Z Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
It won't do anything unless you have a hover or a chat response focused
what is focused when you tried?
That was with focus in terminal, editor and sidebar. I tried just now with the terminal focused (chat visible) and it showed some very unexpected text: !
With focus in a hover or chat response, it should show. Otherwise, it shouldn't.
this one doesn't seem too critical so could move to July?
Well, it could be disorienting for SR users if it's showing content unexpectedly. But yeah probably risky at this point
actual fix will be in the linked PR, but a related issue will need to be resolved before this works fully
Works generally now, I found this edge case though
Change:
}; async function getFilesToPaste(fileList: FileList | undefined, clipboardService: IClipboardService): Promise<readonly URI[]> { <del> if (fileList) { </del> <ins> if (fileList && fileList.length > 0) { </ins> // with a `fileList` we support natively pasting files from clipboard return [...fileList].filter(file => !!file.path && isAbsolute(file.path)).map(file => URI.file(file.path)); } else {

Discussion:
VS Code Version:OS Version: Windows 11 and Linux-Fedora-39 Steps to Reproduce: click a file or folder in explorer pane and select copy from context menu click where you want file/folder to be copied to in explorer pane and select paste from context menu. /folder is not copied.