jiebi/CodeConvo huggingface dataset:
Change:
extensionInfo: extensionInfo, deprecationMessage: prop.markdownDeprecationMessage || prop.deprecationMessage, deprecationMessageIsMarkdown: !!prop.markdownDeprecationMessage, <del> validator: createValidator(prop) </del> <ins> validator: createValidator(prop), enumItemLabels: prop.enumItemLabels </ins> }); } }

Discussion:
Issue Type: <bBug</b! VS Code version: Code - Insiders 1.50.0-insider (, 2020-09-12T00:56:22.923Z) OS version: Darwin x64 19.4.0 Remote OS version: Linux x64 4.19.76-linuxkit <details<summarySystem Info</summary </details<!-- generated by issue reporter --
This is the order that it's contributed in. Do you think that the settings UI should sort them alphabetically like they are in the suggest widget, or leave them in contribution order, in case that is important? Looking through some enum settings, some seem to order the options in an intentional way, like with the default first, or the simpler options first. Some are random or are sorted. I think I am inclined to display them in contributed order to keep this an option (and we can sort the encodings manually), but I'm not sure, what do you think?
It should be this order, same as the picker: ! The encodings are not sorted by name intentionally. But they are grouped by type and I guess that is not very visible in the settings editor.
Oh, got it. I've seen a few of these cases where it would make sense to display the enumDescription in the dropdown instead of the actual value. It doesn't make sense in general but it would be cool to provide an option for settings to opt into that, what do you think?
Yeah I think it would make a lot of sense in this case
I think we should add an option to the schema contribution for this but I have no clue what to call it
If the dropdown list will now display the enumDescriptions, should the description footer on the list show the value to be set? Should the collapsed dropdown control show the selected value or its enumDescription?
Yes, I'd say just swap them I think it should show the enumDescriptioni
I'll start working on this issue. Thanks for your help.
Now this will show with the key in the description area in square brackets. But it would look much nicer to match the editor encoding picker, so I opened for that.
Change:
* If you want to monitor file events across all opened workspace folders: * * ```ts <del> * vscode.workspace.createFileSystemWatcher('**​/*.js')); </del> <ins> * vscode.workspace.createFileSystemWatcher('**​/*.js'); </ins> * ``` * * *Note:* the array of workspace folders can be empty if no workspace is opened (empty window).

Discussion:
<img width="554" alt="Screen Shot 2023-02-12 at 7 45 37 PM" src="https://user-"I noticed this while I was reading the API reference. The how-to-contribute guide didn't recommend to create PRs for typos so I opened this issue instead.
Change:
"sql": "_db_light", "swift": "_swift_light", "typescript": "_typescript_light", <del> "typescriptreact": "_typescript_light", </del> <ins> "typescriptreact": "_react_light", </ins> "xml": "_xml_light", "dockercompose": "_docker_3_light", "yaml": "_yml_light",

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. --Can the default file icon theme be updated in VS Code (seems just need to follow the to run the script) files should by now have the Maven (mvnw) icon but are still showing regular XML icon.
Verify that the files now have the Maven (mvnw) icon
Change:
"xterm": "4.19.0-beta.60", "xterm-addon-search": "0.9.0-beta.39", "xterm-addon-unicode11": "0.4.0-beta.3", <del> "xterm-addon-webgl": "0.12.0-beta.39" </del> <ins> "xterm-addon-webgl": "0.12.0-beta.41" </ins> } }

