jiebi/CodeConvo huggingface dataset:
Change:
}, afterContext: config.contextLines, beforeContext: config.contextLines, <del> isSmartCase: this.configurationService.getValue<ISearchConfigurationProperties>('search').smartCase, </del> <ins> isSmartCase: this.searchConfig.smartCase, </ins> expandPatterns: true };

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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.50.0-insider OS Version: macOS Catalina Steps to Reproduce: In the same vein as , but with selected (works with countDescending). +P "Search editor" (open the search editor) something, results appear sorted by path <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes /cc <3
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.498 --<!-- potentialduplicatescomment --
Hey Jackson! Do you mind if I give this try? Any ideas for where to start?
Sure, is from a similar feature request, this is the relevant bit I'd expect that PR to support modified times by default, but I'm guessing in this region of the s are not defined: In the search view we use this utility to define them:
Great! Thanks for your help. I'll look into it and let you know how I fare.
My understanding so far is that the searchMatchComparer function essentially orders two files of the same type depending on the configuration that is chosen? However, whenever I put a breakpoint in the searchMatchComparer function, it doesn't break. How do I trigger the breakpoint in the searchMatchComparer function so I can check the values of fileStatA and B and check if the case "Modified" is actually getting reached? I thought that the above might be a good place to start but let me know if I'm off base and getting the wrong ideas. Hope that it isn't too much trouble to answer and thanks for your help in advance : )
I'd expect the breakpoint to be hit - are you able to hit other breakpoints in the build?
I found something strange. The breakpoints don't hit when I run control + shift + p. But if I run control + shift + f, they hit. Any ideas?
This is the command palette shortcut? Not clear to me what you're saying.
The bug isn't there on my system.

Searching files by name isn't supposed to trigger the same search I don't think, so the modified time sort seems to be working fine.
I might be wrong, but I followed the exact same steps to reproduce the bug but it is working totally fine on my system. The files are sorted on the basis of modified time.
are you still working on this? if not I can take a look at it
I can confirm that the sorting of results in the search editor does not respect the recent setting. To verify: a search in the search editor a result in a new file . does not appear at top.
jeanp413 go ahead! I wasn't able to reproduce the bug last time, but I'll try again in a bit with Jackson's suggestions to double check.
<3
Change:
return; } <del> const defaultDir = dirname(this.documentUri); </del> <ins> const defaultDir = this.documentUri.scheme === Schemas.vscodeInteractive ? this.workspaceContextService.getWorkspace().folders[0]?.uri ?? await this.fileDialogService.defaultFilePath() : dirname(this.documentUri); </ins> let defaultName: string; if (event.downloadName) { defaultName = event.downloadName;

Discussion:
Run this code: Click on the 'Save as' button on the plot ! Throws an error: !
This works now, looks like what ever the issue was it has been fixed. Marking as closed for april so it gets validated.
I hit this on Insiders. Currently using the latest pre-release of Jupyter and Python . Let me know if there's any additional I can get for you. !
looks like a bug in Interactive window. It was marked as a mild regression at our end. Note: from what I can tell users will not be able to download and save images from interactive window as a result of this bug.
The problem seems to be with the class. We're unable to download files thats associated with Interactive Windows which has a custom scheme of (which doesn't have any file system providers).
Related issue
not sure if you know there is an easy fix for it. We generate from , which is interactive notebook in this case, and using that as default dir for save dialog will lead to this exception.
Seems similar to this case, like we should resolve it with the document path and the workspace URI
Change:
import { realpath } from 'vs/base/node/extpath'; import { IHostUtils } from 'vs/workbench/api/common/extHostExtensionService'; import { RunOnceScheduler } from 'vs/base/common/async'; <ins> import { boolean } from 'vs/editor/common/config/editorOptions'; </ins> import 'vs/workbench/api/common/extHost.common.services'; import 'vs/workbench/api/node/extHost.node.services'; interface ParsedExtHostArgs { uriTransformerPath?: string; <ins> skipWorkspaceStorageLock?: boolean; </ins> useHostProxy?: string; }

