jiebi/CodeConvo huggingface dataset:
Change:
this.logService.error(error); } } <del> try { if (this.profiles.length === 1) { await this.fileService.del(this.profilesHome, { recursive: true }); } else { await this.fileService.del(profile.location, { recursive: true }); } } catch (error) { this.logService.error(error); } </del> } async setProfileForWorkspace(workspaceIdentifier: IAnyWorkspaceIdentifier, profileToSet: IUserDataProfile): Promise<void> {

Discussion:
I had a "Testing" profile with various remote extensions installed. I deleted it (while being in it) and then recreated it empty. I still found all remote menu contributions even though the profile should have been empty. Maybe switching profiles should ask to reload the window when extensions require so? Steps to Reproduce: fresh user data dir, fresh extensions dir create an empty profile install SSH extension notice how the remote explorer view appears delete the profile notice how the remote explorer view is still there, same as the status bar entry for remote
Another case from is interesting: I do not think using a profile is a good idea for when extensions require a window reload to be disabled. So you need to then probably ask the user to reload the window or do it automatically.
AFAIK every extension requires a window reload after being disabled (except for package-json only extensions). We cannot unload code from extensions and cannot enforce them not doing anything anymore. There we always reload the window or at least the extension host
While switching profiles we restart extension host. You say this is not enough to unload extensions? Also while trusting/untrusting a workspace.
No, only those that are activate with code loaded. Here are steps: fresh user data dir, fresh extensions dir create an empty profile install SSH extension notice how the remote explorer view appears delete the profile notice how the remote explorer view is still there, same as the status bar entry for remote
I see this can be reproduced with above steps. But Remote Explorer view disappears with switching profile. So I think this is a bug (either in views or profiles) when profile is deleted. But status bar entries always appear.
Change:
break; } this._exitCode = exitCodeOrError.code; <del> if (exitCodeOrError.message.match(/.*error code:s*d{3}.*$/)) { exitCodeOrError.message = `Invalid starting directory ${this.initialCwd}, review your terminal.integrated.cwd setting.`; </del> <ins> const conptyError = exitCodeOrError.message.match(/.*error code:s*(d{3,4}).*$/); if (conptyError) { const errorCode = conptyError.length > 1 ? parseInt(conptyError[1]) : undefined; switch (errorCode) { case 267: exitCodeOrError.message = `Invalid starting directory ${this.initialCwd}, review your terminal.integrated.cwd setting`; break; case 1260: exitCodeOrError.message = `Windows cannot open this program because it has been prevented by a software restriction policy. For more information, open Event Viewer or contact your system Administrator`; break; } </ins> } exitCodeMessage = nls.localize('launchFailed.errorMessage', "The terminal process failed to launch: {0}.", exitCodeOrError.message); break;

Discussion:
This happens when the cwd is invalid, we could give a better error message <img width="645" alt="Screen Shot 2021-09-07 at 12 43 39 PM" src="https://user-"
Is "A native exception occurred during launch" the better error message?
We'd want to detect the error code: 267 part and present something more friendly like the terminal's starting directory doesn't exist, we already have a similar message which catches other cases of this so we'd want to align the wording with that:
Just the part might not have been handled but I managed to fit the rest in
Similar fix to
when I try this, I don't see a notification. in the console, I see:
it should show a notification as well To get this to repro, try commending out the section that handles cwd validation so we try to start the process with an invalid one.
Error handling needs some clean up

Issue Type: <bFeature Request</bMy organization forbids using PowerShell, so launching a terminal by default fails. I tried the debugging steps and enabled trace logging, but there were no useful error messages either in the log ("Terminal process exit (instanceId: 1) with code undefined") or the popup window ("Cannot create process, error code: 1260"). (On hindsight, the tip to "try launching your terminal" would've been useful, if I had found the default value for the integrated terminal sooner. The distinction between "integrated" and "external" is not yet clear to me.) My suggestion is displaying the attempted command either in the logs or the popup, which would have directed me sooner that it was trying to launch PowerShell instead of CMD. For any searcher that finds this: the solution for me was changing the setting to VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Searching for 1260 shows: So it's fairly obvious if you look that up. We should be able to handle it, here's where the exception is thrown: That should be thrown when running : Note that trying different shells is much easier now if you upgrade to the latest: !
Change:
} table, thead, tr, th, td, tbody { <del> border: none !important; </del> <ins> border: none; </ins> border-color: transparent; border-spacing: 0; border-collapse: collapse;

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.85.1 (system setup) OS Version: Windows_NT x64 10.0. In this snippet the major table related tags have border set to none with !important which makes it so that jupyter notebook tables can't have a border without jumping through hoops to override that !important tag. On my own installation, I patched out the !important and now my jupyter notebook tables can have borders and I'm not seeing any ill effects. It'd be nice if the next VSC update wouldn't revert that change.
verification steps: run this code in a python cell in a notebook, it should output a table with a border.
Change:
'use strict'; import * as assert from 'assert'; <del> import { guessMimeTypes, registerTextMime } from 'vs/base/common/mime'; </del> <ins> import { guessMimeTypes, registerTextMime, suggestFilename } from 'vs/base/common/mime'; </ins> suite('Mime', () => { test('Dynamically Register Text Mime', () => {

Discussion:
VSCode Version: 1.26.1 My extension provides syntax highlighting for the following files: <img width="147" alt="screen shot 2018-08-29 at 19 48 37" src="https://user-"When saving a new "Todo" file this will be the suggested name: <img width="368" alt="screen shot 2018-08-29 at 19 47 53" src="https://user-"Which doesn't really make sense, IMHO it should work like this: the first extension that starts with a dot, and suggest no extension starts with a dot pick the first one and suggest instead of
I would accept a reasonably small PR to fix this.
Change:
this.update(); } <ins> override dispose(): void { this.isDisposed = true; super.dispose(); } </ins> private update(): void { <ins> if (this.isDisposed) { return; } </ins> const options = this.editor.getOption(EditorOption.inlineSuggest); if (options.showToolbar !== 'always' || !this.model.ghostText) { this.widget.update(null, 0, undefined, []);

Discussion:
Saw while playing around in code OSS <img width="1251" alt="image" src="https://user-"
I also just ran into this. Here is the complete stack trace:
What are some verification steps for this issue?
I'll mark this as verified just because I was seeing this multiple times daily and am not seeing it anymore.
Change:
this.renderList(); } <del> protected cancelEdit(): void { </del> <ins> public cancelEdit(): void { </ins> this.model.setEditKey('none'); this.renderList(); }

Discussion:
On Linux: the settings editor type out "cellToolbarLocation" way through, when the setting comes up, focus is stolen by the "item" in the table !
Yikes. I wonder if you could look at this
I'm unable to repro this on both Windows and Mac. It takes me a double-click to manually change the first row of that setting into edit mode, after it shows up. Do we have any OS-specific code for the settings editor If not, I wonder if this might be an Electron issue.
I did not repro on Windows either, only in Linux
I can on mac, if I have multiple rows on the setting. Or maybe I had to interact with the setting in that editor previously. I can't remember whether there is some code on the list setting widget that tries to restore focus after a change. I just called you out because I thought you might have seen that recently
Ok, reproduced the issue on Mac but not Windows with your hint there: -click the first item in the cell toolbar location setting to get it into edit mode. of pressing the OK or Cancel button, close the setting editor. the setting editor again, and slowly type . :bug: The setting shows up with the first item in edit mode, and that seems to steal focus away.
In , there are some areas where gets called. I think a solution to this approach would be to call whenever the user focuses back onto the main search bar, or if the settings editor tab is closed. Otherwise, on all OSes, when the user focuses back onto the search bar, and tries to search a new setting, the focus is stolen back to the item in edit mode.
Change:
: this.options.installPreReleaseVersion || this.source.properties.isPreReleaseVersion || existingExtension?.preRelease; if (existingExtension && existingExtension.type !== ExtensionType.System && existingExtension.manifest.version === this.source.version) { <del> return this.extensionsScanner.updateMetadata(existingExtension, metadata); } // Unset if the extension is uninstalled and return the unset extension. const local = await this.unsetIfUninstalled(this.extensionKey); if (local) { return local; </del> <ins> local = await this.extensionsScanner.updateMetadata(existingExtension, metadata); } else { // Unset if the extension is uninstalled and return the unset extension. local = await this.unsetIfUninstalled(this.extensionKey); </ins> } }

Discussion:
Steps to Reproduce: an pre-release version of an extension to release version and restart extension host back to pre-release version and refresh extensions view Extension is still release version
Change:
const labelRun = localize("terminal.rerunCommand", 'Rerun Command'); actions.push({ class: undefined, tooltip: labelRun, id: 'terminal.rerunCommand', label: labelRun, enabled: true, <del> run: () => this._onDidRequestRunCommand.fire({ command }) </del> <ins> run: async () => { this._notificationService.prompt(Severity.Info, localize('rerun', 'Do you want to run the command: {0}', command.command), [{ label: localize('yes', 'Yes'), run: () => this._onDidRequestRunCommand.fire({ command }) }, { label: localize('no', 'No'), run: () => { } }]); } </ins> }); const labelCopy = localize("terminal.copyCommand", 'Copy Command'); actions.push({

Discussion:
VS Code Shell Integration vulnerability when re-running a command Escape sequences implemented by VS Code to support shell integration allow for a previously run command line to be replaced.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> import { compareBy, findLastIndex, numberComparator, reverseOrder } from 'vs/base/common/arrays'; </ins> import { assertFn, checkAdjacentItems } from 'vs/base/common/assert'; import { CharCode } from 'vs/base/common/charCode'; <ins> import { SetMap } from 'vs/base/common/collections'; </ins> import { LineRange } from 'vs/editor/common/core/lineRange'; import { OffsetRange } from 'vs/editor/common/core/offsetRange'; import { Position } from 'vs/editor/common/core/position';

Discussion:
When a code fragment of at least 3 lines of code is deleted somewhere in inserted somewhere else without modifications, this move should be detected. . (select latest -dev version to verify)
Change:
description: localize('workbench.editor.preferBasedLanguageDetection', "When enabled, a language detection model that takes into account editor history will be given higher precedence."), }, 'workbench.editor.languageDetectionHints': { <del> type: 'string', default: 'always', </del> <ins> type: 'object', default: { 'untitledEditors': true, 'notebookEditors': true }, </ins> tags: ['experimental'], <del> enum: ['always', 'notebookEditors', 'textEditors', 'never'], </del> description: localize('workbench.editor.showLanguageDetectionHints', "When enabled, shows a status bar quick fix when the editor language doesn't match detected content language."), <del> enumDescriptions: [ localize('workbench.editor.showLanguageDetectionHints.always', "Show show language detection quick fixes in both notebooks and untitled editors"), localize('workbench.editor.showLanguageDetectionHints.notebook', "Only show language detection quick fixes in notebooks"), localize('workbench.editor.showLanguageDetectionHints.editors', "Only show language detection quick fixes in untitled editors"), localize('workbench.editor.showLanguageDetectionHints.never', "Never show language quick fixes"), ] </del> <ins> additionalProperties: false, properties: { untitledEditors: { type: 'boolean', description: localize('workbench.editor.showLanguageDetectionHints.editors', "Show in untitled text editors"), }, notebookEditors: { type: 'boolean', description: localize('workbench.editor.showLanguageDetectionHints.notebook', "Show in notebook editors"), } } </ins> }, 'workbench.editor.tabCloseButton': { 'type': 'string',

Discussion:
The candidate fix for was to just disable language detection in notebooks by default. With a bit more time to work on it, a better solution should be derived.
is this fix insider released?
is it now :)
Change:
private createDefaultOverrideIndicator(): SettingIndicator { const defaultOverrideIndicator = $('span.setting-indicator.setting-item-default-overridden'); <del> defaultOverrideIndicator.tabIndex = 0; </del> const defaultOverrideLabel = new SimpleIconLabel(defaultOverrideIndicator); defaultOverrideLabel.text = localize('defaultOverriddenLabel', "Default value changed");

Discussion:
Change the key event handling so that the user can tab once into the indicators container, and then use left/right arrows to focus on different indicators.
the Settings editor, search on the setting. tab should focus on the first indicator. again should go to the checkbox. -tabbing twice from there should focus the entire setting again. again to the indicator. The left and right arrow keys, along with the home and end keys should allow the user to focus onto the other indicators. indicators container should keep track of the focused indicator. If the second indicator is focused, and the user tabs to the checkbox and back, the second indicator should be the one focused rather than the first one.
Change:
onHide: () => this.onHide(), actionRunner: this.menuOptions ? this.menuOptions.actionRunner : undefined, anchorAlignment: this.menuOptions ? this.menuOptions.anchorAlignment : AnchorAlignment.LEFT, <del> anchorAsContainer: true </del> <ins> anchorAsContainer: this.menuAsChild </ins> }); }

Discussion:
!
Reproduces in an insiders build from 3 days ago. Maybe related to context view changes?
closedWith
Change:
import { createMatches, FuzzyScore, IMatch } from '../../../../base/common/filters.js'; import { MarkdownString } from '../../../../base/common/htmlContent.js'; import { Disposable, DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js'; <del> import { autorun, autorunWithStore, derived, IObservable, observableValue, waitForState, constObservable, latestChangedValue, observableFromEvent, runOnChange } from '../../../../base/common/observable.js'; </del> <ins> import { autorun, autorunWithStore, derived, IObservable, observableValue, waitForState, constObservable, latestChangedValue, observableFromEvent, runOnChange, ISettableObservable } from '../../../../base/common/observable.js'; </ins> import { ThemeIcon } from '../../../../base/common/themables.js'; import { localize } from '../../../../nls.js'; import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';

Discussion:
Type: <bBug</bspecific branches to display on the graph (in my case main, origin/main and upstream/main). VS Code, or close and reopen the workspace. has reverted to 'Auto' VS Code version: Code - Insiders 1.94.0-insider (, 2024-09-11T05:04:03.124Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
even if you move away from the source control tab and come back it is changed back to auto.
I'm not seeing that happen on today's Insiders.
ohh, may be i am on different version than you. (i do not see a pending update though) Version: 1.94.0-insider Commit: Date: 2024-09-11T05:04:03.124Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.94.0-insider Chrome/124.0.6367.243 Electron/30.4.0 Safari/537.36
Change:
tree.domFocus(); } }, <ins> getKeyBinding: (action) => { return this.keybindingService.lookupKeybinding(action.id); }, </ins> getActionsContext: () => selection && selection.indexOf(stat) >= 0 ? selection.map((fs: ExplorerItem) => fs.resource) : stat instanceof ExplorerItem ? [stat.resource] : []

Discussion:
Looks like a regression: ! Compared to stable: !
Interestingly I do not see that in the editor context menu: !
see commit not in master
lgtm, we could merge this to June release via
Change:
return; } <del> const extensionName = 'vscode-smoketest-check'; </del> await app.workbench.extensions.openExtensionsViewlet(); <del> await app.workbench.extensions.installExtension(extensionName); </del> <ins> await app.workbench.extensions.installExtension('michelkaporin.vscode-smoketest-check', 'vscode-smoketest-check'); </ins> await app.workbench.extensions.waitForExtensionsViewlet(); await app.workbench.quickopen.runCommand('Smoke Test Check');

Discussion:
Extensions smoke tests are failing
This was caused because of two reasons has changed their search strategy and looking for extension by name is broken - label of an extension has string which was a bug introduced recently. Fixed them here -
Change:
// This significantly speeds up the case when the original file is empty if (original.getLineCount() === 1 && original.getLineMaxColumn(1) === 1) { <ins> if (modified.getLineCount() === 1 && modified.getLineMaxColumn(1) === 1) { return { changes: [], identical: true, quitEarly: false, moves: [], }; } </ins> return { changes: [ new LineRangeMapping(

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.80.1 OS Version: macOS 13.4.1 Steps to Reproduce: two empty file the diff view shows "removed" and "" lines This issue is the same as but happens again
Can you share a screenshot?
An empty file compare to itself <img width="1033" alt="image" src=""
I see, thanks!
To verify: Select latest dev version and notice there is no red/green in this .
The issue is verified. I am wondering if we want to see the commands starting with when there is no active file? I see this command while I have no active text editor.
Change:
dispose(): void { this.stickyScrollFocus.dispose(); <del> this._previousState?.dispose(); </del> <ins> this._previousStateDisposables.dispose(); </ins> this._rootDomNode.remove(); } }

Discussion:
Tree Sticky Scroll uses caching to make sure that it does not have to rerender often. During the animation each frame/scroll has to be rerendered, which causes DOM elements to be removed and reconstructed. This could be improved by reusing the DOM elements and just adapting their heights.
Change:
for (let i = bufferLines.length - 1; i >= 0; i--) { watchingProblemMatcher.processLine(bufferLines[i]); } <ins> this._fireTaskEvent(TaskEvent.general(TaskEventKind.Active, task, terminal.instanceId)); </ins> } } else { [terminal, error] = await this._createTerminal(task, resolver, workspaceFolder);

Discussion:
This never really stopped happening: ! Version: 1.82.0-insider (user setup) Commit: Date: 2023-08-21T05:32:43.957Z Electron: 25.5.0 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.
No reload, works as expected: ! First reload: Lacks , spinner never completes for the second (dependent) task ! Second reload: , no status for first task, spinner never completes for the second (dependent task) !
This is happening because for the initial run, we are running which contains dependency tasks. On reload, and are getting run individually, so doesn't happen. !
One issue is we use to determine if we should persist a task. since that is false for , it doesn't get saved and only it's components do.
I sometimes see this not just after a reload, and saving to trigger a new watch doesn't update it to a tick still
Can you reproduce that without reloading? I haven't been able to.
linked PR just fixes the issue in which one reloads the window after running the build task (or any task with dependencies)
Actually, I believe it's the and events that are needed here.
it's hard to repro unfortunately. We can go with this fix and I'll keep an eye out
Verify that clicking on the terminal tabs of task terminals does not remove the statuses.
Change:
id: REOPEN_WITH_COMMAND_ID, title: nls.localize('reopenWith', "Reopen Editor With...") }, <del> when: ActiveEditorAvailableEditorIdsContext </del> <ins> when: ContextKeyExpr.and( // Editors with Available Choices to Open With ActiveEditorAvailableEditorIdsContext, // Not: editor groups OpenEditorsGroupContext.toNegated() ) </ins> }); MenuRegistry.appendMenuItem(MenuId.OpenEditorsContext, {

Discussion:
As you can see here: !
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
closedWith
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased