jiebi/CodeConvo huggingface dataset:
Change:
import { SideBySideEditor } from 'vs/workbench/browser/parts/editor/sideBySideEditor'; import { TextDiffEditor } from 'vs/workbench/browser/parts/editor/textDiffEditor'; import { ActiveEditorCanSplitInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupLockedContext, ActiveEditorStickyContext, MultipleEditorGroupsContext, SideBySideEditorActiveContext, TextCompareEditorActiveContext } from 'vs/workbench/common/contextkeys'; <del> import { CloseDirection, EditorInputCapabilities, EditorsOrder, IEditorCommandsContext, IEditorIdentifier, IResourceDiffEditorInput, IUntitledTextResourceEditorInput, IVisibleEditorPane, isEditorIdentifier, isEditorInputWithOptionsAndGroup } from 'vs/workbench/common/editor'; </del> <ins> import { CloseDirection, EditorInputCapabilities, EditorsOrder, IEditorCommandsContext, IEditorIdentifier, IResourceDiffEditorInput, IUntitledTextResourceEditorInput, IVisibleEditorPane, isEditorCommandsContext, isEditorIdentifier, isEditorInputWithOptionsAndGroup } from 'vs/workbench/common/editor'; </ins> import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput'; import { EditorInput } from 'vs/workbench/common/editor/editorInput'; import { SideBySideEditorInput } from 'vs/workbench/common/editor/sideBySideEditorInput';

Discussion:
Type: <bBug</bThe following user task running on stopped working correctly after the update to 1.90. The first task (Open Git Graph) executes correctly, but the second (Pin Active Editor) doesn't do anything. The tab isn't pinned.

VS Code version: Code 1.90.0 (, 2024-06-04T19:34:44.157Z) OS version: Darwin x64 23.5.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (46)</summaryExtensionVersion ------ better-comments3.0.2 turbo-console-log2.10.4 npm-intellisense1.4.5 vscode-eslint2.4.4 dotfiles-syntax-highlighting0.1.0 antidote1.0.21 gitlens15.0.4 EditorConfig0.16.4 react-native-react-redux2.0.6 prettier-vscode10.4.0 code-runner0.12.2 codespaces1.16.22 vscode-github-actions0.26.3 vscode-pull-request-github0.88.1 vscode-graphql-syntax1.3.6 nix-ide0.3.1 svg1.5.3 md-footer1.0.2 vscode-go-to-mdn1.2.0 caddyfile-support0.4.0 template-string-converter0.6.1 git-graph1.30.0 dotenv1.0.1 debugpy2024.6.0 python2024.8.0 vscode-pylance2024.5.1 remote-ssh0.110.1 remote-ssh-edit0.86.0 remote-explorer0.4.3 color-highlight2.8.0 vscode-versionlens1.13.0 ansible24.5.2 vscode-yaml1.14.0 vscode-fileutils3.10.3 vscode-styled-components1.7.8 even-better-toml0.19.2 d20.8.8 lorem-ipsum1.3.1 ulss1.0.2 vscode-mdx1.8.8 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-icons12.8.0 vscode-import-cost3.3.0 markdown-all-in-one3.6.2 material-theme3.17.2 (2 theme extensions excluded) </details<!-- generated by issue reporter --
Same here. I have the same script and it is not working anymore on linux ubuntu In Windows 11 it still works apparently (when Vscode does not opens as SSH, but directly in windows instead)
Change:
} async runInView(accessor: ServicesAccessor, view: ChatViewPane) { <ins> announceChatCleared(accessor); </ins> await view.clear(); } }; } <ins> function announceChatCleared(accessor: ServicesAccessor): void { if (accessor.get(IAccessibilityService).isScreenReaderOptimized()) { alert(localize('chatCleared', "Cleared")); } } </ins>