Discussion:
Notice the words in the following screenshot: ! Does not reproduce in , from 3 days ago. I'm on Windows, using as my font, default size, no zoom.
Caused by
Change:
throw createTooLargeFileError(this.group, input, options, message, this.preferencesService); } <del> // Offer to create a file from the error if we have a file not found and the name is valid if ((<FileOperationError>error).fileOperationResult === FileOperationResult.FILE_NOT_FOUND && await this.pathService.hasValidBasename(input.preferredResource)) { </del> <ins> // Offer to create a file from the error if we have a file not found and the name is valid and not readonly if ( (<FileOperationError>error).fileOperationResult === FileOperationResult.FILE_NOT_FOUND && !this.filesConfigurationService.isReadonly(input.preferredResource) && await this.pathService.hasValidBasename(input.preferredResource) ) { </ins> const fileNotFoundError = createEditorOpenError(new FileOperationError(localize('unavailableResourceErrorEditorText', "The editor could not be opened because the file was not found."), FileOperationResult.FILE_NOT_FOUND), [ toAction({ id: 'workbench.files.action.createMissingFile', label: localize('createFile', "Create File"), run: async () => {

Discussion:
Type: <bBug</ba readonly file system opening a file that does not exist. You can use the command for this bug A diaglogdialog shows that includes an option for <img width="345" alt="Screenshot 2024-01-23 at 10 38 49 AM" src=""Clicking on this option shows a second dialog that says the file cannot be created: <img width="312" alt="Screenshot 2024-01-23 at 10 39 02 AM" src=""I think it would be better not to show file in the first dialog VS Code version: Code - Insiders 1.86.0-insider (Universal) (, 2024-01-23T06:13:09.134Z) OS version: Darwin arm64 23.2.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Change:
public override dispose(): void { this._context.removeEventHandler(this); <ins> if (this._mouseLeaveMonitor) { this._mouseLeaveMonitor.dispose(); this._mouseLeaveMonitor = null; } </ins> super.dispose(); }

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.63.0 OS Version: Windows 11 Steps to Reproduce: a file where breakpoints can be set around the edge of the editor, in and out of the margin until the breakpoint stays even though the mouse is outside of the editor (see GIF below). ! This is important to me because I am using margin decorations in Monaco and running into the same issue there. Internally the event isn't triggered, so the decorations aren't removed. It seems to be specific to decorations in the glyph margin, as without these (e.g. line decorations) it doesn't seem to reproduce.
I can reproduce when moving the mouse quickly. I find it interesting that also the scrollbars suffer form the same problem (the scrollbars listen independently to ). I've also tried locally to replace with the somewhat more modern and I could still reproduce. Basically the browser simply forgets soemtiems to send us a or a event: <img width="538" alt="image" src="https://user-"
Change:
when: ContextKeyExpr.and( ContextKeyExpr.has(HistoryNavigationWidgetFocusContext), ContextKeyExpr.equals(HistoryNavigationBackwardsEnablementContext, true), <ins> ContextKeyExpr.not('isComposing'), </ins> historyNavigationVisible.isEqualTo(false), ), primary: KeyCode.UpArrow,

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: code -v: 1.78.0 arm64 OS Version: macOS monterey 12.4 Steps to Reproduce: i use macOS origin input to type chinese in left sider search input, when i want to use arrow down to select target chinese word. the input content changed by arrow down. there is a reproduce video. https://user-
Change:
actionbar.onDidRun(({ error }) => error && this.notificationService.error(error)); const extensionStatusIconAction = this.instantiationService.createInstance(ExtensionStatusAction); <del> const reloadAction = this.instantiationService.createInstance(ReloadAction); </del> const actions = [ this.instantiationService.createInstance(ExtensionStatusLabelAction), this.instantiationService.createInstance(MigrateDeprecatedExtensionAction, true), <del> reloadAction, </del> <ins> this.instantiationService.createInstance(ReloadAction), </ins> this.instantiationService.createInstance(ActionWithDropDownAction, 'extensions.updateActions', '', <del> [[this.instantiationService.createInstance(UpdateAction)], [this.instantiationService.createInstance(SkipUpdateAction)]]), </del> <ins> [[this.instantiationService.createInstance(UpdateAction, false)], [this.instantiationService.createInstance(SkipUpdateAction)]]), </ins> this.instantiationService.createInstance(InstallDropdownAction), this.instantiationService.createInstance(InstallingLabelAction), this.instantiationService.createInstance(SetLanguageAction),

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Hello, I searched for an existing ticket with , but didn't find anything related. <!-- Describe the feature you'd like. --Prior to v1.72.0, the extension sidebar showed which version an extension will be updated to. And when hovering over the extension in the sidebar, or opening the extension in a tab, you could see the currently installed one. That way you could see for example if an update is a major, minor, or patch update, and depending on that dig into the release notes or not. Further in the past, IIRC, the extension sidebar even showed both, installed and target version, which was even more convenient. Now with v1.72.0, I don't see anywhere the target version of an extension update. Many extensions don't keep a proper changelog, so that's not a reliable place to check. Here's an example for vscode-icons, a very popular extension with 12 million installs: ! Only when going to the Marketplace webpage () we see the target version: ! =Feature request: Please make the target version for extension updates visible inside of VS Code again.
Latest version is now shown in the hover. Update button in the extension editor shows the version.
Change:
const actions = collectContextMenuActions(menu); const actionRunner = this._register(new RepositoryActionRunner(() => { <del> const focusedRepositories = this.list.getFocusedElements(); const selectedRepositories = this.list.getSelectedElements(); return Array.from(new Set<ISCMRepository>([...focusedRepositories, ...selectedRepositories])); </del> <ins> return this.list.getSelectedElements(); </ins> })); actionRunner.onWillRun(() => this.list.domFocus());

