jiebi/CodeConvo huggingface dataset:
Change:
export const ENABLE_LANGUAGE_FILTER = true; export const ENABLE_EXTENSION_TOGGLE_SETTINGS = true; <ins> export const EXTENSION_FETCH_TIMEOUT_MS = 1000; </ins> export type ExtensionToggleData = { settingsEditorRecommendedExtensions: IStringDictionary<IExtensionRecommendations>;

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.89.0 OS Version: Linux x64 6.6.26-1-MANJARO Steps to Reproduce: VS Code. Developer Tools and watch Network requests. VS Code, open Settings. that Settings will not display any settings until the requests to are completed. reading the results of the queries, observe that this request is related to the absolutely despicable advertisement for GitHub Copilot_, to detect if it's already installed (or something) in order to show the ad in the Settings UI and that you are now even more incensed that something which should work immediately was taking 7 seconds or longer due to the fact that we are now living through a dystopia. Then quickly get over it and start considering a move to a different editor or a fork. Please choose one of the following suggestions: remove the GitHub Copilot advertisement from the Settings UI. waiting for network requests in order to show the Settings UI. this issue and ignore this unquestionably sane plea to help battle the enfecalization of this beloved product.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.89.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
The AUR hasn't been updated with 1.89.1 yet but looking at the resolved issues I don't see any related to this.
I have a 1-second timeout per network request. In other words, the delays should now have an upper limit on their duration.
Change:
interface IOpenSettingsActionOptions { openToSide?: boolean; query?: string; <ins> revealSetting?: { key: string; edit?: boolean; }; focusSearch?: boolean; } function sanitizeBoolean(arg: any): boolean | undefined { return isBoolean(arg) ? arg : undefined; } function sanitizeString(arg: any): string | undefined { return isString(arg) ? arg : undefined; </ins> } function sanitizeOpenSettingsArgs(args: any): IOpenSettingsActionOptions {

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. --Actions like current only accepts options in . Allowing setting other options from like allows extensions directly open json setting editor with specific setting keys (when the extension is asking user to edit some custon json settings)
Leaving this to you for the action to be taken.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
Change:
} private getChangedResources(repository: ISCMRepository) { <del> const trackedUris = repository.provider.groups.elements.reduce((resources, resourceGroups) => { </del> <ins> return repository.provider.groups.elements.reduce((resources, resourceGroups) => { </ins> resourceGroups.elements.forEach((resource) => resources.add(resource.sourceUri)); return resources; }, new Set<URI>()); // A URI might appear in more than one resource group <del> return [...trackedUris]; </del> } private hasEditSession() { for (const repository of this.scmService.repositories) { <del> if (this.getChangedResources(repository).length > 0) { </del> <ins> if (this.getChangedResources(repository).size > 0) { </ins> return true; } }

Discussion:
Testing Continue from web inside desktop Let the window sit Install update (which restarts the App) you are instantly greeted with a modal dialog (I wasn't even in that window of VS Code) Ideas don't use a modal but the custom modal overlay which is more friendly and doesn't steep focus don't show this when my local changes are no different to those on the server <img width="1391" alt="Screenshot 2022-08-24 at 09 26 13" src="https://user-"
Is the custom modal overlay the same thing as the custom modal dialog, i.e. :+1: I filed for this.
Change:
this._currentReleaseNotes.webview.onDidClickLink(uri => this.onDidClickLink(URI.parse(uri))); this._currentReleaseNotes.onDispose(() => { this._currentReleaseNotes = undefined; }); <del> const iconPath = URI.parse(require.toUrl('vs/workbench/browser/media/code-icon.svg')); this._currentReleaseNotes.iconPath = { light: iconPath, dark: iconPath }; </del> this._currentReleaseNotes.webview.html = html; }

Discussion:
Issue Type: <bBug</bRelease Notes from Help menu it Release Notes doesn't show an icon on its normal tab, the pinned one is empty. VS Code version: Code - Insiders 1.46.0-insider (, 2020-05-07T16:19:54.327Z) OS version: Windows_NT x64 10.0. ! Compare its appearance to that of my adjacent pinned tab, which is my file (very handy to be able to pin it, kudos to ) <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.669 --- <!-- score: 0.543 --- <!-- score: 0.532 --- <!-- score: 0.455 --<!-- potentialduplicatescomment --
This actually looks like a bug to me, because release notes should have the product icon. Looking into devtools I see it being referenced: ! However, this file does not exist on disk likely because it gets inlined, as you can see in the welcome tab where the icon appears properly: ! Assigning a couple of people to check this.
I should add that I indeed moved this icon to a new place (we had many copies of it). So it could be a regression from that work.
so this is a regression from my push but I think the way the icon is used in here is not ideal because it prevents the image from being inlined: A better solution would be to have it referenced from CSS like we do e.g. in the welcome page: However this would require some name to appear as part of the label we could override. I am not sure how to pass a resource name to the webview? Currently it looks like we add a UUID: ! Open for ideas. Last resort is to just bring back that icon, but then we have it duplicate as before.
This actually has nothing to do with pinned tabs as it appears blank normally: !
Change:
}); } <ins> private registerNewWindowWithProfileAction(): IDisposable { return registerAction2(class NewWindowWithProfileAction extends Action2 { constructor() { super({ id: `workbench.profiles.actions.newWindowWithProfile`, title: localize2('newWindowWithProfile', "New Window with Profile..."), category: PROFILES_CATEGORY, precondition: HAS_PROFILES_CONTEXT, f1: true, }); } async run(accessor: ServicesAccessor) { const quickInputService = accessor.get(IQuickInputService); const userDataProfilesService = accessor.get(IUserDataProfilesService); const hostService = accessor.get(IHostService); const pick = await quickInputService.pick( userDataProfilesService.profiles.map(profile => ({ label: profile.name, profile })), { title: localize('new window with profile', "New Window with Profile"), placeHolder: localize('pick profile', "Select Profile"), canPickMany: false }); if (pick) { return hostService.openWindow({ remoteAuthority: null, forceProfile: pick.profile.name }); } } }); } </ins> private registerNewWindowAction(profile: IUserDataProfile): IDisposable { const disposables = new DisposableStore();

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --VSCode Version 1.91.0 introduces a new "New Window with Profile menu item". I see it's not currently available in the command palette, like the "New Window" command. <img width="603" alt="image" src=""It would be nice to have this available in the command palette.
Change:
inputEditor.setPosition(cachedPosition); inputEditor.focus(); } else if (type === 'inlineChat') { <del> InlineChatController.get(editor)?.focus(); </del> <ins> if (editor) { InlineChatController.get(editor)?.focus(); } </ins> } }, options: { type: AccessibleViewType.Help }

