jiebi/CodeConvo huggingface dataset:
Change:
this._register(this.sourceDisposables = new DisposableStore()); <ins> MenuRegistry.appendMenuItem(MenuId.TimelineTitle, <ISubmenuItem>{ submenu: this.timelineFilterSubMenu, title: localize('filterTimeline', "Filter Timeline..."), group: 'navigation', order: 100, icon: timelineFilter }); </ins> this._register(registerAction2(class extends Action2 { constructor() { super({

Discussion:
Capturing feedback from from today's UX call: the "..." can make it hard to discover multiple timeline sources. Idea would be to show a prominent filter icon with a dropdown like we do in problems or extensions view ! ! ! //cc
Here's an idea using the explicit filter action rather than the "..." menu. this may overlap with your freeform text filtering work. Not sure how the two might coexist yet. https://user-
Yes I like this. The goal imho should be to have a consistent UI language for when we filter a view. I am sure we have more locations throughout our UI that we should make sure are all aligned then
For the icon, I think using the regular filter icon would work as we use that in other places. Though we do tend to use this as a filter option with an active state, not sure if that would apply here: <img width="207" alt="CleanShot 2022-03-16 at 17 12 31 src="https://user-"<img width="341" alt="CleanShot 2022-03-16 at 17 12 51 src="https://user-"
This was easy enough and I think should be done before we ship local history so that folks can get rid of the local entries easily if annoying: !
Verification: you can change the visible timeline providers via the filter icon in the timeline view toolbar.
Looks great! and I were talking offline about how to indicate that the list is filtered since he's working on filtering across the product. One option could be having the filter icon button in a sort of "active" state if the list had 1+ items unchecked. <img width="321" alt="CleanShot 2022-03-17 at 10 09 17 src="https://user-"It could also be filled instead: <img width="330" alt="CleanShot 2022-03-17 at 10 07 29 src="https://user-"This would attempt to be consistent with other filtered areas like the Problems view.

It's slightly different given that it's an input, but leaving here for any further discussion: <img width="469" alt="CleanShot 2022-03-17 at 10 06 15 src="https://user-"
If we do this, I would want it in a way that it is the least "in my face" as possible because I expect a lot of users to disable the local history entries, at least as long as we didn't implement the grouping. Maybe we can have a minimal overlay over the icon to indicate activeness?
It might make more sense to have a two distinct icons for this like we do for pinned/unpinned. Forcing an icon button state to indicate a filter is applied feels fine in the context of the rich text inputs as pictured above. It doesn't feel quite right as I look at it in the context of a view actions toolbar. Created new issue for this here:
Yeah another icon is fine for me, not sure I am a big fan of a permanent background though. For example the notification bell icon indicates that there are notifications in the center with a little overlay.
Yeah, that's basically what I had in mind too
Change:
this.input1View.updateOptions(inputOptions); this.input2View.updateOptions(inputOptions); <del> this.baseViewOptions.set(this.input2View.editor.getRawOptions(), undefined); </del> <ins> this.baseViewOptions.set({ ...this.input2View.editor.getRawOptions() }, undefined); </ins> this.inputResultView.updateOptions(options); }

Discussion:
Does this issue occur when all extensions are disabled?: Yes Word wrap doesn't affect the text of the base in the merge editor, regardless of whether the base is displayed in the center or at the top. Steps to reproduce: a branch with a conflict the merge editor word wrap Base in the center ! Base at the top ! Version: 1.76.0-insider (system setup) Commit: Date: 2023-02-09T05:23:28.458Z OS: Windows_NT x64 10.0. Sandboxed: Yes
I'll pick this up
Change:
} } <del> export class UpdateContribution implements IWorkbenchContribution { getId() { return 'vs.update'; } </del> <ins> class CommandAction extends Action { </ins> constructor( <del> @IInstantiationService instantiationService: IInstantiationService, @IMessageService messageService: IMessageService, @IUpdateService updateService: IUpdateService </del> <ins> commandId: string, label: string, @ICommandService private commandService: ICommandService </ins> ) { <del> updateService.onUpdateReady(update => { const applyUpdateAction = instantiationService.createInstance(ApplyUpdateAction); const releaseNotesAction = instantiationService.createInstance(ShowReleaseNotesAction, false, update.version); messageService.show(severity.Info, { message: nls.localize('updateAvailable', "{0} will be updated after it restarts.", product.nameLong), actions: [applyUpdateAction, NotNowAction, releaseNotesAction] }); }); updateService.onUpdateAvailable(update => { const downloadAction = instantiationService.createInstance(DownloadAction, update.version); const releaseNotesAction = instantiationService.createInstance(ShowReleaseNotesAction, false, update.version); messageService.show(severity.Info, { message: nls.localize('thereIsUpdateAvailable', "There is an available update."), actions: [downloadAction, NotNowAction, releaseNotesAction] }); }); updateService.onUpdateNotAvailable(explicit => { if (!explicit) { return; } messageService.show(severity.Info, nls.localize('noUpdatesAvailable', "There are no updates currently available.")); }); updateService.onError(err => messageService.show(severity.Error, err)); </del> <ins> super(`command-action:${commandId}`, label, undefined, true, () => commandService.executeCommand(commandId)); </ins> } } <del> export class LightUpdateContribution implements IGlobalActivity { </del> <ins> export class UpdateContribution implements IGlobalActivity { </ins> private static readonly showCommandsId = 'workbench.action.showCommands'; private static readonly openSettingsId = 'workbench.action.openGlobalSettings';

Discussion:
We should push the update UI we were running on insiders to stable. Since the new update notification UI is less invasive, there is the concern that users might forget to update and ignore the notification. Therefore we should add an update reminder, when a user did not update after a period of time. The proposal is to show the existing Update Available message box, when the user did not update after 5 days since the notification has appeared.
Will be fixed by
Fixed.
Change:
// <del> const { fontSize, fontFamily, padding } = this._getLayoutInfo(); </del> <ins> const { fontSize, fontFamily, padding, isUniform } = this._getLayoutInfo(); </ins> const fontFamilyVar = '--code-editorInlayHintsFontFamily'; this._editor.getContainerDomNode().style.setProperty(fontFamilyVar, fontFamily);

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.68.1 OS Version: WindowsNT x64 10.0. Steps to Reproduce: Inlay Hints to use 100% of the editor's font size. any extension that provides inlay hints, open a file with inlay hints. a. (I tested this with a very basic TypeScript file, with the TypeScript extension's inlay hints enabled) that the hints are an entire 1px lower than they should be. (Aaa!! Terrifying!) ! Line 496 adds a rule to inlay hints: Disabling the resulting style in the inspector temporarily fixes the problem, aligning the baseline of the inlay hints with the baseline of the surrounding code. ! I've already made (and partially tested) , and I'm making this ticket in order to link it to my pull request. <!-- is this how you do things? --<!-- oops! hash changed because i changed the wording --
Change:
let cls = 'more'; show = typeof show === 'undefined' ? !dom.hasClass(this.queryDetails, cls) : Boolean(show); <ins> this.viewletSettings['query.queryDetailsExpanded'] = show; </ins> skipLayout = Boolean(skipLayout); if (show) {

Discussion:
I find myself expanding this option nearly every time I use VSCode, would it be possible to have a setting that allows the search details to be open by default? !
It could be persisted as open, same as the button states are persisted.
Change:
return Promise.resolve(); } <del> const position = args.range ? new Range(args.range.startLineNumber, args.range.startLineNumber, args.range.endLineNumber, args.range.endColumn) : (args.fileComment ? undefined : activeEditor.getSelection()); </del> <ins> const position = args?.range ? new Range(args.range.startLineNumber, args.range.startLineNumber, args.range.endLineNumber, args.range.endColumn) : (args?.fileComment ? undefined : activeEditor.getSelection()); </ins> return controller.addOrToggleCommentAtLine(position, undefined); } });

Discussion:
Type: <bBug</bSteps to reproduce: the comment-sample demo extension adding a comment by invoking ("Add Comment on Current Selection") from Command Palette (or programmatically, it behaves the same) Expected behavior: a new comment thread is created and a new comment can be edited; Actual behavior: Error is thrown: "Cannot read properties of undefined (reading 'range')"; As far as I know, this used to work 2-3 weeks ago in the Insiders builds. ! VS Code version: Code - Insiders 1.78.0-insider (, 2023-04-07T05:20:50.322Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes Remote OS version: Linux x64 4.18.0-372.19.1.el86.x8664 Remote OS version: Linux x64 4.18.0-372.19.1.el86.x8664 Remote OS version: Linux x64 4.18.0-372.19.1.el86.x8664 Remote OS version: Linux x64 4.18.0-372.19.1.el86.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (1)</summaryExtensionVersion ------ remote-ssh0.98.0 </details<!-- generated by issue reporter --
Change:
} else { formatSettings.contentUnformatted = 'script'; } <del> if (formatParams.insertFinalNewline) { formatSettings.endWithNewline = true; } </del> merge(formatParams, formatSettings); return htmlLanguageService.format(document, range, formatSettings); },

Discussion:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.77.0 OS Version: Windows 10 Enterprise 21H2 .2728 Steps to Reproduce: to a HTML file with a -block with some CSS rules a new line getting to the end of the file (correct) and to the end of the -block before the closing tag (issue!)
I can not reproduce ! The option dos only impact the last new line. The new line inserted before comes from the setting Can you provide an example. Make sure you are using the built-in HTML formatter.
You have to use a -block. It will not happen with any other HTML-Element.
Change:
if (pick) { const languageId = this.languageService.getLanguageIdByLanguageName(pick.label); if (typeof languageId === 'string') { <del> return this.preferencesService.openUserSettings({ jsonEditor: true, revealSetting: { key: `[${languageId}]`, edit: true } }); </del> <ins> return this.preferencesService.openLanguageSpecificSettings(languageId); </ins> } } return undefined;

Discussion:
Steps to Reproduce: command a language Settings file is opened. Settings Editor with language filter shall be opened given that the editor supports it.
Change:
name: localize('status.editor.screenReaderMode', "Screen Reader Mode"), text, ariaLabel: text, <ins> command: 'showEditorScreenReaderNotification', </ins> kind: 'prominent' }, 'status.editor.screenReaderMode', StatusbarAlignment.RIGHT, 100.6); }