Discussion:
Testing open a multi repository workspace Unselect one repository in SCM repositories view Right click on unselected repository and choose Close other repositories action Nothing happens
Change:
const key = `${IdentityHash.of(feature)},${min}${extra ? ',' + extra : ''}`; let info = this._data.get(key); if (!info) { <del> if (!this._isDev) { </del> <ins> if (this._isDev) { </ins> this._logService.debug(`[DEBOUNCE: ${name}] is disabled in developed mode`); info = new NullDebounceInformation(min * 1.5); } else {

Discussion:
Register a code lens provider: Put a breakpoint at Debug the extension and open a javascript document Wait for the breakpoint to be hit. Then, wait for 30 seconds (e.g. because stepping through the implementation takes a while) Then modify the javascript document to trigger another call to Notice it takes about 30 seconds until is called again. This is quite surprising. I think this happens because of the dynamic debouncing of language features. I suggest that dynamic debouncing of language features is set to a maximum of 2 seconds when an extension is debugged (i.e. when the process arg is present), so it should not have any production impact. What do you think?
d'oh
Interesting. I can consistently reproduce with yesterdays VS Code build. This is my launch config:
Read the whole snippet... I works the wrong way around
Change:
})); } <ins> private registerAPICommands(): void { this._register(CommandsRegistry.registerCommand({ id: 'registerWindowTitleVariable', handler: (accessor: ServicesAccessor, name: string, contextKey: string) => { this.registerVariables([{ name, contextKey }]); }, metadata: { description: 'Registers a new title variable', args: [ { name: 'name', schema: { type: 'string' }, description: 'The name of the variable to register' }, { name: 'contextKey', schema: { type: 'string' }, description: 'The context key to use for the value of the variable' } ] } })); } </ins> //#region Auxiliary Titlebar Parts createAuxiliaryTitlebarPart(container: HTMLElement, editorGroupsContainer: IEditorGroupsContainer): IAuxiliaryTitlebarPart {