Discussion:
Refs: chat view. Ask some things keyboard focus on the request item (what you typed) -nothing happens This is inconsistent with the behaviour when the focus is on the response. Megan informed me that this behaviour is by design, but I do not see understand what is the benefit of this behaviour. What are we getting with this inconsistency?
cc and for feedback. The thought here was a user has typed the request - thus knows what it says generally and doesn't need to carefully inspect it. Also, the request is typically concise. Open to adding support for this though - we'd have to consider if we want the and to cycle through each list item. IMO, it would be a bit annoying to have to go through one's requests like this.
I discussed this with JooYoung and he agreed we should not do this unless it's requested
Change:
} public $acceptTerminalProcessData(id: number, data: string): void { <del> // TODO: Queue requests, currently the first 100ms of data may get missed const terminal = this._getTerminalById(id); if (terminal) { terminal._fireOnData(data); } </del> <ins> this._getTerminalByIdEventually(id).then(terminal => { if (terminal) { terminal._fireOnData(data); } }); </ins> } public $acceptTerminalRendererDimensions(id: number, cols: number, rows: number): void {

Discussion:
Verification steps?
Verification Steps: Create an extension with this command: (vscode.commands.registerCommand('terminalTest.createAndSend', () ={ const terminal = (); if((<anyterminal).onDidWriteData) { (<anyterminal).onDidWriteData(data ={('Hello World!');}); } terminal.sendText("echo 'Sent text immediately after creating'"); })); When you execute the command, confirm that the 'Hello World!' info message shows. Do this five or so more times since this is a race condition.
Change:
return true; } <del> const quickPick = this._quickInputService.createQuickPick<KernelQuickPickItem>({ useSeparators: true }); </del> <ins> const localDisposableStore = new DisposableStore(); const quickPick = localDisposableStore.add(this._quickInputService.createQuickPick<KernelQuickPickItem>({ useSeparators: true })); </ins> const quickPickItems = this._getKernelPickerQuickPickItems(notebook, matchResult, this._notebookKernelService, scopedContextKeyService); if (quickPickItems.length === 1 && supportAutoRun(quickPickItems[0]) && !skipAutoRun) { <del> return await this._handleQuickPick(editor, quickPickItems[0], quickPickItems as KernelQuickPickItem[]); </del> <ins> const picked = await this._handleQuickPick(editor, quickPickItems[0], quickPickItems as KernelQuickPickItem[]); localDisposableStore.dispose(); return picked; </ins> } quickPick.items = quickPickItems;