Discussion:
Type: <bBug</bRestarted Insiders for an update and Screen Reader mode is suddenly on, including audio cues while typing. I have no idea how to disable it, as the status bar icon is clickable (changes color), but doesn't do anything. (Edit: I eventually found command, but I don't see any logs that I used that command before) cc who recommended as assignee. ! VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-24T05:35:10.309Z) OS version: Darwin x64 23.0.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
not aware of any changes on your end, so i'm just reverting the only relevant PR
Just launched a fresh Insiders and got this notification: ! I do see it detecting a11y for me in telemetry events …` Version: , 2023-10-25T05:37:06.169Z (9 hrs ago)
Indeed then, it seems an issue with detection , not sure why this would be showing otherwise as nothing's changed on my side.
Or something you're running
No changes have been made in the runtime with respect to a11y detection, on macOS the runtime can enter a11y mode in the following 2 scenarios, 1) Setting attribute on the application which is usually done by screen readers (VoiceOver) 2) Setting attribute on the applications which is usually done by third party window managers are you using any custom window tiling managers ? List under can give a hint
I do run window managers, yes. So, I guess I'll close this for now as it might have been an update, like Bartender 5.
Change:
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IAsyncDataTreeViewState } from 'vs/base/browser/ui/tree/asyncDataTree'; import { FuzzyScore } from 'vs/base/common/filters'; <ins> import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; </ins> export class ExplorerView extends ViewletPanel { static readonly ID: string = 'workbench.explorer.fileView';

Discussion:
<!-- Use Help Report Issue to prefill these. --- VSCode Version: Confirmed in 1.31 and the latest insider. Version: 1.32.0-insider Commit: Version: 1.31.0 (system setup) Commit: OS Version:Windows_NT x64 10.0. Steps to Reproduce: an arbitrary folder in vscode (call it vscode 1) a new vscode window (call it vscode 2) and open another arbitrary folder. a file in vscode 1. +C or select copy from the right-click menu of the file in vscode 1. to paste the file in vscode 2 with Ctrl+V doesn't work. The "paste" menu item in the right-click menu is also grayed out. This used to work in 1.30.2. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Even dragging the files instead of and it will only move files, not folders. Open all the directories (which is a nice new feature). Drag over to the 2nd windows workspace, and all you'll get is files, not folders. OS Version: 4.20.5-arch1-1-ARCH
PR:
Change:
} } <ins> public override getDescription(): string | undefined { return this._terminalInstance?.shellLaunchConfig.description; } </ins> public override toUntyped(): IUntypedEditorInput { return { resource: this.resource,

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.59.0 OS Version: Arch Linux Steps to Reproduce: two or more terminals in the panel. one or more terminals into the editor area. ! to rename either an unfocused editor area terminal, or if only one terminal remains in the panel, the panel terminal by right clicking when the editor area has had last focus. ! ! ! name of the most recently focused editor terminal (even if none is presently selected) changes, rather than the right-clicked terminal (whether an unfocused editor area terminal or the unfocused panel terminal). ! Expected behaviour: The name of the terminal selected on right click will be changed.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.56 --- <!-- score: 0.536 --- <!-- score: 0.526 --- <!-- score: 0.523 --- <!-- score: 0.514 --<!-- potentialduplicatescomment --
Same applies to color and icon
It's still the case that the active editor terminal, rather than the one that was right-clicked on, is the one that the changes get applied to.
Change:
isAfterOrEqual(other: Position): boolean; /** <del> * Check if `other` equals this position. </del> <ins> * Check if this position is equal to `other`. </ins> * * @param other A position. * @return `true` if the line and character of the given position are equal to

Discussion:
In , the comparison functions , , , and have misleading descriptions. For example, says "Check if is before this position." I think it would be more clear to say something like "Check if this position is before ", as that is when is returned. Likewise for the other three.
Change:
if (uri !== undefined) { // Launch desktop client if currently in web <ins> let target = `${env.uriScheme}://vscode.git/clone?url=${encodeURIComponent(uri)}`; </ins> if (env.uiKind === UIKind.Web) { <del> let target = `${env.uriScheme}://vscode.git/clone?url=${encodeURIComponent(uri)}`; </del> if (ref !== undefined) { target += `&ref=${encodeURIComponent(ref)}`; } return Uri.parse(target); } <del> // If already in desktop client, directly clone </del> <ins> // If already in desktop client but in a remote window, we need to force a new window // so that the git extension can access the local filesystem for cloning if (env.remoteName !== undefined) { target += `&windowId=_blank`; return Uri.parse(target); } // Otherwise, directly clone </ins> void this.clone(uri, undefined, { ref: ref }); } }

