jiebi/CodeConvo huggingface dataset:
Change:
// setup things patchProcess(!!initData.environment.extensionTestsLocationURI); // to support other test frameworks like Jasmin that use process.exit (https://github.com/microsoft/vscode/issues/37708) initData.environment.useHostProxy = args.useHostProxy !== undefined ? args.useHostProxy !== 'false' : undefined; <ins> initData.environment.skipWorkspaceStorageLock = boolean(args.skipWorkspaceStorageLock, false); </ins> // host abstraction const hostUtils = new class NodeHost implements IHostUtils {

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:
this.raw.loadAddon(this._commandTrackerAddon); this._shellIntegrationAddon = this._instantiationService.createInstance(ShellIntegrationAddon); this.raw.loadAddon(this._shellIntegrationAddon); <ins> if (this._configurationService.getValue(TerminalSettingId.ShellIntegrationEnabled) && this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationsEnabled)) { this._createDecorationAddon(capabilities); } } private _createDecorationAddon(capabilities: ITerminalCapabilityStore): void { </ins> const decorationAddon = this._instantiationService.createInstance(DecorationAddon, capabilities); decorationAddon.onDidRequestRunCommand(command => this._onDidRequestRunCommand.fire(command)); this.raw.loadAddon(decorationAddon);

Discussion:
Currently you can disable them via: But this is not particularly easy and the decorations still end up rendering. We should have a switch that disables them outright, including adding them to xterm.
<img width="1111" alt="Screen Shot 2022-02-23 at 5 04 01 PM" src="https://user-"It is enabled even though shell integration is off... But thanks for the fix, now i can go back to using the integrated terminal! EDIT: the fix doesn't work, guess i'm stuck with iterm2 for now...
they're rectangles so you're probably on a pretty old build (1 week+?), updating will probably fix it for you.
are there any verification steps?
It's still unreleased, but use to disable them.
Change:
return undefined; // save cancelled } <del> return await this._editorModelReference.saveAs(target); </del> <ins> const saved = await this._editorModelReference.saveAs(target); if (saved && 'resource' in saved && saved.resource) { this._notebookService.getNotebookTextModel(saved.resource)?.dispose(); } return saved; </ins> } override matches(otherInput: EditorInput | IUntypedEditorInput): boolean {

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: Insiders OS Version: N/A Steps to Reproduce: cells in Python file to start an IW to save the IW as an ipynb file a name created ipynb file cannot be opened.
!
Change:
import { IQuickPickItem, IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; import { CancellationToken } from 'vs/base/common/cancellation'; import { IPartService } from 'vs/workbench/services/part/common/partService'; <ins> import { alert } from 'vs/base/browser/ui/aria/aria'; </ins> const promptDownloadManually = (extension: IGalleryExtension, message: string, instantiationService: IInstantiationService, notificationService: INotificationService, openerService: IOpenerService) => { const downloadUrl = `${product.extensionsGallery.serviceUrl}/publishers/${extension.publisher}/vsextensions/${extension.name}/${extension.version}/vspackage`;

Discussion:
Environment Details: VSCode Version : 1.24.1 OS Version : Win10 Additional Details: ScreenReader Version: NVDA2018.2 Repro Steps: VS Code while NVDA is ON. to View menu and Select Extensions. something in the Search Textbox and tab till install button. Actual: When we Click on install button, the text above the button changes..i.e.(installing) which is not read by the screenreader and after installing, a Reload button appears and also a icon which is not informed by the screenreader and after pressing tab key focus does not move on the text which has installed,it goes somewhere else. Expected: NVDA should announce some information about the reload button and should also read the "installing" when it is getting installed and focus should go on the very first item which has got installed. Recommendations: Refer below link which is repository of bug fixes code snippets: User Impact: User will not be able to know about the controls which has appeared after installing the particular extensions. Attachment for Reference: 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.588 --- <!-- score: 0.526 --- <!-- score: 0.462 --- <!-- score: 0.458 --- <!-- score: 0.451 --<!-- potentialduplicates_comment --
Makes sense. This sounds as easy as an aria alert based on the state of the installation. I would expect at least a notification once the instalation is done so the user is reminded that a reload is necessery. Feels low hanging, assigning to July
do we plan to tackle this in September? It would be great since we depend on this one for a better accessibility score?
Yes, this is for September
Note to verifier: Also test cases of uninstall and update and ensure that appropriate text is read out. Ensure that the need to reload VS Code is also mentioned
Change:
*--------------------------------------------------------------------------------------------*/ .monaco-workbench > .part.statusbar > .statusbar-item.progress { <del> background-image: url(progress.svg); background-repeat: no-repeat; background-position: left; padding-left: 14px; display: inline; </del> <ins> padding-left: 5px; } .monaco-workbench > .part.statusbar > .statusbar-item.progress .spinner-container { padding-right: 5px; </ins> } .monaco-workbench .progress-badge > .badge-content {

Discussion:
In light themes the status bar text changes from white to black, but progress spinners do not so they're hard to see: 
This icon is probably not themable yet. E.g. for the status bar feedback smiley we use trick to allow to change the color of it (). Depending on the outcome of we might move this into the notification area though.
fyi, the fix is to use a font for the icon (in this case our octicons). I found the sync icon fitting because we already use it for SCM sync: ! Alternatively we could use this animation: !
Change:
title: localize('uploadingFiles', "Uploading") }, async progress => { for (let entry of entries) { <ins> // Confirm overwrite as needed if (target && entry.name && target.getChild(entry.name)) { const { confirmed } = await this.dialogService.confirm(getFileOverwriteConfirm(entry.name)); if (!confirmed) { continue; } await this.workingCopyFileService.delete(joinPath(target.resource, entry.name), { recursive: true }); } // Upload entry </ins> const result = await this.doUploadWebFileEntry(entry, target.resource, target, progress, operation, cts.token); if (result) { results.push(result);

Discussion:
Refs: have a folder with a few files drag and drop into web file explorer drag and drop the folder again Observe: Multiple dialogs appear that ask whether to replace the existing files/folder: first for the folder then for the individual files From this behaviour I assume that the drag and drop is not a "replace" but a "merge". This is confirmed by adding another file into the original folder and then dnd it again. Or empty the original folder and then dnd it only asks for the folder but leaves the existing containing files alone. But this "Merge" semantics needs a completely different UI than "Replace": it is not necessary to ask for replacing the folder because there will be more questions for the individual files inside anyways. the dialog needs three buttons: "replace", "do not replace", and "cancel" Alternatively you could implement the "Replace" logic. In this case there is no need to ask for the individual files inside a folder if the whole folder is replaced anyway. A third option is to ask initially whether to "Replace" or to "Merge" and then have different UI for the two strategies.
Will check how the explorer does this, we may behave the same already for native drops.
The simplest solution is to implement the "Replace" strategy. That's what macOS Finder does. IIRC Windows implements the "Merge" strategy.
Yes this is also how our non web explorer behaves. So we will show a dialog for each conflict. We do not allow to bulk cancel. Since this can be handled in the Explorer, unassigning from and renaming I am opening this up for PRs. Code pointer
via the solution is to ask for each thing that gets uploaded and then delete it upfront. This means, when you are being asked to replace a folder, you will not be asked for each file within. It will be a "Replace" and not "Merge".
Change:
import { IHostService } from 'vs/workbench/services/host/browser/host'; import { QueryBuilder } from 'vs/workbench/services/search/common/queryBuilder'; import { ISearchService } from 'vs/workbench/services/search/common/search'; <ins> import { basename } from 'vs/base/common/path'; </ins> export class TerminalLocalFileLinkOpener implements ITerminalLinkOpener { constructor(

Discussion:
My project is under https://user- Reproduce steps: vscode open a folder which file path contains space, for example: an integrated terminal the path link Versions:
nice I can repro with the space in the name, thanks for following up
I can still repro with Windows.
I looked into this, and it will be tricky because we currently use space as one of the characters which indicates the end of a path. One idea would be to check if such a link exists (using our original regex) and if not, use regex on the subsequent sequence - then concatenating the two results for First result would be doesn't exist process exists
https://user- Look the above video, I have several questions. path is not a existed path in the disk, but also clickable. I click the , it open a file which is not why the whole string is recogonized to a path? the real path is:
this is actually about when the parents of the link have a space, it's expected currently that an absolute path with a space won't work.
is it expected that a local link with a space somewhere within the path is not detected? that is the case currently - verified via adding a test to
absolute paths (eg. ) won't work because of Relative paths without spaces with absolute ancestors that have spaces (eg. inside ) should work but don't in some cases.
When verifying, make sure to test both on a Windows machine and a non-Windows machine.
Doesn't work for me on a Mac, I guess thats probably because I still haven't got the fix in the latest insider build.
are you on ?
Worked for me on macOS. Don't have a Windows machine to try this out so someone else will need to verify on Windows.
Yes, I'm on that same version. Here's what it looks like for me on a Mac with spaces !
still not work in latest version: https://user-
For absolute paths, see I wasn't able to get to work, though. It'd open the file, but place the cursor at the beginning.
please provide some more details, it works for me: !
This is the behaviour with version 1.70.0 After ctrl+clik a popup appears at the top of the screen and I have to hit enter to go to the suggested file:line.
I can repro that on Windows, Remote-WSL and macOS.

The file must not be in the root directory for this to happen. !
let's track that problem in and as this issue is becoming quite unwieldy/unfocused.
created to track the problem related to quotes you're seeing. Could you re-verify this if all good outside of these 3 issues I created? It's difficult to manage this issue as it's so general.
Change:
*/ workspaceFolder?: WorkspaceFolder; }; <del> export interface EnvironmentVariableCollection extends Iterable<[variable: string, mutator: EnvironmentVariableMutator]> { /** * A description for the environment variable collection, this will be used to describe the * changes in the UI. */ description: string | MarkdownString | undefined; } </del> }

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. --Particularly for the Python environments, the list of environment vars can be long, hence the prompt which shows up can be too verbose: ! It would be perhaps more helpful if we can provide a simple description instead of the exact changes. cc/
This could also be extended to show up as the first time the terminal is relaunched. Fish shell does not have a prompt variable which we could set like cmd to indicate which environment is active, which could also make use of this feature: !
Proposal: We probably still want a way to show the actual environment variable changes even with this description though.
It would be nice if there were a action that opened a readonly editor with the changes. That would make it very accessible
I was thinking a button in the hover to toggle it, but I like your suggestion more
Feedback from API sync: Add
My only concern here is we're putting the description into a markdown list which a could mess up the UI. We might want to either modify the description such that it's indented correctly to show up in a list item (1) or only take the description before the first (2): For the description: 1: 2:
+1 for the second option to start with, as we expect the description to be concise. Personally I would only use Markdown to support backticks.
Just realized description would be different for each scope, so proposal needs to be updated: Blocked on
Is there a way to open a readonly editor rather than a untitled buffer? ! Here's the code which currently opens it:
Yes, you should do something similar to https://user-
Great, thanks! !
Looks like , , and are all very closely related. For a holistic view at the changes a single discussion/issue/proposal might be more beneficial.
created:
Closing in favor of as these issues were only open to finalize proposed API.
they're all separate proposals, let's keep them open and have for a holistic view
I'm planning on finalizing this one independently of the workspace scope one this iteration.
To verify make sure the API shows up in the stable API and does not have a proposed check.

Tried this, not sure what I need to do to get this to work I just updated the description property in the and created a new terminal and nothing seems to be displayed. Am i missing a step here?
Change:
}, { "id": "cpp", <del> "extensions": [ ".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx", ".h", ".ino", ".inl", ".ipp" ], </del> <ins> "extensions": [ ".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx", ".h", ".ino", ".inl", ".ipp", ".hpp.in", ".h.in" ], </ins> "aliases": [ "C++", "Cpp", "cpp"], "configuration": "./language-configuration.json" }],

Discussion:
is a very common extension for C++ file to be processed by cmake. also It would be nice to add it to vscode so it can highlight it in c++ out of the box. Thank you.
Pointer for starting:
, I will push this change :)
Change:
} } <ins> async rebaseAbort(): Promise<void> { await this.run(['rebase', '--abort']); } </ins> async rebaseContinue(): Promise<void> { const args = ['rebase', '--continue'];

Discussion:
It's very common to have to resolve merge conflicts during a pull with rebase. You might decide that you want to stop and try something else. There's no way, that I found, through the source control UI or command palette to properly abort a rebase. You can get into a jam trying to abort, though. Like clicking the branch button in the status bar. You can choose your local branch and have the local branch's contents restored, but Code leaves you in a rebase (and that's no good). You're stuck running on the command line. (I'll upload some pics later when I can contrive some examples... sorry, I didn't capture them while I was causing trouble earlier.)
I'd like to work on the implementation. But there are 2 options when a repository is being rebased: continue and abort. I can add two menu items right under "Pull (Rebase)": "Rebase Continue" and "Rebase Abort". Will it work from the UX perspective?
Rebase continue is already implemented: if you try to commit during a rebase, it will run rebase continue instead. All we're missing is the abort action.
So, adding "Rebase Continue" option under the "Pull (Rebase)" will be ok. Am I right?
This is good to know and takes some exploring to figure out. Are there any good patterns to explain this like during your 1st use of the feature? Or in the docs somewhere? This is a problem any time you combine git commands (like Sync).
We could maybe add that to the docs. :+1: Wanna submit a PR on ?
Hey, to this point (), I don't recall anywhere except maybe the Output | Git log that you can tell that the rebase has continued. There's no obvious status that commits are being replayed or that you may need to wait a few seconds for the next merge conflict to render in the source control explorer (if there are more conflicts) or even if the rebase is "done". You end up needing to check the Git status on the command line anyway. I think if you're going to wrap up the workflow by offering "abort", you need to make the entire experience better.
I did some exploration on supporting rebase features, which is related to this.
looks like your implementation covers git abort and my PR is not required anymore. Closing it.
Change:
"brackets": [ ["{", "}"], ["[", "]"], <del> ["(", ")"], ["<", ">"] </del> <ins> ["(", ")"] </ins> ], "autoClosingPairs": [ ["{", "}"],

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. --Version: 1.78.2 (user setup) Commit: Date: 2023-05-10T14:39:26.248Z Electron: 22.5.2 Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0. Sandboxed: Yes Steps to Reproduce: a VB file with the following line: Observe that the seems to be marked with the mismatched bracket color. ! instead of line ! Probably the ideal solution is to add an value of to the file. However, it might also be worth noting that I do not understand why the or are getting this treatment, because I am not observing them being color matched.
would you expect angle brackets in VB to get color matching when bracket pair colorization is turned on?
As a quick workaround, I'd suggest to remove bracket pair from VB (and wait of a PR to configure it properly).
Change:
private menuActionsOrProvider: readonly IAction[] | IActionProvider; private dropdownMenu: DropdownMenu | undefined; private contextMenuProvider: IContextMenuProvider; <ins> private actionItem: HTMLElement | null = null; </ins> private _onDidChangeVisibility = this._register(new Emitter<boolean>()); readonly onDidChangeVisibility = this._onDidChangeVisibility.event;

Discussion:
Related to If you have a command in an action bar (say in ) that is a submenu with no items (or no visible items), there is no visible indication -- the icon is there, but does nothing if you click on it. I would expect similar behavior to
Change:
import { AutoSaveMode, IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; import { Event } from 'vs/base/common/event'; import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-browser/environmentService'; <ins> import { clearAllFontInfos } from 'vs/editor/browser/config/configuration'; </ins> export class NativeWindow extends Disposable {

Discussion:
VSCode Version: 1.27.2 OS Version: Windows 10 Enterprise 1803 Build .345 Steps to Reproduce: Pre Condition: Dual monitor setup. Screen 1 on top of Screen 2. Screen 1 Scale set to 150% Screen 2 Scale set to 125% Visual studio code open with a python script on Screen 1. down some p-thon the cursor back a few char positions and make note. the vs code app from Screen 1 to Screen 2 where it resizes. the relocation of the cursor. your code and note that the cursor does not match the output text. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Unsure. Note: I am unsure if this is a Windows 10 bug or Visual Studio code bug but I have not noticed this on other software at the time of this bug report. In the meantime I have aligned my screen scaling as a work around for this issue.
This is caused by scaling difference. The bigger the scaling difference, the more evident. I have my surface book 2's main monitor set to 150% scaling, and my external monitor set to 100% scaling. Leaving VSCode open after the monitor switch will result in bad the cursor alignment. The workaround is to restart VSCode.

Version 1.19.3 Commit Date 2018-01-25T10:36:34.867Z Shell 1.7.9 Renderer 58.0.3029.110 Node 7.9.0 Architecture x64 Steps to Reproduce: VSCode using 4K monitors (150x magnify) the session remotely via RDP using 1080p monitors From now on, even if taking back the session locally, the caret position is corrupt. The picture shows the result of highlighting the "location" word. The caret has an offset of 4 characters to the right. ! Does this issue occur when all extensions are disabled?: Yes

Following the discussion in Repro steps on Windows: use a monospace font, make sure ligatures are not used, etc. (i.e. default editor related settings) change the scale setting of the display the editor decorations / selection should render correctly (on top of the correct text) (the problem was that the font measurements done with a certain display scale were used across all display scales).