Discussion:
Currently, allows several variables. It would be awesome for extensibility, if would be supported, with being an arbitrary context variable. Then extensions could contribute to the window title (candidates would be or ). I'd be up to create a PR! Related:
Sounds interesting, feel free to give it a try. The variables are substituted from here:
anyone assign me pls
Verification steps: an extension, create a contxt key and register a title variable to in settings and add the newly created title variable (for example ) sure the window title correctly renders the value of the variable in the command center / window title area
Change:
muteMessage: boolean; } export class SymbolNavigationAnchor { static is(thing: any): thing is SymbolNavigationAnchor {

Discussion:
Commit: Datum: 2022-09-01T07:22:41.992Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/ Firefox/105.0 +left mouse click on a declaration moves the cursor to the reference if only one exists: https://user- +left mouse click on a declaration moves the cursor opens the reference menue if only multiple references exist: https://user- Commit: Datum: 2022-09-07T05:15:40.689Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/ Firefox/105.0 (Also doesnt work on the Desktop Electron App.) https://user- install the versions I listed above or use and you may use this example code : Maybe it has something to do with this:
Do you have configured?
Its the default: "editor.gotoLocation.alternativeDefinitionCommand": "" ! I used and without any account. So no custom settings or extensions. :) If I use another setting like "editor.gotoLocation.alternativeDefinitionCommand": "" it also doesnt work.
Does "Peek References" or "Go to References" work when invoked on that symbol? btw - this works for me using Safari or FF
yes https://user-
are you using with your account, or in a "private" window? ctrl+mouse also doesnt bring up the references popup in other chromium based browsers, like brave nightly or the Desktop version (also tried it in a new profile). ctrl+click on a reference brings me to the definition, so my ctrl key isnt broken :D
The bug is also happening if I choose english as a language and or keyboard layout.
The same thing is happening to me, I'm on insiders Version: 1.72.0-insider Commit: Date: 2022-09-07T05:18:06.866Z (1 day ago) Electron: 19.0.12 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: Yes
Same here
Same here. This is no longer working with the latest VSCode Insider version.

For me it's not working with Dart code. If the usage is in the same file and there is only one, it will not jump there either.
I managed to reproduce with the steps in
Change:
export namespace SettingIds { export const enableFormatter = 'json.format.enable'; export const enableKeepLines = 'json.format.keepLines'; <del> export const enableSortOnSave = 'json.sortOnSave.enable'; </del> export const enableValidation = 'json.validate.enable'; export const enableSchemaDownload = 'json.schemaDownload.enable'; export const maxItemsComputed = 'json.maxItemsComputed';

Discussion:
Testing Should be exposed using a code action (specifically a source action) instead of as a setting? Some advantages: We can reuse the existing setting instead of adding a new one Sorting will play nicer with other source actions since users can configure the order in which the actions run Users can trigger source actions through the context menu or with keybindings
Hey that's a good idea! I'll discuss it with the team. What do you think ?
Yes, makes sense!
Change:
pattern.replace(/([^]|^)((?:)*)W/g, '$1$2(r?n|[^wr])') : pattern.replace(/([^]|^)((?:)*)W/g, '$1$2[^wr]'); } <ins> export function fixNewline(pattern: string): string { return pattern.replace(/n/g, 'r?n'); } </ins>

Discussion:
Open folder containing CRLF files (typically on windows) Copy multiple lines of text, paste into search viewlet Close that file Do multiline search The file is not found cc Candidate because the feature is essentially completely broken on windows.
Change:
`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(globalThis._VSCODE_NLS_MESSAGES)};`, `globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(globalThis._VSCODE_NLS_LANGUAGE)};`, `const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`, <ins> `globalThis.workerttPolicy = ttPolicy;`, </ins> `importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');`, `/*${label}*/` ].join('')], { type: 'application/javascript' });

Discussion:
I see this error a lot in the VS Code insider dev tools: ! !
Bisect points to the following, which was only effective with cross-origin scripts previously now is used in all scenarios to bootstrap NLS configs, some worker scripts like the renderer auto profiler end up loading the inside the worker which leads to double creation of the same name policy. Fun fact the duplicate policy creation is not raised when performing the same actions in a nested worker, possibly a bug in Chrome. Simple repro,
Thanks for fixing!
Change:
// The button is disabled if (!showActionButton.commit) { return undefined; } <del> let title: string, tooltip: string, commandArg: string; </del> <ins> return { command: this.getCommitActionButtonPrimaryCommand(), secondaryCommands: this.getCommitActionButtonSecondaryCommands(), enabled: this.state.repositoryHasChangesToCommit && !this.state.isCommitInProgress && !this.state.isMergeInProgress }; } private getCommitActionButtonPrimaryCommand(): Command { let commandArg = ''; let title = localize('scm button commit title', "{0} Commit", '$(check)'); let tooltip = this.state.isCommitInProgress ? localize('scm button committing tooltip', "Committing Changes...") : localize('scm button commit tooltip', "Commit Changes"); // Rebase Continue if (this.state.isRebaseInProgress) { return { command: 'git.commit', title, tooltip, arguments: [this.repository.sourceControl, commandArg] }; } // Commit const config = workspace.getConfiguration('git', Uri.file(this.repository.root)); </ins> const postCommitCommand = config.get<string>('postCommitCommand'); // Branch protection