Discussion:
Reported by Use or as a SR user. there's no indication that that has succeeded. We could alert with info or use an audio cue
I don't see the chat clear history action in core, so we'd need to do this in the extension. There's a clear input history, though I don't think we want to alert for that case.
Actually, found it
Change:
export interface IAuxiliaryWindow extends IDisposable { readonly onDidLayout: Event<Dimension>; <del> readonly onDidClose: Event<void>; </del> <ins> readonly onWillClose: Event<void>; </ins> readonly window: CodeWindow; readonly container: HTMLElement;

Discussion:
Testing It would be great if we can have a command to bring back those editors to the main window.
I think that should actually be the default behaviour when you just close the window. That will prevent ugly confirmation dialogs for dirty editors when you attempt to close the floating window.
Verification: open a floating window with some editors (e.g. by dragging an editor tab out of the window) close the floating window, e.g. from the X window button verify all editors of the floating window are moved back to the main window
Change:
cursorWidth, disableLayerHinting, disableMonospaceOptimizations, <ins> domReadOnly, </ins> dragAndDrop, emptySelectionClipboard, extraEditorClassName,

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. --- VS Code Version: OS Version: Steps to Reproduce: a browser version vscode a editor with readonly mode extension who use the API would be invalid This issue won't be occured on desktop version. Follow code show more details: the attribute is used to disable keyboard popping in mobile devices, but it break the event too. Change the to may be better <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --
Can you please give an example of how behaves differently? I am not 100% convinced that there is a bug here. I would expect that is never called, not in desktop and also not in web.
There is a way that are relatively easy to reproduce this bug, when someone use GitHub CodeSpaces (because the bug only occured in browser version): the extension and the Extension. (the extension require the API for basic cursor motion, and the GitLens extension will provide can readonly mode editor) any file which has at least two commit, click in the editor menu title. ! we will get a readonly editor, but extension can not move cursor by pressing key here. The readonly attribute was in this commit: As the message describe, it used to disable keyboard popping up on mobile devices, and there is no condition at the earliest time. and then add the condition at this commit by you , I guess that's the readonly attribute cause some bug at desktop version at that time? Another thing, I think when we need consider the mobile devices, I think change the to may be better, but there is not a option named in , so I just change it to at .
To verify, install vim in the browser and use it in a readonly editor (e.g. left side of a diff editor).
Change:
export class CharacterPairSupport { <del> static readonly DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED = ';:.,=}])> nt'; </del> <ins> static readonly DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES = ';:.,=}])> nt'; static readonly DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS = ''"`;:.,=}])> nt'; </ins> static readonly DEFAULT_AUTOCLOSE_BEFORE_WHITESPACE = ' nt'; private readonly _autoClosingPairs: StandardAutoClosingPairConditional[]; private readonly _surroundingPairs: IAutoClosingPair[]; <del> private readonly _autoCloseBefore: string; </del> <ins> private readonly _autoCloseBeforeForQuotes: string; private readonly _autoCloseBeforeForBrackets: string; </ins> constructor(config: LanguageConfiguration) { if (config.autoClosingPairs) {

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Can the addition of the closing curly brace be whenever the opening curly brace is automatically initiated in an f-string in python? currently this doesn't happen and i need to add the closing curly brace when done - this feature would be useful --
Please add more details, e.g. a code sample.
apologies - I actually had but for some reason the main body of text wasn't posted. please see a below a code example - thank you. This is the current way in which the curly brace is interpreted in an f string. As you can see when you enter the opening curly brace, the closing one is not automatically inserted and i have to enter it manually.. it would be incredibly useful if the closing brace was automatically (in the same way automatic closing of brackets and braces is achieved outside of the print statement in the editor) to achieve something like: having said this - this is a trivial feature request, but i find myself using this a lot
is defined as bracket pair, also for when in strings, so I believe it should work.
Thank you for the reply! Hmm this doesn't for me unfortunately, is there a setting that needs to be activated?
does autoclose in strings in general e.g. https://user- But not at the position before the closing e.g. https://user- Relevant code:
ha! thank you, this is really interesting - i can confirm that it works when entering before the closing - funny because i have only ever really required the the braces before the closing comma (because this then creates a whitespace between the statement and the answer which is intended for visual purposes will this be treated as a bug to fix? again this obviously isn't critical. happy to close. thanks
This cannot be fixed at the moment. The behaviour is controlled by the autoCloseBefore property in the language configuration file, but quotes are not appropriate for that property. JavaScript and TypeScript make an exception for backticks.
Change:
background: var(--vscode-editorGutter-commentRangeForeground); } <del> .monaco-editor .comment-thread-range, .monaco-editor .comment-thread-range-current { border-width: 1px; border-style: solid; box-sizing: border-box; } </del> .monaco-editor .comment-thread-range { background-color: var(--vscode-editorCommentsWidget-rangeBackground); <del> border-color: var(--vscode-editorCommentsWidget-rangeBorder); </del> } .monaco-editor .comment-thread-range-current { background-color: var(--vscode-editorCommentsWidget-rangeActiveBackground); <del> border-color: var(--vscode-editorCommentsWidget-rangeActiveBorder); </del> } .monaco-editor .margin-view-overlays .comment-range-glyph.line-hover,

Discussion:
I think a full range decoration would look nicer here: ! You can also use :
Last time I looked at this I didn't know about . With , I like this much more.
I this last milestone!
Is there any way to make the border only go around the outside of the selected area? Here's an example with the border as it currently is:
Unfortunately not, and it would be very complex to do that. I would just not use a border.
Change:
} runEditorCommand(_accessor: ServicesAccessor, editor: ICodeEditor) { <del> const stickyScrollController = StickyScrollController.get(editor); if (stickyScrollController) { stickyScrollController.focusNext(); } </del> <ins> StickyScrollController.get(editor)?.focusNext(); </ins> } }

