jiebi/CodeConvo huggingface dataset:
Change:
import { IWorkingCopyIdentifier } from 'vs/workbench/services/workingCopy/common/workingCopy'; import { NotebookProviderInfo } from 'vs/workbench/contrib/notebook/common/notebookProvider'; import { NotebookPerfMarks } from 'vs/workbench/contrib/notebook/common/notebookPerformance'; <del> import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; </del> <ins> import { AutoSaveMode, IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; </ins> import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { localize } from 'vs/nls'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';

Discussion:
Set auto save: afterDelay Edit a notebook See the dirty indicator briefly appear after editing
I guess this is
We never did that for custom editors because it requires code to ensure that an editor that is closed but pending to be saved via auto save is really waited upon on shutdown. To further explain: the behaviour is driven by method if you return from that method no dirty indicator will show up this means a user can close an editor with dirty changes as such, components have to ensure that the save continues in the background and even on shutdown Files implement this here: I think the reason we never adopted this for notebooks as that notebooks have a dual model: complex and simple. With simple (which is based on file working copies), we can probably implement this now similar to what files do, but it needs careful testing what happens when you close a notebook quickly enough before auto save finished.
We could revisit this once we remove complex notebook model and friends but the saving of notebooks is more complex than files and I wonder if it's worth it to implement this. Also the dirty indicator is also an indicator that saving is not done yet, which is valuable as saving notebooks is not necessarily instant. what do you think ?
I think it's ok to close if this is complicated. It's also a bit odd that if I edit and immediately close the tab, it asks me whether I want to save, when I've enabled autosave.
with your recent changes in and please take note of Specifically: being able to close an editor that is now not dirty because of auto-save may result in data loss if closing the editor disposes state that is needed for saving. Filed as planned for July. Nevertheless, I appreciate that you are willing to look into this issue
Change:
resolve(undefined); } }); <ins> // Timeout due to hang with reduced privileges #58392 // TODO@sbatten: Remove this when getmac is patched setTimeout(() => { resolve(undefined); }, 1000); </ins> } catch (err) { errors.onUnexpectedError(err); resolve(undefined);

