jiebi/CodeConvo huggingface dataset:
Change:
.monaco-workbench.reduce-motion .interactive-input-part .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::before, .monaco-workbench.reduce-motion .inline-chat .monaco-action-bar .action-label.codicon-loading.codicon-modifier-spin:not(.disabled)::before { content: "ead7"; <ins> font-family: 'codicon'; </ins> }

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.86.2 OS Version: Windows 10 / macOS Sonoma Steps to Reproduce: at least three windows the command least one of the windows will show a strange close icon, instead of the regular one, like the image below ! I reproduced the same error on Windows, and it also presented a strange icon, but it was a different one. A small vertical rectangle, like that missing unicode chars. I tested the on Insiders release, at least on MacOS, and didn't notice the error. I didn't have the opportunity to test in Insiders on Windows yet. I'll update the issue later with more details. Thank you
are you using a product icon extension?
Nevermind, a regression from , fyi
Hi , Glad to know you could find the fix. Let me know if you need me to verify it when released. Thank you
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
/verified
Change:
}); this._xterm.open(this._xtermElement); <del> this._process.on('message', (message) => { if (!this._xterm) { return; } if (message.type === 'data') { this._xterm.write(message.content); } }); </del> <ins> this._process.on('message', (message) => this._sendPtyDataToXterm(message)); </ins> this._xterm.on('data', (data) => { <del> this._process.send({ event: 'input', data: this._sanitizeInput(data) }); </del> <ins> if (this._process) { this._process.send({ event: 'input', data: this._sanitizeInput(data) }); } </ins> return false; }); this._xterm.attachCustomKeydownHandler((event: KeyboardEvent) => {

Discussion:
From
For January we decided to keep the task in the core. So there is no need to make this 'public' API now. May be it would be good to first experiment a little with the new API.
just to make sure, were you thinking of using a prompt (press any key to close) that can be reused? Or a terminal that executes something, the pty process dies and just sits there ("dead") until another task command is sent?
I would like to achieve the following: create a new terminal and allow terminal reuse (could be an additional option) without actually running a terminal right away (if necessary we could run it as well) run a command in the terminal. This will create the actual shell process. Usually the shell would be started with /c receive an exit event when the shell exists reuse the terminal to run another command in the terminal which creates a new shell process. Use case if for a build task: if the user runs the build tasks 3 times in a row I would like to have one terminal (e.g. on entry in the drop down in the terminal pane) which contains the output of all three task runs.
I have one additional question. Does the terminal require to run a shell or would the terminal be able to run any other arbitrary process (for example a ).
I got it working to run an arbitrary program. Only drawback is that I needed to specify the full path to the program (e.g. ). Any idea why this is the case?
do you mean the shell path you're using is and it's not working like that? I guess the resolution stuff is contained within , I would think it would probably be safest to always wrap the command within or . Wrapping the command means the process will die when it finishes so I don't see a downside?
the only problem is argument passing with spaces contained. If you call node directly then you pass the args as a string[]. If you call the for example you need to construct a single string with proper arg quoting to ensure everything works when for example the command to call contains spaces. And you save a process :-)
could this be useful for Python terminal execution?
Change:
// of untitled model if it is a valid path name, // otherwise fallback to `basename`. let untitledName = model.name; <del> if (!(await this.pathService.hasValidBasename(joinPath(defaultFilePath, untitledName)))) { </del> <ins> if (!(await this.pathService.hasValidBasename(joinPath(defaultFilePath, untitledName), untitledName))) { </ins> untitledName = basename(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.65.0 OS Version: Windows 11 Enterprise Steps to Reproduce: a remote window, create an untitled file and paste these contents. ! this untitled file, a save prompt (modal) will appear. Click Save button. You will see something like this: ! suggested file name is $schema: and only azuremlschemas.azureedg is highlighted and not the whole file name which was suggested This works fine on a local window as the suggested file name is azuremlschemas.azureedg: as shown below: !
For untitled files, the first line is used as file name. I am not sure why there would be any difference between the simple and native dialog but I actually think the simple one behaves correctly here, though there seems to be mentioned highlighting issue.
I think our main concern is the highlight, for the name we would ideally like to have custom inputs from the extension but that is a completely different discussion.
All the simple file dialog knows is that there is a default save URI given to it. The highlight is done by using the basename of that default URI. I took a look at where the default save URI comes from, and it looks like suffers from the same issue of using the basename that simple file dialog does: The best fix seems to be to fix the default save URI. PR incoming.
Change:
setFocus(indexes: number[]): void { indexes = indexes.sort(numericSort); this.focus.set(indexes); <ins> if (indexes.length) { this.view.domNode.setAttribute('aria-posinset', (indexes[0] + 1).toString()); } else { this.view.domNode.removeAttribute('aria-posinset'); } </ins> } focusNext(n = 1, loop = false): void {

Discussion:
The tree/list is virtualized and as such a screen reader cannot make a correct statement on the number of entries. We should leverage and for that purpose within the tree and list widgets. The widgets know the number of elements to render and the currently selected items position in the set. /cc
Makes sense, I can look into it in june
Accidently closed this by PR which only address the list widget, still gotta do it for the tree
After looking into this with we have fixed this issue for the , however for the tree the situation is a bit more complex: It is not exactly specified what the and should be with respect to the tree structure. Should they be absolute or only relative to the siblings. In both of the cases we have an issue that the tree smartly chooses the minimal set of elements that need to be re-rendered, so if an element A gets removed and element B is above it, B will not get re-rendered and will still have the wrong attribute. Due to that we would need a bigger refactoring in order to fix this for the tree. So renaming this issue and pushing it to backlog for now.
The originating issue -- -- came in w.r.t. the Command Palette that displays a list. perhaps the root issue is that the implementation of the Command Palette uses a tree to display a list and that makes it difficult to express the list to Screen Readers ?
+1 for making the command palette use the list. I could also look into this when I get cycles if does not mind.
yeah +1 for using list for quick open, that would be very nice . I hope there are no things in tree that quick open depends on.
I have created this issue to track it
Change:
if (inputBox.validate()) { const value = inputBox.value; if (value && value.search(/[/]/) !== -1) {	// only show if there's a slash <del> let newPath = paths.normalize(paths.join(initialRelPath, value), true); newPath = rtrim(newPath, paths.nativeSep); </del> <ins> let displayPath = path.normalize(path.join(projectFolderName, initialRelPath, value)); displayPath = rtrim(displayPath, paths.nativeSep); </ins> const fileType: string = FileKind[fileKind].toLowerCase(); inputBox.showMessage({ type: MessageType.INFO, <del> content: nls.localize('constructedPath', "Create {0} in **{1}**", fileType, newPath), </del> <ins> content: nls.localize('constructedPath', "Create {0} in **{1}**", fileType, displayPath), </ins> formatContent: true }); }

Discussion:
Only one nitbit, now when we display the path in a multi folder setup we do not start with a and when we display the path in a single folder setup we show the relative folder with a at the start. I think that is wrong and the path should never show a since it is not absolute
Change:
private _selectionStart: IMarker | Boundary | null = null; private _isDisposable: boolean = false; protected _terminal: Terminal | undefined; <ins> private _navigationDecoration: IDecoration | undefined; </ins> private _commandDetection?: ICommandDetectionCapability | IPartialCommandDetectionCapability;

Discussion:
Follow up for cmd+up/down on macOS should show some indication of the line that was scrolled to. This will need some upstream changes.
testing if i have a few empty lines such as this: ! pressing appears to do nothing, so having some indication of where I am would be great.
yeah I would have liked to get this in but was a bit randomized this iteration.
Blocked on
Brought this to UX sync with a focus border outline that fades to 0 opacity over 2 seconds. But after it occurred to me that navigating the a symbol in the editor is the exact idea we're trying to get across which flashes a focus border briefly without animating. So going with that to align, we can change both if we want to tweak it: !
Using 350ms:
!
Change:
const MAX_INLINE_DECORATOR_LENGTH = 150; // Max string length of each inline decorator when debugging. If exceeded ... is added const MAX_TOKENIZATION_LINE_LEN = 500; // If line is too long, then inline values for the line are skipped <ins> export const debugInlineForeground = registerColor('editor.inlineValuesForeground', { dark: '#ffffff80', light: '#00000080', hc: '#ffffff80' }, nls.localize('editor.inlineValuesForeground', "Color for the debug inline value text.")); export const debugInlineBackground = registerColor('editor.inlineValuesBackground', { dark: '#ffc80033', light: '#ffc80033', hc: '#ffc80033' }, nls.localize('editor.inlineValuesBackground', "Color for the debug inline value background.")); </ins> class InlineSegment { constructor(public column: number, public text: string) { }

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. --The inlines values colors are currently hardcoded: These should be abstracted to a themable color, either its own dedicated color or one of the , I would recommend hint or info.
I agree with this. Let's put a help wanted, sounds like a good thing to be tackled by the community. If nobody is interested I can also look into this in the future
Thanks to this is now fixed can you maybe try this out with VS Code insiders from tomorrow and let us know how it works for you. The new color names are:
Thank you, will test. Cc EDIT: Doesn't appear to have landed in yesterdays insiders, will check tomorrow.
Change:
getLineNumberAtVerticalOffset(verticalOffset: number): number; getVerticalOffsetForLineNumber(lineNumber: number): number; getWhitespaceAtVerticalOffset(verticalOffset:number): editorCommon.IViewWhitespaceViewportData; <del> shouldSuppressMouseDownOnViewZone(viewZoneId:number): boolean; </del> <ins> shouldSuppressMouseDownOnViewZone(viewZoneId: number): boolean; shouldSuppressMouseDownOnWidget(widgetId: string): boolean; </ins> /** * Decode an Editor.IPosition from a rendered dom node

Discussion:
VSCode Version: Version 1.3.0-insider (1.3.0-insider) OS Version: OS X El Capitan 10.11.5 Steps to Reproduce: on the non-link area of a code lens line that nothing at all happens Would really like it to at a minimum to focus the editor (if not already focused), but we really love it if it move the cursor to the previous line. I find myself VERY often clicking on that area to start typing above it and nothing happens.
I'm assuming (maybe) that this wouldn't be a difficult change -- so if someone had the time to point me in the vague direction, I would be happy to attempt to open a PR for this. :)
PR welcome! :) It is in I would extract the code that does the focus: to a closure called inside the method. Then, at you can call and then : The reason focusing is complicated is because IE has some weirdness around redirecting focus when coming from the URL bar and doing a mouse down. And the already is a good indicator that the view zone does not want to handle mouse events.
Change:
editorGroupService.mergeAllGroups(editorGroupService.mainPart.activeGroup); } } <ins> export class NewEmptyEditorWindowAction extends Action2 { constructor() { super({ id: NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID, title: { value: localize('newEmptyEditorWindow', "New Empty Editor Window"), mnemonicTitle: localize({ key: 'miNewEmptyEditorWindow', comment: ['&& denotes a mnemonic'] }, "&&New Empty Editor Window"), original: 'New Empty Editor Window' }, f1: true, category: Categories.View }); } override async run(accessor: ServicesAccessor): Promise<void> { const editorGroupService = accessor.get(IEditorGroupsService); const auxiliaryEditorPart = await editorGroupService.createAuxiliaryEditorPart(); auxiliaryEditorPart.activeGroup.focus(); } } </ins>

Discussion:
Testing I am wondering if there should be a context menu action for this? !
Yeah, I actually decided to do a bit more: Editor Tab Container Context Menu: <img width="447" alt="image" src=""Empty Editor Group Context Menu: <img width="458" alt="image" src="" to open an empty aux window
Change:
this._xterm.writeln(nls.localize('terminal.integrated.waitOnExit', 'Press any key to close the terminal')); // Disable all input if the terminal is exiting and listen for next keypress this._xterm.setOption('disableStdin', true); <del> (<HTMLElement>this._xterm.textarea).addEventListener('keypress', (data) => { </del> <ins> this._processDisposables.push(DOM.addDisposableListener(this._xterm.textarea, 'keypress', () => { </ins> this.dispose(); <del> }); </del> <ins> })); </ins> } else { this.dispose(); if (exitCode) {

Discussion:
From
For January we decided to keep the task in the core. So there is no need to make this 'public' API now. May be it would be good to first experiment a little with the new API.
just to make sure, were you thinking of using a prompt (press any key to close) that can be reused? Or a terminal that executes something, the pty process dies and just sits there ("dead") until another task command is sent?
I would like to achieve the following: create a new terminal and allow terminal reuse (could be an additional option) without actually running a terminal right away (if necessary we could run it as well) run a command in the terminal. This will create the actual shell process. Usually the shell would be started with /c receive an exit event when the shell exists reuse the terminal to run another command in the terminal which creates a new shell process. Use case if for a build task: if the user runs the build tasks 3 times in a row I would like to have one terminal (e.g. on entry in the drop down in the terminal pane) which contains the output of all three task runs.
I have one additional question. Does the terminal require to run a shell or would the terminal be able to run any other arbitrary process (for example a ).
I got it working to run an arbitrary program. Only drawback is that I needed to specify the full path to the program (e.g. ). Any idea why this is the case?
do you mean the shell path you're using is and it's not working like that? I guess the resolution stuff is contained within , I would think it would probably be safest to always wrap the command within or . Wrapping the command means the process will die when it finishes so I don't see a downside?
the only problem is argument passing with spaces contained. If you call node directly then you pass the args as a string[]. If you call the for example you need to construct a single string with proper arg quoting to ensure everything works when for example the command to call contains spaces. And you save a process :-)
could this be useful for Python terminal execution?
Change:
* Returns all selected changes (there can be multiple selections due to multiple cursors). * If a change is partially selected, the selected part of the change will be returned. */ <del> export function getSelectedChanges(changes: IChange[], selections: Selection[]): IChange[] { </del> <ins> export function getSelectedChanges(changes: IChange[], selections: Selection[]): SelectedChange[] { </ins> sortChanges(changes); sortSelections(selections); <del> var result: IChange[] = []; </del> <ins> var result: SelectedChange[] = []; </ins> var currentSelection = 0; var lastLineAdded = -1;

Discussion:
There's probably already a feature request for this but I can't find it. I want to be able to select a change in the diff editor and revert it, same as how I can stage it. In SourceTree this is called "discard selected lines" although "revert" seems better, unless it's "discard selected changes". I'm working on a PR for this.
I think it is connected with
Change:
// Set standard fields: be defensive about types lexer.start = (typeof json.start === 'string' ? json.start : null); lexer.ignoreCase = bool(json.ignoreCase, false); <ins> lexer.unicode = bool(json.unicode, false); </ins> lexer.tokenPostfix = string(json.tokenPostfix, '.' + lexer.languageId); lexer.defaultToken = string(json.defaultToken, 'source');

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. --Feature request for the Monaco Editor. Create an optional flag for Monaco Monarch language definitions to indicate the usage of unicode-aware regular expressions. An example of one such regular expression is , matching the '' character.
What exactly does not work? Since you can pass in regular expressions directly e.g.
Hi, What's currently not working is the unicode-aware regular expressions supported by ES2015. Even though you're able to write a RegExp including unicode-aware characters (in the format ), and even set the unicode flag for that RegExp, they don't work in Monaco Monarch at the moment. Below is the monaco-language file for ABAP, edited to support the character in identifiers. ! This is how it shows up in the editor: ! That happens precisely because the unicode flag is stripped away by compileRegExp, causing the match to fail for that character: If we change that line to, say it works as expected: ! The proposed solution is a way for the developer to tell Monaco Monarch that, instead of stripping away the unicode flag from all the regular expressions, it should instead add it to all the regular expressions if a flag is set in the language definition, just like it's the current behavior for the option. Another option I've considered was to instead use the unicode flag if, and only if, it is set in the regular expression itself, but from what I could gather, that would force us to compile the RegExp an extra time just for testing the flag, or to parse the RegExp manually. Let me know if you need more information.
:+1: Thank you, this makes good sense!
Change:
"tas-client-umd": "0.1.8", "vscode-oniguruma": "1.7.0", "vscode-textmate": "9.0.0", <del> "xterm": "5.3.0-beta.46", "xterm-addon-canvas": "0.5.0-beta.9", "xterm-addon-image": "0.6.0-beta.2", "xterm-addon-search": "0.13.0-beta.8", "xterm-addon-unicode11": "0.5.0", "xterm-addon-webgl": "0.16.0-beta.16" </del> <ins> "xterm": "5.3.0-beta.58", "xterm-addon-canvas": "0.5.0-beta.19", "xterm-addon-image": "0.6.0-beta.11", "xterm-addon-search": "0.13.0-beta.17", "xterm-addon-unicode11": "0.6.0-beta.9", "xterm-addon-webgl": "0.16.0-beta.27" </ins> } }

Discussion:
<img width="1116" alt="Screenshot 2023-08-04 at 2 35 57 pm" src=""I've been seeing this fairly consistently, when doing the set upstream quick fix it will lock the scrolling, scrolling down manually will do the audio cue for the next quick fix.
diff from 5.2.1:
Possible cause:
I'm guessing this is the issue: , we never want to animate this case.
Is ctrl+. still supposed to trigger the quick fix widget? It doesn't currently for me
yes ctrl/cmd+.
Never mind, I apparently customized it some time ago (likely for another TPI), all good