jiebi/CodeConvo huggingface dataset:
Change:
import { Branch, Change, ForcePushMode, GitErrorCodes, LogOptions, Ref, Remote, Status, CommitOptions, BranchQuery, FetchOptions, RefQuery, RefType } from './api/git'; import { AutoFetcher } from './autofetch'; import { debounce, memoize, throttle } from './decorators'; <del> import { Commit, GitError, Repository as BaseRepository, Stash, Submodule, LogFileOptions, PullOptions } from './git'; </del> <ins> import { Commit, GitError, Repository as BaseRepository, Stash, Submodule, LogFileOptions, PullOptions, LsTreeElement } from './git'; </ins> import { StatusBarCommands } from './statusbar'; import { toGitUri } from './uri'; import { anyEvent, combinedDisposable, debounceEvent, dispose, EmptyDisposable, eventToPromise, filterEvent, find, IDisposable, isDescendant, onceEvent, pathEquals, relativePath } from './util';

Discussion:
Verification steps: Open a folder/workspace that contains a git repository Modify an existing file, and save it Add a new file, add some contents to it, and save it Invoke the "Git: Stash (Include Untracked)" command, and create a new stash Invoke the "Git: View Stash", and pick the stash that you have created Confirm that all files from the stash have the correct content
Change:
this.onDidChange(() => { let items = this.themes; <del> if (this.isSearching) { </del> <ins> if (this._searchOngoing) { </ins> items = items.concat({ label: '$(sync~spin) Searching for themes...', id: undefined, alwaysShow: true }); <ins> } else if (items.length === 0 && this._searchError) { items = [{ label: `$(error) ${localize('search.error', 'Error while searching for themes: {0}', this._searchError)}`, id: undefined, alwaysShow: true }]; </ins> } const activeItemId = quickpick.activeItems[0]?.id; const newActiveItem = activeItemId ? items.find(i => isItem(i) && i.id === activeItemId) : undefined;

Discussion:
Testing When browsing themes while offline, I didn't get any message that I could not connect to the marketplace and/or could not retrieve themes, with the only visible feedback being that the theme search would instantly return with an empty quickpick. It would be nice if this information could be surfaced somehow.
Verified: !
Change:
})); disposables.add(onKeyDown.event(e => { <del> // allow-any-unicode-next-line if (e.key === 'Process' || /[가-힇ㄱ-ㅎㅏ-ㅣぁ-ゔァ-ヴー々〆〤一-龥]/.test(e.key)) { </del> <ins> if (e.key === 'Process' || /[uac00-ud787u3131-u314eu314f-u3163u3041-u3094u30a1-u30f4u30fcu3005u3006u3024u4e00-u9fa5]/u.test(e.key)) { </ins> if (e.code === 'Backspace') { imeBackSpace = true; } else if (!e.code.includes('Key')) {

Discussion:
Embedding unicode characters into our sources has shown a slowdown in performance.
If this was the cause of , then it's a real good catch!
yes, it looks like the cause at least of the slowdown between March 9th and 10th around the of workbench main.
Before: ellapsed: 810ms (fastest), 1294ms (slowest), 841ms (median) After: ellapsed: 788ms (fastest), 1204ms (slowest), 805ms (median)
Change:
"dependencies": { "jsonc-parser": "^3.0.0", "request-light": "^0.4.0", <del> "vscode-json-languageservice": "^4.1.2", </del> <ins> "vscode-json-languageservice": "^4.1.3", </ins> "vscode-languageserver": "^7.0.0", "vscode-uri": "^3.0.2" },

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. --- Version: 1.56.0-insider (user setup) Commit: Date: 2021-04-27T06:15:26.914Z Electron: 12.0.4 Chrome: 89.0.4389.114 14.16.0 V8: 8.9.255.24-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: Here is the error message ! The text version: <!-- 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. --
I'm seeing this too. I worked around it for now by creating with as the content. Interestingly, I still get schema completion in files so I guess this (built-in) extension is not even meant to be providing that? <details</details
I guess this was fixed by
Change:
EmptyCommitMessage = 'EmptyCommitMessage', BranchFastForwardRejected = 'BranchFastForwardRejected', BranchNotYetBorn = 'BranchNotYetBorn', <del> TagConflict = 'TagConflict' </del> <ins> TagConflict = 'TagConflict', CherryPickEmpty = 'CherryPickEmpty' </ins> }

Discussion:
Testing ! After pressing "Cancel" here I would have expected my changes view to be clean, but I was still in cherry-pick mode and had to run
I am still left in a state that is not clean: !
Can you please click on "Show Command Output" and share the output. Cannot pause the git to actually read it...
There are two distinct scenarios that may result in a cherry pick failing: are already present. In this case we will abort the cherry-pick operation. conflict (second scenario that you have shared). In this case VS Code will show a notification and users will have to manually resolve the merge conflict (code lens or merge editor) before committing. This aligns with the merge/rebase flows already present.
Change:
} }, { <ins> "name": "Markdown Headings", "scope": "markup.heading.markdown", "settings": { "fontStyle": "bold" } }, { "name": "Markdown Quote", "scope": "markup.quote.markdown", "settings": { "fontStyle": "italic", "foreground": "" } }, { "name": "Markdown Bold", "scope": "markup.bold.markdown", "settings": { "fontStyle": "bold" } }, { "name": "Markdown Link Title/Description", "scope": "string.other.link.title.markdown,string.other.link.description.markdown", "settings": { "foreground": "#AE81FF" } }, { "name": "Markdown Underline Link/Image", "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown", "settings": { "foreground": "" } }, { "name": "Markdown Emphasis", "scope": "markup.italic.markdown", "settings": { "fontStyle": "italic" } }, { "name": "Markdown Punctuation Definition Link", "scope": "markup.list.unnumbered.markdown, markup.list.numbered.markdown", "settings": { "foreground": "" } }, { "name": "Markdown List Punctuation", "scope": [ "punctuation.definition.list.begin.markdown" ], "settings": { "foreground": "" } }, { </ins> "scope": "token.info-token", "settings": { "foreground": "#6796e6"

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. --In markdown mode, Dimmed Monokai theme: does not render bold / italic. no special color for link / image title. !
The markdown used in the screenshot:
Change:
box-sizing: border-box; padding: 1px; outline-offset: -1px; <ins> border-radius: 2px; </ins> } .scm-editor-validation-container {

Discussion:
Looking at ways to make VS Code feel ever so slightly more approachable. A subtle 2px border radius on our common input components could be one way to make the UI feel more inviting and less harsh: <img width="361" alt="CleanShot 2022-04-08 at 14 48 52 src="https://user-"<img width="522" alt="CleanShot 2022-04-08 at 14 55 52 src="https://user-"<img width="494" alt="CleanShot 2022-04-08 at 14 58 01 src="https://user-"<img width="437" alt="CleanShot 2022-04-08 at 14 49 46 src="https://user-"<img width="500" alt="CleanShot 2022-04-08 at 15 01 55 src="https://user-"! FWIW, we already use a border radius on our icon buttons: <img width="300" alt="CleanShot 2022-04-08 at 15 03 36 src="https://user-"cc
I like this idea for buttons. I am not so sure about input/combo boxes.
I'm a +1 on this one, I think the inputs might need a bit of spacing from the side to feel more natural. We should also make sure that our labels are distinguishable as they start looking similar. Maybe we update the labels to be more pill-like?
As in padding L/R? I think they are indeed a bit different from our dropdowns if memory serves. Good call on the labels/tags.
Border-radius on buttons was merged but inputs is still under discussion so I'll keep this one open.
Good job
Change:
import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import Event from 'vs/base/common/event'; <ins> import { match } from 'vs/base/common/glob'; </ins> export enum ContextKeyExprType { Defined = 1, Not = 2, Equals = 3, NotEquals = 4, <del> And = 5 </del> <ins> And = 5, Glob = 6 </ins> } export abstract class ContextKeyExpr {

Discussion:
VSCode Version: 1.12.0 OS Version: MacOS Sierra 10.12.4 In , we'd like to be able to provide context menus for all gradle files. The current clause is limited to language types () or a single file name (). It would be helpful if there was support for glob pattern matching, as mentioned in
Hi, Any update on this?
I will push an additional change that expands this to support normal regular expressions instead of just glob-patterns. We figured that's more powerful and closer to ST
Will this be usable in matching any when clause value? Can you give an example?
You write , so will execute this . A sample from my dummy extensions (matches filenames ending in )
This is AWESOME! Should reduce the number of duplicate menu items I need to define
Slight update on this: The value must be enclosed in slashes, so . I have updated above sample
FYI: I tried to apply this feature to the "loaded script view" by following the entry in the release notes: ! But without much success. After looking into the test item and the corresponding feature item, I noticed that the latest syntax uses regular regexp syntax. I've taken the liberty to change the release notes to this: ! I did not attempt to clarify why actually matches "Docker files".
Hmm, I am writing a simple extension, and would like to copy any resourceName. It works without any when clause, but the menu item also shows up, when r-clicking inside the empty space. I would like to prevent it. Is there something like this ?
Ok I found . And its actually what I was looking for. But I did not found it in the docs, but code base.
Change:
return; } <del> this._matchesCount.style.minWidth = MAX_MATCHES_COUNT_WIDTH + 'px'; </del> <ins> this._matchesCount.style.width = MAX_MATCHES_COUNT_WIDTH + 'px'; </ins> this._matchesCount.title = ''; // remove previous content

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.66.2 OS Version: windows 10 The text input field is simply blocked. It is impossible to use both search and text replacement. Steps to Reproduce: combination like "Ctrl + H" or "Ctrl + F" !
Change:
import { guessMimeTypes, registerTextMime, suggestFilename } from 'vs/base/common/mime'; suite('Mime', () => { test('Dynamically Register Text Mime', () => { let guess = guessMimeTypes('foo.monaco'); assert.deepEqual(guess, ['application/unknown']);

Discussion:
This is because unlike the other algorithm for path or file name, we actually iterate over the registered languages in order and not in reverse order. As such, an extension cannot override the language mode when providing a pattern that is matched by an built in extension. I would argue that we should do the same trick and reverse the order, so that extensions have a chance. //cc
via
Change:
hasDynamicHeight(element: N): boolean { return !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(element.element); } <ins> setDynamicHeight(element: N, height: number): void { if (this.delegate.setDynamicHeight) { this.delegate.setDynamicHeight(element.element, height); } } </ins> } interface ITreeListTemplateData<T> {

Discussion:
See the GIF directly. ! As shown above, the settings UI always scrolls automatically, so I cannot find the modification because it went away. Marking or deselecting any item may cause this issue. VS Code version: Code 1.31.0 (, 2019-02-05T22:35:56.624Z) OS version: Windows_NT x64 10.0.
Annoyed me so much. Note that it happens with dropdowns and selecting an item, and occasionally by inputting textbox and clicking to defocus it.
Having this exact problem as well. I just installed VS code and am having this problem while giving it a trial run. Sigh....
Maybe related to
This isn't what I thought it was, I have to assign to you I think the ListView renders the setting items with their default heights, then rerenders and saves the offset of the anchor element. Then it fixes the heights of the elements and maintains the offset of the anchor element. But since it measured the anchor element when the elements had default heights, the list will be shifted if the real heights were different from the default heights. Maybe an anchor element should be measured before rendering the items with default heights or something like that. I made the default heights more accurate which helps.
Why is the list re-rendered when a check box is clicked?
When the config service says something changed, we rerender everything. It seems unnecessary in this case but it's hard to tell that the change event came "from" this instance of the settings editor and also, some values can be normalized when they get back to us, and since it should be safe to rerender, I don't put a lot of effort into reducing unneeded renders. Another way to repro this, open two settings editors in two groups, change a setting in Group 1, and see the editor in Group 2 scroll. If this just can't really be fixed there are things I can do like updating the value of a rendered setting row without actually calling setChildren. But that only works for some settings, adds more complexity, etc.
It can definitely be fixed. I was just wondering why the rerender was needed. ;)
cc
Change:
markdownDescription: nls.localize('editor.codeActionsOnSave', 'Run Code Actions for the editor on save. Code Actions must be specified and the editor must not be shutting down. Example: `"source.organizeImports": "explicit" `'), type: ['object', 'array'], additionalProperties: { <del> type: ['string', 'boolean'], </del> <ins> type: 'string', </ins> enum: ['always', 'explicit', 'never', true, false], }, default: {},

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.85.1 OS Version: Apple M1 Max Mac 13.6.2 Steps to Reproduce: this snippet to VSCode settings VSCode keeps changing the setting to: If I change the value back to true (a valid value), then force the settings to sync (confirming the sync happened with the new setting), then reopen VSCode again.. the value has reverted it back to "explicit" and a new sync entry (from opening VSCode) happens saying it synced that new value. If I change the value to "always" it does not change back to "explicit".
While is still allowed, I think they're trying to deprecate that and encourage usage of //. It's changing to which is equivalent to had been prior to the September 2023 release aka v1.83, see discussion in release notes and .
Probably the best fix would be actually remove true/false values as valid inputs. Keeping them as valid can/will cause confusion. While it is mentioned in those release notes, not everybody reads every release notes in detail and it still conflicts with VSCode suggesting those values as valid.
We're affected by this as well. We have committed our VS Code settings to over a dozen repositories, so any developer on v1.85 encountered this auto-migration and saw those changes in their . Fortunately, we all update our VS Code version on the same day, so the impact is reduced, but it still means there will be merge conflicts and developers will need to rebase all of their branches.

In the past, whenever a VS Code update changes a setting, the old value continues to be accepted and there's a warning message shown. This gives us ample time to migrate the settings, instead of having to drop everything and fix it like today. Going forward, please follow that old approach and do not auto-migrate the settings.
This is a breaking change, how this even got merged?
Change:
test('parses quotes', () => { t.setText('@hello:"world" @foo:'bar' baz'); assert.deepStrictEqual(t.globList, [{ text: 'baz', include: true }]); <del> assert.deepStrictEqual([...t.onlyTags], ['hello0world', 'foo0bar']); </del> <ins> assert.deepStrictEqual([...t.includeTags], ['hello0world', 'foo0bar']); assert.deepStrictEqual(t.excludeTags, new Set()); </ins> }); test('parses quotes with escapes', () => { t.setText('@hello:"world"1" foo'); assert.deepStrictEqual(t.globList, [{ text: 'foo', include: true }]); <del> assert.deepStrictEqual([...t.onlyTags], ['hello0world"1']); </del> <ins> assert.deepStrictEqual([...t.includeTags], ['hello0world"1']); assert.deepStrictEqual(t.excludeTags, new Set()); </ins> }); });

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Splitting this out from In the Test UI you can filter by text or exclude text using and filter by a . It would be nice if we could also negate tags in the filter like to exclude a specific tag. <!-- Describe the feature you'd like. --
Starting point, this is where tag filtering happens:
Change:
} : undefined }; <del> // Check if Upstream has changed if (force || this._HEAD?.upstream?.name !== this.repository.HEAD?.upstream?.name || this._HEAD?.upstream?.remote !== this.repository.HEAD?.upstream?.remote || this._HEAD?.upstream?.commit !== this.repository.HEAD?.upstream?.commit) { this.logger.trace(`GitHistoryProvider:onDidRunGitStatus - Upstream has changed (${force})`); this._onDidChangeCurrentHistoryItemGroupBase.fire(); } this._HEAD = this.repository.HEAD; </del> <ins> this.logger.trace(`GitHistoryProvider:onDidRunGitStatus - currentHistoryItemGroup (${force}): ${JSON.stringify(this.currentHistoryItemGroup)}`); </ins> } async provideHistoryItems(historyItemGroupId: string, options: SourceControlHistoryOptions): Promise<SourceControlHistoryItem[]> {

Discussion:
No steps yet, but it happened twice today that I have seen stale decorations, e.g after pull <img width="1367" alt="Screenshot 2024-02-14 at 12 26 08" src=""
Change:
} })); <del> this._register(this.onDidChangeBodyVisibility(visible => { </del> <ins> this._register(this.onDidChangeBodyVisibility(async visible => { </ins> this._viewShowing.set(visible); if (visible) { const hadTerminals = !!this._terminalGroupService.groups.length; <ins> // Ensure the primary backend is registered as it's important to do before // initializeTerminals is called. await this._terminalService.primaryBackendRegistered; </ins> if (this._terminalService.isProcessSupportRegistered) { if (this._terminalsInitialized) { if (!hadTerminals) {

Discussion:
Started in first 1.72 insider build !
It's related to not being and going this route: Probably more fallout from the change in and
View visibility changes before the backend is registered:
Change:
}); KeybindingsRegistry.registerCommandAndKeybindingRule({ <ins> id: KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND_TITLE, weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.and(CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDING_FOCUS), primary: 0, handler: async (accessor, args: any) => { const editorPane = accessor.get(IEditorService).activeEditorPane; if (editorPane instanceof KeybindingsEditor) { await editorPane.copyKeybindingCommandTitle(editorPane.activeKeybindingEntry!); } } }); KeybindingsRegistry.registerCommandAndKeybindingRule({ </ins> id: KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.and(CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS),

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: v1.60.0-insider OS Version: Windows 10 Steps to Reproduce: "Copy Command Title" in the Keyboard Shortcuts editor. result shows up. Since other menu items for a single command all have an associated command ID, it would be inconsistent to leave "Copy Command Title" out: !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.462 --- <!-- score: 0.45 --<!-- potentialduplicatescomment --
can I work on this feature request?
It might be too early to create this PR as this is a backlog candidate but created it anyway.
Thanks!
Since it's inconsistent with other menu items in the keybindings editor, it could be considered as a bug, I've updated the issue to reflect that. Voting to move to the Backlog is too much trouble for just adding a simple command ID, please just move it, as we know it may never make it into the Backlog by voting, not to mention it has a PR already. !