Discussion:
VSCode Version: 1.27.1 OS Version: Windows 10 Build: 1607 Steps to Reproduce: to launch VSCode (Portable or Other) on a computer with blocked. Fix: The issue is resolved by killing the process spawned at start. After doing this one the issue appears to go away. Does this issue occur when all extensions are disabled?: Yes
What do you mean by " blocked"?
Sorry should have been more descriptive. What I mean by " blocked" is when access to is restricted by an administrator. For context I am trying to get vscode working on laptops at my school at which they restrict access to
What if you download the ZIP installer and simply double click
Running from the zip results in the same hang
Can you confirm that is spawned when you double click that zip? Can you figure out any more details?
It is difficult to gather any more information as this issue is because we have no administrative rights on the computer. If there is any information I can provide without admin privileges however feel free to ask for it. Update: is not spawned when the zip is double clicked it is spawned post extraction upon running
Did some additional digging. Here is a screenshot of the the process spawned: It appears to be trying to get the MAC Address.
the getmac npm package we use calls getmac by opening as indicated by I've created an upstream issue to pass when spawning getmac to avoid creation. For now we can timeout the call in the event that getmac isn't responding
Change:
}; } <ins> function postProcessCodeBlockLanguageId(lang: string | undefined): string { if (!lang) { return ''; } const parts = lang.split(/[s+|:|,|{|?]/, 1); if (parts.length) { return parts[0]; } return lang; } </ins> function resolveWithBaseUri(baseUri: URI, href: string): string { const hasScheme = /^w[wd+.-]*:/.test(href); if (hasScheme) {

Discussion:
In the it says: It then gives : Although the spec does not mandate it, it would be nice if VS Code supported this format. Currently, adding more than just the language identifier after the backticks results in the code note rendering as code: ts const a = new MyClass(); ts foo const a = new MyClass(); <img width="473" alt="Screenshot 2022-08-10 at 15 32 18" src="https://user-"
This already is supported for Markdown highlighting and in markdown previews: ! Is this about support in too?
I don't know what's being used internally by the TS integration above, but I think it should work anywhere that VS Code is already handling these code blocks (my example above was hovers, but things like code completion documentation and other places that support code blocks should be the same - a lot of this content comes from external sources so there's benefit in VS Code being as compatible with what they may use as possible).
Change:
properties: { searchString: { type: 'string' }, replaceString: { type: 'string' }, <del> regex: { type: 'boolean' }, regexOverride: { type: 'number', description: nls.localize('actions.find.isRegexOverride', 'Overrides "Use Regular Expression" flag.nThe flag will not be saved for the future.n0: Do Nothingn1: Truen2: False') }, wholeWord: { type: 'boolean' }, wholeWordOverride: { type: 'number', description: nls.localize('actions.find.wholeWordOverride', 'Overrides "Match Whole Word" flag.nThe flag will not be saved for the future.n0: Do Nothingn1: Truen2: False') }, matchCase: { type: 'boolean' }, matchCaseOverride: { type: 'number', description: nls.localize('actions.find.matchCaseOverride', 'Overrides "Math Case" flag.nThe flag will not be saved for the future.n0: Do Nothingn1: Truen2: False') }, </del> <ins> isRegex: { type: 'boolean' }, matchWholeWord: { type: 'boolean' }, isCaseSensitive: { type: 'boolean' }, </ins> preserveCase: { type: 'boolean' }, <del> preserveCaseOverride: { type: 'number', description: nls.localize('actions.find.preserveCaseOverride', 'Overrides "Preserve Case" flag.nThe flag will not be saved for the future.n0: Do Nothingn1: Truen2: False') }, </del> findInSelection: { type: '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 In make a new keybinding: Intellisense shows many arg keys that are inaccurate or not implemented. Here is what I get for intellisense: These appear to be the correct and implemented args to this command: Version: 1.63.0-insider (user setup) Commit: Date: 2021-12-02T05:15:40.605Z Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT x64 10.0.
Related:
This issue persists as of vscode I was going to open an bug issue mentioning that some params were not working... when in fact I was using the ones suggested by the intellisense e.g. instead of . A while back I opened: about how the command does not resolve variables whereas does. Also related I guess needs some love to be more consistent feature-wise with .
Change:
import { IDownloadService } from 'vs/platform/download/common/download'; import { DownloadServiceChannel } from 'vs/platform/download/common/downloadIpc'; import { timeout } from 'vs/base/common/async'; <ins> import { TerminalLogConstants } from 'vs/platform/terminal/common/terminal'; </ins> export class LabelContribution implements IWorkbenchContribution { constructor(

Discussion:
This doesn't get logged when creating a terminal with trace logging on
I tried to do this like you and Jackson did for the on the branch merogge/remote-inv, but i'm still not seeing the logs anywhere when using remote WSL. Thoughts? Need this to investigate remote terminal reconnection bc when ssh'ing to localhost, I can't repro the issue and don't want to have to setup a vm.
maybe bc it's in platform instead of workbench it's not working? can't be in workbench though for the ptyService
instead of an output channel I think what we're after is something like this: Here: I thought that's what the LogLevelChannel was doing but maybe not? Or maybe that particular log service/channel type doesn't work on the server since it does in the shared process? !
Change:
for (const settingsGroup of this.settingsEditorModel.settingsGroups) { for (const section of settingsGroup.sections) { for (const setting of section.settings) { <ins> if (OVERRIDE_PROPERTY_REGEX.test(setting.key)) { if (setting.overrides) { this.handleOverrides(setting.overrides, configurationRegistry, markerData); } continue; } </ins> const configuration = configurationRegistry[setting.key]; if (configuration) { if (this.handlePolicyConfiguration(setting, configuration, markerData)) {

Discussion:
Add an unrecognized setting to See that it is correctly dimmed with no warning underline Add it to a language-specific settings block There is a warning, "This setting does not support per-language configuration which is misleading" !
Yeah, this feature is not supported for language specific settings.
To verify: Open and have following snippetMake sure first two settings and are shown dimmed with proper message.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Change:
if (!extension.local || isApplicationScopedExtension(extension.local.manifest) || extension.isBuiltin) { return; } <del> await this.extensionManagementService.toggleAppliationScope(extension.local, this.userDataProfileService.currentProfile.extensionsResource); </del> <ins> const isApplicationScoped = extension.local.isApplicationScoped; await Promise.all(this.getAllExtensions().map(async extensions => { const local = extensions.local.find(e => areSameExtensions(e.identifier, extension.identifier))?.local; if (local && local.isApplicationScoped === isApplicationScoped) { await this.extensionManagementService.toggleAppliationScope(local, this.userDataProfileService.currentProfile.extensionsResource); } })); } private getAllExtensions(): Extensions[] { const extensions: Extensions[] = []; if (this.localExtensions) { extensions.push(this.localExtensions); } if (this.remoteExtensions) { extensions.push(this.remoteExtensions); } if (this.webExtensions) { extensions.push(this.webExtensions); } return extensions; </ins> } private isInstalledExtensionSynced(extension: ILocalExtension): boolean {

Discussion:
For reference: I have found some peculiar things with the implementation, which I am not sure is by design or not. But here comes one: When working with remotes, such as remote ssh, I can see an extension in the "local" windows (greyed out) and in the remote window (not greyed out) in case it prefers to run on the remote extension host. But when I right-click on the local extension and select "Apply Extension to all Profiles" it does nothing. If I click it in the remote extension window and do the same, it gets the check mark. (But still not in the local window). As I suspect the intention behind "Apply Extension to all Profiles" is to actually apply it to all profiles, I should be able to right click and select it, so it gets selected, in all views under "Extensions". ( was also something I found needed.)
Thanks for the feedback. First request is a valid request. Can you please give more details about the second request? I would suggest to extract it into a new issue and provide exact steps to reproduce the issue.
I broke up the second item to a new issue: Let me know if still is not clear enough, and possibly which part.
is this an easy fix? I think it will clear up some confusion. I am surprised more people have not noticed and upvoted this, as local team members found this by themselves. It is causing quite a bit of confusion UX wise.
To verify: Open a remote window (WSL or Dev Container or SSH) Have an extension installed locally and remotely In Local Installed Extensions Section, Right click on the extension and apply it to all profiles. Verify that it also applies for the extension is remote installed extensions section. Verify vice-versa
Change:
} private _detachModel(): ITextModel | null { <ins> this._contributionsDisposable?.dispose(); this._contributionsDisposable = undefined; </ins> if (!this._modelData) { return null; }

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.86.1 OS Version: Ubuntu 23.04 Steps to Reproduce: an empty text editor the text opening and closing an empty text editor several times that the number of disposables increases each time Opening and closing an editor 1997 times results in 3994 disposables with this stack trace: When opening an editor, the function is called , the function calls adds a disposable to the disposable store When closing and opening the editor again, the same happens: the function is called , the function calls adds a disposable to the disposable store again This probably causes more and more disposables to be in . It seems, disposing the codeEditorContributions disposable () when a text editor model becomes detached might be a possible solution. That way, it would be registered when a model is attached and disposed when a model becomes detached:
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Thanks a lot!
Change:
constructor() { super( <del> 'workbench.action.moveEditorGroupToNewWindow', </del> <ins> MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, </ins> { value: localize('moveEditorGroupToNewWindow', "Move Editor Group into New Window"), mnemonicTitle: localize({ key: 'miMoveEditorGroupToNewWindow', comment: ['&& denotes a mnemonic'] }, "&&Move Editor Group into New Window"),

Discussion:
Testing I am wondering if there should be a context menu action for this? !
Yeah, I actually decided to do a bit more: Editor Tab Container Context Menu: <img width="447" alt="image" src=""Empty Editor Group Context Menu: <img width="458" alt="image" src="" to open an empty aux window
Change:
@IInstantiationService instantiationService: IInstantiationService, ) { super(); <del> this._hoverDelegate = instantiationService.createInstance(WorkbenchHoverDelegate, 'mouse', false, { persistence: undefined /* use default persistence behaviour */ }); </del> <ins> this._hoverDelegate = this._register(instantiationService.createInstance(WorkbenchHoverDelegate, 'mouse', false, { persistence: undefined /* use default persistence behaviour */ })); </ins> this._register(this.themeService.onDidFileIconThemeChange(() => this.rerender())); this._register(this.themeService.onDidColorThemeChange(() => this.rerender())); this._register(checkboxStateHandler.onDidChangeCheckboxState(items => {

Discussion:
When I changed the hover delegate for treeview I forgot to it .
Reopening this issue because it is a candidate
Approved and merged into release branch
Change:
} showMenu(): void { <del> if (this.actions) { disposeIfDisposable(this.actions); } this.actions = this.getActions(); </del> this.contextMenuService.showContextMenu({ getAnchor: () => this.container, <del> getActions: () => this.actions, </del> <ins> getActions: () => this.getActions(), </ins> getCheckedActionsRepresentation: () => 'radio', <del> onHide: () => disposeIfDisposable(this.actions) </del> }); }

Discussion:
Explorer focused: ! It's only working for debug: !
It seems to working for me <img width="370" alt="image" src=""Do you have any special theme, or customisations or set up? Probably try trouble shooting?
Also the state can be frozen: ! ! Same thing in dark modern. No errors in console
Here's a repro that seems reliable: the side bar narrow enough to make some of your activity icons get displaced into the ... menu. an option from that menu. Its icon appears and get selected with the underline correct. drag that icon left to position it nearer the start of the set of tabs in order for it not to get displaced onto the ... menu again. It loses its underline and even when you switch to another icon and back to this one it doesn't get underlined.
To reset, move activity bar to side, then back to top again.
Thanks for repro steps
OFF TOPIC. May I ask how to move the activity bar from left to top? Tried searching for settings and Googling, but didn't get any results.
if you're on the Insiders build you can right click the activity bar to change the position
To verify: Move activity bar to top Reduce the width of sidebar so that activity bar actions are exactly fit Switch to Debug view container. All activity bar actions moved to overflow action From overflow action, select explorer Make sure explorer is shown active
Change:
resolved "https://registry.yarnpkg.com/xterm-addon-web-links/-/xterm-addon-web-links-0.2.1.tgz#6d1f2ce613e09870badf17615e7a1170a31542b2" integrity sha512-2KnHtiq0IG7hfwv3jw2/jQeH1RBk2d5CH4zvgwQe00rLofSJqSfgnJ7gwowxxpGHrpbPr6Lv4AmH/joaNw2+HQ== <del> xterm@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.2.0.tgz#b9980b2ae18c64ed31bcc95eace3bcecffebbbd9" integrity sha512-oNfLqt+LmghLPOt5UcskP5Km1fXpTBHsTZ99nxJKY2N0MNFXBKIVXUcNNhHCa74JGZFMGhLT58A/UN3HcPXSfg== </del> <ins> xterm@4.2.0-vscode1: version "4.2.0-vscode1" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.2.0-vscode1.tgz#dbd67e52536578ea6b772d69a97da1487acf29e3" integrity sha512-frw5Kprzkko8+G0vp4jOcwTeOpYFbSb2+QShpeQGJ7l3Hg3MTM7kt1G+nLxBPKnkFAmei/JcJTUGJdp/lldAfA== </ins> yauzl@^2.9.2: version "2.10.0"

Discussion:
This increases the amount of work done when typing commands to be significantly more. Upstream:
Can't really verify this issue without debugging into the code, inside (formatted) you will see an function, the args are start/end. Add a breakpoint to that function and verify the args are a range for a single like (eg. 15, 15) after typing a single character into the terminal. Here is the failing case where the terminal is re-rendering lines 0-15: ! Use the canvas renderer to verify.
A better way to verify: to DOM renderer paint flashing: ! you type into the prompt only a single line will flash
Verified in latest (). Can this issue be closed?
Change:
// make sure to save the merged document const doc = workspace.textDocuments.find(doc => doc.uri.toString() === uri.toString()); if (!doc) { <del> console.log(`FAILED to accept merge because uri ${uri.toString()} doesn't match a document`); </del> <ins> console.log(`FAILED to complete merge because uri ${uri.toString()} doesn't match a document`); </ins> return; } if (doc.isDirty) {

Discussion:
Testing This was feedback I heard from others too—"Accept Merge" is a bit strange since you aren't really accepting a merge so much as the individual changes. I think "Complete Merge" would make more sense here. <img width="265" alt="CleanShot 2022-09-27 at 11 50 56 src="https://user-"
Or maybe "Confirm Merge".
More ideas: I like this - I think "confirm" is usually used to approve an already stated intention and does not fully fit here. ideas?
"Complete Merge" and "Accept Merge" are the best options. I am leaning towards "Complete Merge". fyi
for "Complete Merge"
Change:
private async _fakeAuthPopulate(metadata: ILanguageModelChatMetadata): Promise<void> { <ins> if (!metadata.auth) { return; } </ins> for (const from of this._languageAccessInformationExtensions) { try { await this._getAuthAccess(from, { identifier: metadata.extension, displayName: '' }, undefined, true);

Discussion:
Testing Used Cat sample extension to test this. Please correct me if I misunderstood something the following code to the end of the method (so it runs on activation) extension Log: =This is expected, consent has not been given yet a chat message using the participant () Consent is requested =Accept the extension Log: Consent has been given by now, so the expected response would be ? When sending another message, consent is not requested again.
Nice find!
<!-- UNABLETOLOCATECOMMITMESSAGE issue --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
Change:
} const keybinding = keybindingService.resolveKeyboardEvent(event); <del> const command = (this._isKbFound(shortcut) && shortcut.commandId) ? MenuRegistry.getCommand(shortcut.commandId) : null; </del> <ins> const commandDetails = (this._isKbFound(shortcut) && shortcut.commandId) ? this.getCommandDetails(shortcut.commandId) : undefined; </ins> <del> let commandAndGroupLabel = ''; </del> <ins> let commandAndGroupLabel = commandDetails?.title; </ins> let keyLabel: string | undefined | null = keybinding.getLabel(); <del> if (command) { commandAndGroupLabel = typeof command.title === 'string' ? command.title : command.title.value; if ((options.showCommandGroups ?? false) && command.category) { commandAndGroupLabel = `${typeof command.category === 'string' ? command.category : command.category.value}: ${commandAndGroupLabel} `; </del> <ins> if (commandDetails) { if ((options.showCommandGroups ?? false) && commandDetails.category) { commandAndGroupLabel = `${commandDetails.category}: ${commandAndGroupLabel} `; </ins> } if (this._isKbFound(shortcut) && shortcut.commandId) {

Discussion:
Found while verifying
Yeah this has always been the case. I think it's due to registerAction vs registerCommand. Very confusing. We should investigate whether there's another way to get the commands, other than .
Take a look at this PR fixing this. Let me know if you have feedback for how the issue is solved.
Verification: Some commands are still not showing up since they register against the command registry without any description. This needs fixing at each command registration. But the fix makes sure certain commands start getting labels, like pressing <kbdCmd N</kbdto create a new untitled file.
as you mentioned some shortcut like + or + are still not visible - is there issue where that this shortcuts can be reported or progress regarding this fix tracked?