Discussion:
In virtual workspaces, the file dialog has a button. There's no such dialog in remote windows--the file dialog always shows the remote filesystem. This is an issue for continuing from a GitHub codespace to a local desktop clone when the user is in VS Code desktop. Suggestion: when in a virtual or remote window on desktop, always have the 'Show Local' option in the file dialog.
Oh interesting--there is a Show Local in the Open Folder flow, but not when the git extension invokes the file dialog: <img width="671" alt="image" src="https://user-"
I see this was an intentional decision for extension access to the simple file dialog in a remote window in for However that makes it hard to go from a remote window to a local one from extension land. Is this something that we can expose to extensions via a new proposed api option for the file dialog?
Duplicate of , which is an API request to expose "show local".
Reopening this to track adoption of in the Continue On flow.
Steps: Open a codespace in VS Code desktop From the remote indicator, choose Continue in Local Clone Ensure that the repo gets cloned successfully to your local machine
Change:
private onDidChangeOperations(): void { const isCommitInProgress = <del> this.repository.operations.isRunning(Operation.Commit); </del> <ins> this.repository.operations.isRunning(Operation.Commit) || this.repository.operations.isRunning(Operation.RebaseContinue); </ins> const isSyncInProgress = this.repository.operations.isRunning(Operation.Sync) ||

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:
return !!this.debuggerContribution.initialConfigurations; } <ins> hasDynamicConfigurationProviders(): boolean { return this.debugService.getConfigurationManager().hasDebugConfigurationProvider(this.type, DebugConfigurationProviderTriggerKind.Dynamic); } </ins> hasConfigurationProvider(): boolean { return this.debugService.getConfigurationManager().hasDebugConfigurationProvider(this.type); }

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. --Automatic (dynamic) debug providers are only displayed when there is an active file. If a user tries to Run and Debug without an active file, the dynamic debug providers are not shown. This feature request is looking to enhance the hueristic used to determine when to show the automatic debug configuration providers. Hueristic proposals: Look at the open folder file types and enable dynamic providers for those file / languages. Combine an activation event and a dynamic configuration provider. I'm also open to other heurestics other folks might have in mind.
fyi for ideas
Hot take: the same problems we think we're trying to solve already exist for non-dynamic debuggers. NodeJS shows up for me when I'm in a .NET app today, so it's already not 'smart' in that sense, and I just feel that showing dynamic providers could map to the same model.
Two questions from this: we using dynamic configuration providers correctly? We are using dynamic configurations just so we don't have to write these configurations to we are not, is there a way to make initial configuration providers use the machine storage instead of . E.g.
yes - that is a correct hot take! We have this heuristic to determine what debugger to use, and we use that heuristic whenever there is NO file. Thus we use it to decide what dynamic configuration provider to use, what debug extension to ask to try to launch without a etc... No, there is not way to make initial configuration provider use the machine storage instead of What I tried to say in my initial comment, is that we have to improve the general heuristic for auto-picking a debugger. However since this is a problem that we have for all languages since day 1 of vscode I suggest that we wait for to chime in. He is currently focused on Copilot Chat work so it might take a bit of time. Thanks for understanding.
I don't think that's true, isn't this a dynamic debug config provider? <img width="1271" alt="image" src=""Maybe you aren't activating your extension on ?
C# Dev Kit has it in its !

This is for the F5 (Run and Debug), not selecting the
I don't think the automatic config providers are shown in that case though? But here we will invoke your DA with no file open <img width="1177" alt="image" src=""
Thats the issue, we want F5 to show the dynamic provider instead of the initial configuraiton providers of .NET5+ and .NET Core since those will be hidden if C# Dev Kit is installed. We dont use initial configuration providers because we want the configurations to be saved in the machine memory.
A couple somewhat related issues