Discussion:
Testing [ ] Update label accordingly (deferred) [x] Remove secondary actions
Pushing this out to the next milestone as there are some things I need to investigate first related to the rebase flow.
Decided to keep the "Commit" label for the button to keep things simple. Will change it if needed, based on customer feedback.
Change:
max-width: 100%; max-height: 100%; } <ins> body a { color: var(--link-color); } </ins> a:focus, input:focus, select:focus,

Discussion:
! It looks surprisingly good in this screenshot, but in reality it's way worse. Contrast ratio: background: , color:
It doesn't make much sense to me. Background color changes ... color stays the same. If background is close to blue () =links become low contrast ! If background is close to orange () =code samples become low contrast !
Change:
"--vscode-notificationsErrorIcon-foreground", "--vscode-notificationsInfoIcon-foreground", "--vscode-notificationsWarningIcon-foreground", <ins> "--vscode-outputEditor-background", "--vscode-outputEditorStickyScroll-background", </ins> "--vscode-panel-background", "--vscode-panel-border", "--vscode-panel-dropBorder",

Discussion:
Repro: Use a theme that has the editor as a different color to the panel Print a json object to an output channel !
Hi thank you for posting this issue. It is a bit unclear from the screen-shot what the expected output should be. Are you referring to what looks like the terminal sticky scroll?
that's output (monaco) sticky scroll, not terminal. The bottom has a dark sticky scroll color and looks odd when the panel background is different to the editor.
I see better now thanks. I'll look into setting a different background color depending on if the editor is a simple one or inside of the output view.
I am investigating how to detect if a specific editor is the editor in the output view. I was initially considering looking at the classList to find if or is there, but the editor dom node class list appears to be undefined for the output view. I was wondering if there is perhaps another way to detect this?
I am not aware of a method to get the editor of the output view, but it should be easy to add: Is that what you need?
Ah maybe I can directly access the editor of the output view pane and verify that the current editor is equal to this editor maybe?
But you are inside an editor contribution or? Not sure how that would work given layering violations.
Yes that's right the change would be inside of the file which is a contribution. I'll think more about how to detect the type of the current editor
Not sure if it helps, but we can control the options we pass in to the editor for output and do so here:
It's a bit of a tricky problem if you want this to work well across all themes. You probably need to support null or transparent values for the bg and hover bg keys and then resolve the colors manually into opaque colors by combining them with the bg color underneath. This might be the right internal API to do that?
I was investigating the uri of the output editor, and noticed it has a scheme equal to 'output'. I can just use it in order to detect if the current editor is an output view editor and change the background accordingly.
Change:
if (!gitRepo) { return; } <ins> await ensurePublished(gitRepo, uri); </ins> let repo: { owner: string; repo: string } | undefined; gitRepo.state.remotes.find(remote => { if (remote.fetchUrl) {

Discussion:
Testing One can copy links to & github & azure repos even though I just created the file and copying such a link will result in empty or 404 on GH. Seeing links to just created file : <img width="451" alt="image" src="https://user-"
No progress on this one yet, but would you expect the actions to be hidden, or would you want to be prompted to commit the file to the remote when the command is invoked?
I think users could be confused if the actions wouldn't appear (eg they might've forgotten the file isn't pushed), so the latter sounds better. But I wonder whether checking whether the file is available on remote would be slow