Discussion:
In some cases, when the extension host is unresponsive, a window reload can lead to the new extension host process not being able to acquire the lock for workspace storage, since it is still held on by the old (unresponsive) extension host process (). There are even greater concerns that the current way to resolve lock contention (i.e. generating a fresh workspace storage folder e.g. ) is problematic if extensions store very important data in these folders. e.g. suppose a lock cannot be acquired, the workspace storage folder is changed to , the extension writes very important data to , VS Code is closed and reopened the next day, when the extension will end up using as the workspace storage folder, missing out on the data written in (). As a low-risk band-aid, we can limit the acquiring of locks to only the remote extension host, where we have initially observed problems with multiple extension hosts sharing a single workspace storage folder, bringing the local extension host behavior back to what it was in 1.57.x and in the past.
To verify: open a remote window. look at the local extension host log and check that it says look at the remote extension host log and check that it says
The remote extension host log does not say , but instead . I guess that counts too. The local extension host reads .
Change:
if (currentWindowsState.lastPluginDevelopmentHostWindow.uiState.mode === WindowMode.Fullscreen) { if (displaysWithFullScreenWindow.has(currentWindowsState.lastPluginDevelopmentHostWindow.uiState.display)) { if (isMacintosh && !extensionHostWindow.win?.isSimpleFullScreen()) { <del> currentWindowsState.lastPluginDevelopmentHostWindow.uiState.mode = WindowMode.Maximized; </del> <ins> currentWindowsState.lastPluginDevelopmentHostWindow.uiState.mode = WindowMode.Normal; </ins> } } else { displaysWithFullScreenWindow.add(currentWindowsState.lastPluginDevelopmentHostWindow.uiState.display);

Discussion:
https://user- Expect: <img width="1440" alt="Snipaste2022-08-2605-17-23" src="https://user-"Actual: <img width="1440" alt="Snipaste2022-08-2605-17-04" src="https://user-"
Yes, this was probably not a good change from me in
Change:
.filter(e => !/.vsix$/i.test(e)) .map(id => () => { return this.extensionManagementService.getInstalled(LocalExtensionType.User).then(installed => { <del> const isInstalled = installed.some(e => getId(e.manifest) === id); if (isInstalled) { console.log(localize('alreadyInstalled', "Extension '{0}' is already installed.", id)); return TPromise.as(null); } </del> return this.extensionGalleryService.query({ names: [id], source: 'cli' }) .then<IPager<IGalleryExtension>>(null, err => { if (err.responseText) {

Discussion:
Similar to the in Atom, there should be a way to update Marketplace extensions from the command line. Currently there are and commands, but no command for upgrading extensions.
Hello! I've been checking this issue to make a first contribution, but it seems that already has that functionality! To test it, I installed an out of extension from the vsix file and then did this: So... Maybe we should just alias the command, or is this missing any functionality I'm not noticing? Thanks!
That's what I thought! Good to know. Yeah let's just have an alias for it.
Hmm... Looking at the code, it seems we check if an extension is installed and return if it is.
as I understand the code (very, very limited understanding!), and after the quick test I did, I would think that check for the extension being installed only returns true if the extension is up to date.
I don't think so. There is no checks on version in the above code.
Anyone working on this feature? I am a beginner but would like to work on this issue and contribute.
There's already a PR for it:
This works in a weird way for me - Install old version of extension from vsix Run - If I respond , it cancels the install. I have to respond with which is unusual Is this how it's intended to be used?
Yeah unfortunately that's the current status of the dialog service in the CLI environment. Needs polish, feel free to file an issue for that.
I'm unsure why this issue was closed What is the command to update ALL extensions from CLI (without code opening)? Something like
This issue was about updating a single extension. Feel free to file an issue to support updating all extensions.
Done. See
Change:
} export interface SCMHistoryItemGroupTreeElement extends ISCMHistoryItemGroupEntry { <ins> readonly ariaLabel?: string; </ins> readonly repository: ISCMRepository; readonly type: 'historyItemGroup'; }

Discussion:
Testing a screenreader. to the Incoming/Outgoing part of the SCM viewlet. Actual: "Incoming/Outgoing". Expected: something like "Incoming and outgoing changes" screenreader reads origin/some-branch-name for the incoming changes. Expected: "origin/some-branch-name incoming" or "incoming changes from origin/some-branch-name" screenreader reads some-branch-name for the outgoing changes. Expected: "some-branch-name outgoing" or "outgoing changes from some-branch-name" CC for alternative suggestions
Great point, we should lead with the info, so place "outgoing" or "incoming" before the branch name in this case.
I have confirmed that the titles show up upon hovering over the entries, but that NVDA still reads the text as-is rather than reading the title text. Reopening.
That's interesting given that I am using the IconLabel widget's property to set the aria label.
Change:
return this.terminalInstances[this._getIndexFromId(terminalId)]; } <ins> public getInstanceFromIndex(terminalIndex: number): ITerminalInstance { return this.terminalInstances[terminalIndex]; } </ins> public setActiveInstance(terminalInstance: ITerminalInstance): void { this.setActiveInstanceByIndex(this._getIndexFromId(terminalInstance.id)); }

Discussion:
testing Version 1.15.0-insider Commit Date 2017-08-01T05:10:12.703Z Shell 1.6.6 Renderer 56.0.2924.87 Node 7.4.0 Architecture x64 Linux Testing "Rename some terminals through the gear icon on the right." Start VS Code Open a new terminal with ctrl+backtick Press , then type in Click on the gear, you can rename Delete the terminal Open a new terminal with ctrl+backtick Press , type in Click on the gear Result: Can no longer rename.
Change:
identityProvider: { getId: e => e?.instanceId }, <del> accessibilityProvider: { getAriaLabel: e => e?.title, getWidgetAriaLabel: () => localize('terminal.tabs', "Terminal tabs") }, </del> <ins> accessibilityProvider: instantiationService.createInstance(TerminalTabsAccessibilityProvider), </ins> styleController: id => new DefaultStyleController(DOM.createStyleSheet(container), id), filter: undefined, smoothScrolling: configurationService.getValue<boolean>('workbench.list.smoothScrolling'),

Discussion:
Testing Have multiple terminal tabs open. In one tab have a couple of split terminals. Visually they look like they belong to a tree, however this information is not conveyed to the screen reader. Here are some ideas on how to improve this: Put for elements that are inside the tree. Currently all elements have an aria-level = 1. If you prefer to leave it like that then the role of the whole thing should be a and not a Modify aria label of an element in case he is part of a split
We're converting this into a list next iteration , I think we need to indicate to the screen reader that it's a split though. Not sure how the special characters are read out now.
hmm, should we be surfacing the fact that it's a split terminal to the screen reader at all? I think it's purely a UI feature so it shouldn't make a difference if you can't see the UI?
oh great that you moving to the list. You should have a correct role then. I would still convey the group number as part of the aria label, since we do the same for editors in editor groups. It is useful for users to know how things are grouped on the screen in case there are navigation actions like switch tab, or move focus inside a terminal tab. Just make sure that the group label is at the end of the list element aria label so it is easy to skip. Special character is not read out now because it is not part of the aria label.
Good point
Scoped this issue down, conversion to list will be handled in
I see the code changes which look good, however when I try this out the group is not applied to the aria label, it is the same as before. I have a ZSH, one tab with one terminal, and another tabs with two terminals. And all their labels are just
! When I inspect a split terminal tab label, it has the correct aria label.
Oh but you are setting the on the wrong HTML element You should use the so the is properly set on the element. It has to be on that element, since that element has focus and that is what the Screen Reader will read. So I think it should be fixed here
Change:
if (!this.galleryService.isEnabled()) { throw new ExtensionManagementError(nls.localize('MarketPlaceDisabled', "Marketplace is not enabled"), ExtensionManagementErrorCode.Internal); } <del> const compatible = await this.checkAndGetCompatibleVersion(extension, !options.installGivenVersion, !!options.installPreReleaseVersion); </del> <ins> const compatible = await this.checkAndGetCompatibleVersion(extension, !!options.installGivenVersion, !!options.installPreReleaseVersion); </ins> return await this.installExtension(compatible.manifest, compatible.extension, options); } catch (error) { reportTelemetry(this.telemetryService, 'extensionGallery:install', { extensionData: getGalleryExtensionTelemetryData(extension), error });

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:
if (newBadgeNumber > 0) { let msg = ''; if (outdated) { <del> msg += outdated === 1 ? localize('extensionToUpdate', '{0} Extension requires update', outdated) : localize('extensionsToUpdate', '{0} Extensions require update', outdated); </del> <ins> msg += outdated === 1 ? localize('extensionToUpdate', '{0} requires update', outdated) : localize('extensionsToUpdate', '{0} require update', outdated); </ins> } if (outdated > 0 && extensionsReloadRequired.length > 0) { msg += ', '; } if (extensionsReloadRequired.length) { <del> msg += extensionsReloadRequired.length === 1 ? localize('extensionToReload', '{0} Extension requires reload', extensionsReloadRequired.length) : localize('extensionsToReload', '{0} Extensions require reload', extensionsReloadRequired.length); </del> <ins> msg += extensionsReloadRequired.length === 1 ? localize('extensionToReload', '{0} requires reload', extensionsReloadRequired.length) : localize('extensionsToReload', '{0} require reload', extensionsReloadRequired.length); </ins> } const badge = new NumberBadge(newBadgeNumber, () => msg); this.badgeHandle.value = this.activityService.showViewContainerActivity(VIEWLET_ID, { badge, clazz: 'extensions-badge count-badge' });

Discussion:
Screenshot in 1.72 release notes shows a tip containing (IMO) two unnecessary repetitions of the word "Extension". ! VS Code version: Code - Insiders 1.72.0-insider (, 2022-10-04T05:43:53.890Z) OS version: Windows_NT x64 10.0. Modes: Sandboxed: Yes
Change:
cellInfo: K; renderer?: INotebookRendererInfo; cachedCreation: ICreationRequestMessage; <ins> initialized?: boolean; </ins> } export interface IResolvedBackLayerWebview {

Discussion:
Type: <bBug</ba jupyter notebook, create a python cell the cell the notebook two earch results the notebook bug One of the search results goes away <img width="1179" alt="Screenshot 2023-04-25 at 11 09 04 AM" src="https://user-"Making any changes to the search term makes both search results show again VS Code version: Code - Insiders 1.78.0-insider (Universal) (, 2023-04-25T05:41:22.331Z) OS version: Darwin x64 22.4.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Change:
const pathSeparatorClause = '/'; // '":; are allowed in paths but they are often separators so ignore them // Also disallow  to prevent a catastropic backtracking case #24795 <del> const excludedPathCharactersClause = '[^0s!$`&*()[]'":;]'; </del> <ins> const excludedPathCharactersClause = '[^0s!`&*()[]'":;]'; </ins> /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */ export const unixLocalLinkClause = '((' + pathPrefix + '|(' + excludedPathCharactersClause + ')+)?(' + pathSeparatorClause + '(' + excludedPathCharactersClause + ')+)+)'; export const winDrivePrefix = '(?:?)?[a-zA-Z]:'; const winPathPrefix = '(' + winDrivePrefix + '|..?|~)'; const winPathSeparatorClause = '(|/)'; <del> const winExcludedPathCharactersClause = '[^0<>?|/s!$`&*()[]'":;]'; </del> <ins> const winExcludedPathCharactersClause = '[^0<>?|/s!`&*()[]'":;]'; </ins> /** A regex that matches paths in the form ?c:foo c:foo, ~foo, .foo, ..foo, foobar */ export const winLocalLinkClause = '((' + winPathPrefix + '|(' + winExcludedPathCharactersClause + ')+)?(' + winPathSeparatorClause + '(' + winExcludedPathCharactersClause + ')+)+)';

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. --There's currently an issue on the terminal of the VSCode that slows down the refactoring process of files specially on frameworks that relies heavily on the dollar sign for file structure like or . Any tool or place that spells out the path + filename containing $ is ignored by the cmd + click. Folders are even worse because it breaks their children. <!-- 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.58.2 OS Version: macOS Big Sur 11.5 (20G71) Steps to Reproduce: a file or a folder with the dollar sign on it it out using any tool or just run: !
Code pointer:
Change:
focusHover(): void { throw new Error('Method not implemented.'); } setActiveInstance(instance: ITerminalInstance): void { throw new Error('Method not implemented.'); } focusActiveInstance(): Promise<void> { throw new Error('Method not implemented.'); } <ins> focusInstance(instance: ITerminalInstance): void { throw new Error('Method not implemented.'); } </ins> getInstanceFromResource(resource: URI | undefined): ITerminalInstance | undefined { throw new Error('Method not implemented.'); } focusFindWidget(): void { throw new Error('Method not implemented.'); } hideFindWidget(): void { throw new Error('Method not implemented.'); }

Discussion:
Type: <bBug</bPreparation: create the following file: the terminals panel, create a new shell terminal it to the main editor area to make it a full-size terminal open an editor tab (any file will do, including Command-N) sure the panel is closed (press Command-J to close it if it is open) the above task (e.g. with Command-P, then type ) Expected: the panel opens and shows the running task Actual: the editor terminal is brought to the front, and the panel stays closed VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-11T05:03:58.450Z) OS version: Darwin arm64 23.5.0 Modes: <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
In this scenario, focus also fails.
I can confirm that fixes the problem for me. Thanks!
Change:
} async reset(treeish: string, hard: boolean = false): Promise<void> { <del> const args = ['reset']; if (hard) { args.push('--hard'); } args.push(treeish); </del> <ins> const args = ['reset', hard ? '--hard' : '--soft', treeish]; </ins> await this.run(args); }

Discussion:
The Undo Last Commit currently behaves like : it undoes the commit and discards anything that has been staged. If I had previously carefully files or hunks to the stage, this work is lost. I think it would be better to switch to the behavior: If adding to index was carefully done, this work would be preserved. If the users wants the behavior, i.e., reset all the staged files, VSCode already has a convenient button for that. Because of the latter point, I'd propose VSCode changes the behavior, not introduce an option for mixed vs. soft behavior.
I’d like to work on this if it’s agreed to move ahead with the change. For the record, I agree with the proposed change, but I could also see this as a configuration to preserve behavior for users used to it.
Fixed by