Discussion:
Note that quick pick instances and their events are disposables. Noticed a few cases of missing:
Change:
} return { <del> range: firstLineRange(range), </del> <ins> range: collapseRange(range), </ins> options: { description: 'run-test-decoration', <del> isWholeLine: true, </del> <ins> showIfCollapsed: true, </ins> get hoverMessage() { if (!hoverMessage) { const building = hoverMessage = new MarkdownString('', true).appendText(hoverMessageParts.join(', ') + '.');

Discussion:
Using the test-provider-sample, adding newlines on a line marked as a test duplicates the test icon: ! It sorts itself out on the next update (at least in the sample, I'm still investigating to figure out if there's another issue, or that's in my extension). But it still looks bad - especially if a language is debouncing edits and/or discovery may be slow.. You can make the issue more pronounced (as I did for the GIF) by updating the test-provider-sample to have a delay in its updates:
I was able to repro the full issue I'm seeing in Dart (where the icons never disappear) using the sample too: ! My changes to the sample are here: I changed it so that tests can span multiple lines (since the original code split on lines then searched each line) and use the full range as the for the test. Now when pressing in the test, the original issue (VS Code duplicate the icons) still occurs, but also after the updates, since the range computed by the provider doesn't change from the range VS Code currently has (at least that's my guess), there's no update to the gutter icons so they no longer get cleaned up.
That's correct, we let the editor do its default decoration tracking until an update is received from the extension. for testing decorations, I already set , but is there a similar option to avoid extending the range over lines when edited? Or, alternatively, a way to only apply the glyphMarginClassName to the first line of the range. Reference:
You can create two decorations per test. One which has a range, a hover message, etc. And another one which renders the glyph margin with a collapsed range (perhaps the start position of the range). If you use for the second one, given it begins as a collapsed range, it will never grow, it will always remain a collapsed range.
Change:
const anchorFocusedSetting = this.configurationService.getValue(NotebookSetting.anchorToFocusedCell); const allowScrolling = this.configurationService.getValue(NotebookSetting.scrollToRevealCell) !== 'none'; const scrollHeuristic = allowScrolling && anchorFocusedSetting === 'auto' && this.view.elementTop(index) < this.view.getScrollTop(); <del> if (focused && (anchorFocusedSetting === 'true' || scrollHeuristic)) { </del> <ins> if (focused && (anchorFocusedSetting === 'on' || scrollHeuristic)) { </ins> this.view.updateElementHeight(index, size, focus); }

Discussion:
Testing This setting seems like overkill to me and there is a good behavior we should be aiming towards which is notebook.scrolling.anchorToFocusedCell = auto. You could also do something clever like disable the anchoring when a user starts scrolling, and when they focus a cell or type it re-enables the anchoring. I rarely use notebooks but to me this seems like a setting that will see very low usage and is not worth the cost of an extra setting imo. Note that anchorToFocusedCell = auto doesn't work as expected currently, the setting only seems to do anything after I scroll: !
I can change the setting to be experimental to give more leniency to change/remove it, but the behaviors are very different, so we'd like to give users a way to both experiment and revert back in case we missed some case of bad behavior
I like the idea of using experimental and seeing how many users change it to see if it's worth a setting

Testing We don't normally use "false" and "true" as strings, so this looks wrong beside all my other settings: !
Change:
margin-bottom: 5px; } <del> .review-widget .body .comment-form .monaco-text-button { </del> <ins> .review-widget .body .form-actions .monaco-text-button { </ins> float: right; }

Discussion:
<img width="628" alt="image" src="https://user-"I often by accident click on the wrong button when adding a comment, imho this action is way too prominent there because it seems like the primary button to add the comment. //cc also because both buttons have the same color <img width="306" alt="image" src="https://user-"
The "Go to Review" button was to address confusion on how to complete a review: We could add some convention where the left-most button gets more prominent styling. what do you think?
Catching up after a week off.. I believe we should follow the same patterns used for dialogs and notifications where a single primary button is used alongside one or more secondary buttons. From what I understand, our the order the buttons in a dialog depends on the OS. Windows gets left-aligned primary buttons, vice versa for macOS. In this case, since the buttons are always right-aligned to the comment input on any platform, I think the primary button should be on the far right to align with the edge of the container. This looks to already be the case elsewhere in the extension: <img width="423" alt="CleanShot 2022-04-18 at 09 09 03 src="https://user-"
Thanks I want to update the style of this button to be a primary button, but there may be extensions that flip the order of importance for their buttons. I'll poll some other folks and see if it seems ok.
Verified. I assume that Go to Review button is renamed to Start Review !
The Start Review button is a Go to Review button once you have already started a review. But since you verified the button colors this is still verified.
Change:
decoration.onRender(target => { this._applyStyles(target); target.classList.add(DecorationSelector.DefaultColor); <del> target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationCommandIconDefault)}`); </del> <ins> target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationIcon)}`); </ins> }); this._placeholderDecoration = decoration; return decoration;

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:
if (!this._editor.hasModel()) { return; } <del> const newRenderMode = e.altKey && e.ctrlKey ? altMode : defaultMode; </del> <ins> const newRenderMode = e.altKey && e.ctrlKey && !(e.shiftKey || e.metaKey) ? altMode : defaultMode; </ins> if (newRenderMode !== this._activeRenderMode) { this._activeRenderMode = newRenderMode; const model = this._editor.getModel();

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?: 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: OS Version: Steps to Reproduce: Have setting or e.g. Ctrl - Option - Command - Shift (aka. Hyper-Key) Expected: The inlay hints don't show or hide because the shortcut is configured to work for modifiers - only and gets ignored when any other modifier is pressed. Experienced: The inlay hints show or hide even if other modifiers are pressed at the same time. Note I tested with VS Code Insiders but inlay hints did not show at all when using it.
Honest question: How this supposed to work? When pressing the ctrl-option subsequence for how long should we wait to await more keys? Or do you specifically mean the sequence (1) ctrl, (2) options, (3) command, 4(shift)?
In my (naive) thought (naive because I have absolutely no idea how the VS Code key handling works), there was no awaiting for more keys involved. I thought that adding a modifier to an existing combination gets detected/handled the same way as removing a modifier. Because this is something that currently works: Pressing shows the inlay hints, removing the so only pressing hides the inlay hints again regardless of how long it takes to remove this second modifier. What does not work is pressing (to enable) and adding another modifier to disable.
Yeah, that could actually work but it might mean that pressing (1) ctrl, (2) options, (3) shift will cause a short flicker because between (2) and (3) inlay hints will be active
Ok, that was actually quite easy https://user-
Very cool. Thanks for looking into and implementing it.
Change:
submenu: MenuId.EditorTabsBarShowTabsSubmenu, title: localize('tabBar', "Tab Bar"), group: '3_workbench_layout_move', <del> order: 10 </del> <ins> order: 10, when: InEditorZenModeContext.negate() </ins> }); // --- Show Editor Actions in Title Bar

Discussion:
Type: <bBug</b- Choose "View" -"Appearance" -"Tab bar" -"Single tab" Enter "Zen mode" You will see multiple tabs Right clicking the tab bar and selecting the options under "Tab Bar" have no effect You can get "un-stuck" here by: Exiting "Zen mode" Changing "Tab Bar" back to "Mutliple tabs" Enter "Zen mode" Right click the tab bar and select an option under "Tab Bar" VS Code version: Code 1.84.0 (Universal) (, 2023-11-01T11:30:19.406Z) OS version: Darwin arm64 22.1.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (23)</summaryExtensionVersion ------ Bookmarks13.4.2 vscode-tailwindcss0.10.3 vscode-eslint2.4.2 xml2.5.1 gitlens14.4.1 prettier-vscode10.1.0 godot-tools1.3.1 copilot1.134.0 copilot-chat0.8.0 vscode-pull-request-github0.76.0 gc-excelviewer4.2.58 vscode-drawio1.6.6 docomment1.0.0 rainbow-csv3.8.0 vscode-docker1.27.0 csharp2.9.20 vscode-dotnet-runtime2.0.0 mono-debug0.16.3 vsliveshare1.0.5892 vsliveshare-pack0.4.0 focus0.3.0 gdscript-toolkit-formatter1.2.3 code-spell-checker3.0.1 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.84.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Issue persists in 1.84.1
We have a separate setting for the tab bar in zen mode (). This is why when switching into zen mode you suddenly have multiple tabs. However, the "Tab Bar" menus should adapt to the zen mode settings when in that mode.

Thank you So the bug is that the menu options does not set when in zen mode?
Exactly, I'll fix that.
I had a closer look and realized that even if we make these submenus change the showTabs setting of the zen mode, they won't update right away in the UI. This is because zen mode setting changes only apply the next time you activate zen mode again. For the meantime I will hide the "Tab Bar" submenu when the user is in zen mode as it only leads to confusion.
! still seeing the "tab bar" submenu when I enter zen mode
You are right, Fix it in
<!-- 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
verification steps: Zen Mode to that the submenu is not visible