Discussion:
Testing around an open file in the editor with Stick Scroll enabled. Sticky Scroll Try to move focus out of Sticky Scroll. Tried pressing . Tried running "Focus Sticky Scroll" command a second time. Only way to get focus back to the editor is to select a level and press . I think should put you back into the editor
Change:
}; } <del> export function createConfigureKeybindingAction(commandId: string, when: ContextKeyExpression | undefined = undefined, commandService: ICommandService, keybindingService: IKeybindingService): IAction { </del> <ins> export function createConfigureKeybindingAction(commandService: ICommandService, keybindingService: IKeybindingService, commandId: string, when: ContextKeyExpression | undefined = undefined, enabled = true): IAction { </ins> return toAction({ id: `configureKeybinding/${commandId}`, label: localize('configure keybinding', "Configure Keybinding"), <ins> enabled, </ins> run() { // Only set the when clause when there is no keybinding // It is possible that the action and the keybinding have different when clauses

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: 1.90.2 OS Version: Windows 23H2 Steps to Reproduce: sure you have multiple repos click on the commit id/branch of one repro, then select "Configure Keybinding" 't find the command !
as each of these commands is distinct, what would be the right approach to enable this functionality?
We are unable to support the action for status bar actions. Let me disable it.
Looks disabled now !
I think we should completely remove the action as that will never work as far as I understood.
I think it's fine to align with the hide action and disable the action when it's not supported. Each action in that toolbar has the hide and key binding action, so I think it makes more sense to disable these actions when they are not supported compared to just not showing them for some actions
Change:
label: localize('welcomeOverlay.commandPalette', "Find and run all commands"), command: ShowAllCommandsAction.ID }, <ins> { id: 'notifications', arrow: '&cudarrr;', arrowLast: true, label: localize('welcomeOverlay.notifications', "Show notifications"), command: 'notifications.showList' } </ins> ]; const OVERLAY_VISIBLE = new RawContextKey<boolean>('interfaceOverviewVisible', false);

Discussion:
On this one: ! Could put another arrow bottom right to point to notifications location.
PR via
Great, thanks!
Change:
return; } <ins> const selectionsBeforeRevert = textEditor.selections; const visibleRangesBeforeRevert = textEditor.visibleRanges; </ins> const result = applyLineChanges(originalDocument, modifiedDocument, changes); const edit = new WorkspaceEdit(); edit.replace(modifiedUri, new Range(new Position(0, 0), modifiedDocument.lineAt(modifiedDocument.lineCount - 1).range.end), result); workspace.applyEdit(edit); <ins> textEditor.selections = selectionsBeforeRevert; textEditor.revealRange(visibleRangesBeforeRevert[0]); </ins> await modifiedDocument.save(); }

Discussion:
Have file with just one change Click git decoration to bring up inline diff Revert change Editor scrolls to the very end
~Hello I am not able to repro the issue.. Let me know if I am missing something.~ Sorry my bad.. Able to repro.. Will work on it..
I looked in the code where we revert the changes But looks like the issue is with the inline diff. When I revert one it navigates to show the next diff and eventually reaches the end of file if there is only one change.. Can you guide me with the code pointer where the inline diff module is located. I am not able to find it.
According to my findings, this is reproducible in Code Insiders only. Probably due to a recent change. Can you confirm this ?
Yes its reproducible in master.
the param is always as per my investigation. Please verify.
I think my first finding was wrong. If there are multiple changes in a file, the cursor position is set to the end of the file when the revert happens for the first time..
these are my findings while running Code-OSS ( debugging the latest master ) - 2 changes ( a few lines apart ). the 1st one ( inline diff view ) -the cursor moves to the end and then jumps the Inline diff view for the 2nd change. the 2nd change -the cursor moves to the end and stays there.
yeah.. The first revert causes the cursor to go down.. The second revert is optional.. Even if you close the second inline diff, the cursor is staying down. !
I tried logging the edit object that we are applying in the The edit object contains the new contents (after revert).. So my guess is, the editor rewrites the new file contents from top to bottom which leaves the cursor at the end.
Are we going in the right direction ?
Sounds good. It will be tough to fix... maybe the fix should go in the Git extension, which is the one causing the model change. Maybe record the position before and reset it after the change?
yeah that was the idea I had in my mind.. But couldn't find the interface to set the cursor position. Can you give some pointers there ?
That would be here:
Great. thanks..
Change:
} } <del> return await this.updateWatchers(); </del> <ins> return await this.updateWatchers(false /* not delayed */); </ins> } finally { this.joinWatch.complete(); } } <del> private updateWatchers(): Promise<void> { return this.doWatch([ </del> <ins> private updateWatchers(delayed: boolean): Promise<void> { return this.updateWatchersDelayer.trigger(() => this.doWatch([ </ins> ...this.allNonCorrelatedWatchRequests, ...Array.from(this.allCorrelatedWatchRequests.values()).filter(request => !this.suspendedWatchRequests.has(request.correlationId)) <del> ]); </del> <ins> ]), delayed ? this.getUpdateWatchersDelay() : 0); } protected getUpdateWatchersDelay(): number { return 800; </ins> } isSuspended(request: IUniversalWatchRequest): 'polling' | boolean {

Discussion:
With TS 5.5 we are seeing a lot more requests to watch paths such as which in the end makes the file watcher consume 100% CPU for at least a minute on my machine. Need to understand why this is so slow on startup, probably some complexity somewhere trying to handle these requests.
Change:
<key>2</key> <dict> <key>name</key> <del> <string>entity.name.function</string> </del> <ins> <string>storage.modifier.scope.powershell</string> </dict> <key>3</key> <dict> <key>name</key> <string>entity.name.function.powershell</string> </ins> </dict> </dict> <key>end</key>

Discussion:
Support rendering text decorations in the minimap, beginning with search results. We can add a new option to decorations, similar to in : The new optional property could look like: The find widget can then set this property for its decorations, and the minimap can read the decorations from its text model.
Change:
import { IExtensionsViewPaneContainer, VIEWLET_ID as EXTENSIONS_VIEWLET_ID } from 'vs/workbench/contrib/extensions/common/extensions'; import { ViewContainerLocation } from 'vs/workbench/common/views'; import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement'; <ins> import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress'; import { localize } from 'vs/nls'; </ins> export class NativeLocaleService implements ILocaleService { _serviceBrand: undefined;

Discussion:
Testing Things I would change: make it clear in the picker that selecting a language from the lower list will install it have a button in the picker that installs and syncs it. don't reveal the extension viewlet don't show that dialog <img width="444" alt="capture" src="https://user-"
is there a way to not show this dialog when installing an extension using the Extension management service? Here's the specific line:
How would you make this clearer? I figured since we had a section called that will always be there on Desktop it's implied that must not be installed. What will the default behavior be then when you accept a quick pick item? That it will install but not sync? That's not what the default is for the button in the extension pane so that seems a bit odd to me. This was to give a progress indication. We do the same thing for the Theme picker. I would like to hide this dialog. I didn't see it locally because Settings Sync isn't available in but I asked Sandeep above.
Yes, you can pass machine scoped flag to avoid this. Passing for this flag will not sync the extension and will sync it.
I thought the main reason for the dialog was to inform the user that something is installed. I can easily live with only the picker Since the dialog offered the option, I thought it is important. I can live with the default without a choice. I found it disturbing. I could live without progress or some window progress.
Change:
for (let i = 0; i < this._diffElementViewModels.length; i++) { const element = this._diffElementViewModels[i]; <del> const cellHeight = (element.layoutInfo.totalHeight / scrollHeight) * ratio * height; </del> <ins> const cellHeight = Math.round((element.layoutInfo.totalHeight / scrollHeight) * ratio * height); </ins> switch (element.type) { case 'insert':

Discussion:
Testing Notice the white horizontal lines inside the diff decorations. This looks like bad rendering In the editor diff this does not happen. ! !
Fixed via We should be using instead of .
Change:
"firstLineMatch": "(?x)n# Hashbangn^#!.*(?:s|/)n  coffeen(?:$|s)n|n# Modelinen(?i:n  # Emacsn  -*-(?:s*(?=[^:;s]+s*-*-)|(?:.*?[;s]|(?<=-*-))modes*:s*)n    coffeen  (?=[s;]|(?<![-*])-*-).*?-*-n  |n  # Vimn  (?:(?:s|^)vi(?:m[<=>]?d+|m)?|sex)(?=:(?=s*set?s[^n:]+:)|:(?!s*set?s))(?:(?:s|s*:s*)w*(?:s*=(?:[^ns]|.)*)?)*[s:](?:filetype|ft|syntax)s*=n    coffeen  (?=s|:|$)n)", "patterns": [ { <ins> "match": "(new)s+(?:(?:(class)s+(w+(?:.w*)*)?)|(w+(?:.w*)*))", "name": "meta.class.instance.constructor.coffee", </ins> "captures": { "1": { "name": "keyword.operator.new.coffee" }, <del> "4": { </del> <ins> "2": { </ins> "name": "storage.type.class.coffee" }, <del> "6": { </del> <ins> "3": { </ins> "name": "entity.name.type.instance.coffee" }, <del> "7": { </del> <ins> "4": { </ins> "name": "entity.name.type.instance.coffee" } <del> }, "match": "(new)s+(((class)(s+(w+(?:.w*)*))?)|(w+(?:.w*)*))", "name": "meta.class.instance.constructor" </del> <ins> } </ins> }, { "begin": "'''",

Discussion:
VSCode Version: Code 1.17.2 (, 2017-10-16T13:59:48.528Z) OS Version: Windows_NT ia32 10.0. Extensions: ExtensionVersion ------ vscode-caniuse0.5.3 Bookmarks0.17.0 project-manager0.22.0 vscode-custom-css2.5.0 markdown-preview-github-styles0.1.0 npm-intellisense1.3.0 path-intellisense1.4.2 gitignore0.5.0 vscode-eslint1.4.0 vscode-coffeescript-snippets0.0.2 gitlens5.7.1 EditorConfig0.11.1 vscode-nginx-conf-hint0.0.4 beautify1.1.1 docthis0.5.0 svgpreview0.2.0 coffeelinter1.1.0 vscode-less0.6.3 debugger-for-chrome3.4.0 live-server-preview0.0.4 material-icon-theme2.2.3 vscode-paste-and-indent0.0.8 code-settings-sync2.8.3 vscode-nginx0.4.1 stylelint0.30.0 open-in-browser1.1.0 code-navigation0.2.0 highlight-matching-tag0.4.4 JavaScriptSnippets1.5.0 markdown-all-in-one0.11.0 When a class name contains "class" in its beginning, syntax hightlighting of it is broken. For example: ! Steps to Reproduce: /create a CoffeeScript file; a class name that have "class" in its name + any parameter. This way, "class*" will appear as if were the reserved word , but it isn't. Reproduces without extensions: Yes
In VS Code we use the syntaxes from Atom. Please create an issue . I've tested, in Atom is of course the same behaviour.
This issue was moved to atom/language-coffee-script