jiebi/CodeConvo huggingface dataset:
Change:
let charCode = tokenText.charCodeAt(charIndex); switch (charCode) { case CharCode.Tab: <del> result += '&rarr;'; </del> <ins> result += 'u2192'; // &rarr; </ins> break; case CharCode.Space: <del> result += '&middot;'; break; case CharCode.LessThan: result += '&lt;'; break; case CharCode.GreaterThan: result += '&gt;'; break; case CharCode.Ampersand: result += '&amp;'; </del> <ins> result += 'u00B7'; // &middot; </ins> break; default:

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 next step in resolving . Simirarly to , it aims to replace construction of HTML elements by string concatenation in file. The code contains mainly a table construction by concatenating strings of . The goal is to replace them all with function calls.
I verified by running the monaco editor from source and testing the inspect token hover
To verify, open the hover and verify it looks all proper.
Change:
import * as dom from 'vs/base/browser/dom'; import { IActionViewItemOptions } from 'vs/base/browser/ui/actionbar/actionViewItems'; <del> import { AriaRole } from 'vs/base/browser/ui/aria/aria'; </del> <ins> import { AriaRole, alert } from 'vs/base/browser/ui/aria/aria'; </ins> import { Button } from 'vs/base/browser/ui/button/button'; import { renderIcon } from 'vs/base/browser/ui/iconLabel/iconLabels'; import { IListRenderer, IListVirtualDelegate } from 'vs/base/browser/ui/list/list';

Discussion:
Some commands take a while to resolve. We indicate that progress is happening for screen reader users with the progress audio cue and we indicate completion by reading the response immediately after it's resolved. Sighted users now see step by step progress. For example, for requests, the following are presented with spinner information: Collecting workspace structure Deciding which workspace information to collect Collecting workspace info This information is fleeting and disappears when the response begins to render. ! Because these can take a variable amount of time, and could be very noisy, I'm considering a few approaches and would like your feedback and I think number 3 is the best. use - a downside is the announcement might not be relevant by the time it is announced. use - a downside is this is really noisy and could be disruptive. have a command and key binding to query the status. So, if it's taking a while, a user could run this to find out which step it is on.
I believe there is not a good solution for things like this one at the moment. I think I would prefer approach number 1 (alert). At least with Voiceover, and alert would be cancel if a second alert comes in. approach number 2 wouold create a queue of invalid messages that will be read even if the response is already available, and approach number 3 (a new key-binding) would requiree learning and integrating a new keyboard command for something that is not worth it in my opinion. I would also make these announcement customizable in settings so that people can turn them off if they don't find them helpful.
Thanks for starting this discussion. I wonder i this needs to be treated differently than other progress experiences in VS Code? For progress we use the role I am not sure how well it is supported by screen readers though.
I was thinking of status messages. Is this like a progress bar where each steps gets highlighted as it progresses?
Yes, it is clear which step is happening at any given time.
Enable a screen reader. Run a command which reports progress steps - . Verify that you hear each of these steps as it becomes visible.
Change:
}, [], `Error while computing document symbols for ${documentSymbolParams.textDocument.uri}`, token); }); <ins> connection.onCodeAction((codeActionParams, token) => { return runSafeAsync(runtime, async () => { const document = documents.get(codeActionParams.textDocument.uri); if (document) { const sortCodeAction = CodeAction.create('Sort JSON', CodeActionKind.Source.concat('.sort', '.json')); sortCodeAction.command = { command: 'json.sort', title: l10n.t('Sort JSON') }; return [sortCodeAction]; } return []; }, [], `Error while computing code actions for ${codeActionParams.textDocument.uri}`, token); }); </ins> function onFormat(textDocument: TextDocumentIdentifier, range: Range | undefined, options: FormattingOptions): TextEdit[] { options.keepLines = keepLinesEnabled;

Discussion:
Testing Should be exposed using a code action (specifically a source action) instead of as a setting? Some advantages: We can reuse the existing setting instead of adding a new one Sorting will play nicer with other source actions since users can configure the order in which the actions run Users can trigger source actions through the context menu or with keybindings
Hey that's a good idea! I'll discuss it with the team. What do you think ?
Yes, makes sense!
Change:
const previousLaunch = this.selectedLaunch; const previousName = this.selectedName; <ins> const previousSelectedDynamic = this.selectedDynamic; </ins> this.selectedLaunch = launch; if (this.selectedLaunch) {

Discussion:
Testing microsoft/vscode-python Following the steps, I first used the auto-generated launch configuration. This meant that it didn't exist in the I then repeated the steps by clicking the gear to create it in the the dropdown now has 2 entries with duplicate titles. I would expect that the non-file-backed configuration just disappears now that we use a Not sure if this is extension specific or the responsibility of core.
How did you trigger second time to get the dynamic one? after creating the After, , i don't see the debug welcome screen.
Using one of these methods
Thanks for the bug report. VSCode handles the auto debug configuration behavior, so I'll transfer the issue to their repository.
This still repros: ! Steps: with no file open, show all automatic: ! python -Get expected error: ! one shows up... great... now pick : ! hit the on : ! See two: !
Additionally... maybe a different issue, I noticed that if I do this: with no file open, show all automatic: ! python -Get expected error: ! one shows up... great... now pick : ! Hit to get rid of the quick pick: ! is still selected in the ! and the only way to get back to the Picker I escaped out of is to choose a different launch config in the drop down and then select again. Seems a bit odd. I would have expected the play button to give me the picker or selecting even if it's already chosen to re-trigger the picker.
I fixed a different issue... I removed the duplicate from the quick pick, but not from the debug sidebar dropdown. Same data source, I think the dropdown just needs something else to refresh it.
Handling these dynamic configs is tricky - the way they are represented, they look mostly the same as a real launch config with the same name, and there is probably another case where we fail to tell the difference
Following the steps, I now get 2 different titles but still very similar. Not sure if this is breaking any checks that you do <img width="212" alt="image" src="https://user-"
How did you get without the ? I tried again and don't see that.

Is that the name in your I have and <img width="173" alt="image" src="https://user-"and I'm not sure how to get a different name in the saved config.
That is what was generated in my launch config, yes, I did not create it manually. I am on Windows.
I can't repro it. If you want, you can show me. But, if this happens somehow, I don't think I can improve the situation anyway, because two configs with different names are just two different configs.
I still managed to repro using SteVen's original steps in this issue <img width="248" alt="image" src="https://user-"
I can't repro the issue, are you sure you didn't end up with duplicate entries in If not can you open the quick access for and share a screenshot? Or just call me sometime so I can try?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Change:
return this; } <ins> appendChoice(values: string[], number: number = this._tabstop++): SnippetString { const value = SnippetString._escape(values.toString()); this.value += '${'; this.value += number; this.value += '|'; this.value += value; this.value += '|}'; return this; } </ins> appendVariable(name: string, defaultValue?: string | ((snippet: SnippetString) => any)): SnippetString { if (typeof defaultValue === 'function') {

Discussion:
In the snippet docs there's syntax for adding choices for placeholders: Currently the class has methods for , , etc. but there isn't an option for choices. We can build these manually, but it'd be better if we could stick to a nice API.
Also seems like the escape method is private, making it more difficult to do this manually without duplicating the implementation.
Actually, is escaped so it seems like we can't do this at all without building the whole string ourselves..
Well, you can do
That seems to have worked, thanks! I did have to copy your escape function and add to it though!
Hello,is this issue solved ? I am new on this repo and looking for good first issues to solve, this issue looks good for my purpose. Can anyone please guide me about solving this please?
This issue would be closed if it's solved. So, "yes" it up for a grab. This is the code pointer entry point:
Change:
guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNice'); assert.deepEqual(guess, ['text/nice-regex', 'text/plain']); <del> guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNiceee'); </del> <ins> guess = guessMimeTypes('Randomfile.noregistration', 'RegexesAreNotNice'); </ins> assert.deepEqual(guess, ['application/unknown']); guess = guessMimeTypes('Codefile', 'RegexesAreNice');

Discussion:
From For a file such as: We currently do not recognize the file as python even though the internal python extension's contribution matches. The reason is that the entire first line has to match: This seems inconsistent with how TextMate uses , and some of our grammars use patterns that do not work well with this restriction, such as : which fails to match:
and Adding you since I had trouble tracking down who implemented the logic in originally. Do you know why we currently require the entire line to match? Can we do like the xml grammar and add to the end of some of the contributions?
sorry I cannot answer this question, the code was a long time ago (I think by ) and since then has not been touched. I am fine changing this so that we align with TextMate's way of doing things. Happy to review a PR if you are interested.
Change:
}; this._data = initialData ? Object.assign(defaultData, initialData) : defaultData; <ins> mainWindow.addEventListener('message', async (event) => { if (event.data && event.data.sendChannel === 'vscode:triggerIssueData') { mainWindow.postMessage({ data: { issueBody: this._data.issueDescription, issueTitle: this._data.issueTitle }, replyChannel: 'vscode:triggerIssueDataResponse' }, '*'); } }); </ins> } getData(): IssueReporterData {

Discussion:
Testing to open the issue reporter for an extension issue reporter open, return to the main window step 1 for another extension =issue reporter opens but doesn't update the issue reporter input fields.
Change:
override getTitle(): string { return localize('source control', "Source Control"); } <ins> override getActionsContext(): unknown { return this.scmViewService.visibleRepositories.length === 1 ? this.scmViewService.visibleRepositories[0].provider : undefined; } </ins> }

Discussion:
Type: <bBug</bWhen there is only one instance and the Source Control Providers and Source Control Sync views are not showing, the toolbar moves to the SCM view container titlebar, and the callback of a command contributed to that menu does not receive the instance as a parameter. In other circumstances the command callback does receive the parameter. Repro: source-control-sample, build it and run it. Follow its README steps to get it contributing to the SCM view container. for the zap icon this branch adds to scm/title. it when that menu is not merged to the view container window because another view is visible too. Note the message in the modal information dialog, then dismiss it. the other view(s) and click zap again. The message is different. VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-20T05:34:58.027Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
Looks like this was previously reported in and subsequently fixed. are you also seeing this regression? For me it's also broken in 1.83, so not a reason to hold up the current iteration.
thank you very much for the detailed repro steps. I am also able to reproduce this the commands that the extension contributes to the menu.
<!-- 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:
const details = $('details', { open: true, ontoggle: onDetailsToggle }, $('summary', null, localize('debuggers', "Debuggers ({0})", contrib.length)), $('table', null, <del> $('tr', null, $('th', null, localize('debugger name', "Name"))), ...contrib.map(d => $('tr', null, $('td', null, d.label || d.type))) </del> <ins> $('tr', null, $('th', null, localize('debugger name', "Name")), $('th', null, localize('debugger type', "Type")), ), ...contrib.map(d => $('tr', null, $('td', null, d.label), $('td', null, d.type))) </ins> ) );

Discussion:
From Which debug types are supported? I have to read the readme. Could this include "node2" somewhere? !
We accept PRs that fix this
Change:
description: localize('remoteTunnelAccess.machineName', "The name under which the remote tunnel access is registered. If not set, the host name is used."), type: 'string', scope: ConfigurationScope.MACHINE, <del> pattern: '^[w-]*$', patternErrorMessage: localize('remoteTunnelAccess.machineNameRegex', "The name can only consist of letters, numbers, underscore and minus."), </del> <ins> pattern: '^w[w-]*$', patternErrorMessage: localize('remoteTunnelAccess.machineNameRegex', "The name must only consist of letters, numbers, underscore and dash. It must not start with a dash."), </ins> maxLength: 20, default: '' }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/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: VS Code Version: 1.74 OS Version: Windows 11 Pro Developers Build ! Error Code image attached Passes an invalid argument upon launch using the latest vs code Version 1.74
I can take this... The workaround is to use the setting to pick a name that does not start with a
to something starting with a dash remote tunnel access it comes up successfully
Change:
}; } <ins> export async function imageToHash(data: Uint8Array): Promise<string> { const hashBuffer = await crypto.subtle.digest('SHA-256', data); const hashArray = Array.from(new Uint8Array(hashBuffer)); return hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); } </ins> export function isImage(array: Uint8Array): boolean { if (array.length < 4) { return false;

Discussion:
Testing a large image () it into chat window freezes for a few seconds Seems we spent in the !
cc. is there a compromise on what we hash for the ID? ie, maybe half of the bytes instead of the full thing, or something of the sort, since ATM we are just hashing the entire received
It looks like the function is trying to hash the Uint8Array naively as an object (hashing each key and value for each element in the array) which is going to be extraordinarily slow. should complete in millisecond(s) :)
should our detect if it's web and if crypto is available and use that if so? I can see this happening again.
Yea, I think having it check for typed arrays and arraybuffers would make sense. Unfortunately is sync and webcrypto is async, however, so it would not be a drop-in replacement.
perhaps we could have a signature like to catch at compile time and redirect that use to the async version in ?
Change:
const codeActionsProvider = new GitCommitInputBoxCodeActionsProvider(diagnosticsManager); disposables.push(codeActionsProvider); <ins> const gitEditorDocumentLinkProvider = languages.registerDocumentLinkProvider('git-commit', new GitEditorDocumentLinkProvider(model)); disposables.push(gitEditorDocumentLinkProvider); </ins> checkGitVersion(info); commands.executeCommand('setContext', 'gitVersion2.35', git.compareGitVersionTo('2.35') >= 0);

Discussion:
Testing I'd love it if these were clickable and brought me to the file it's talking about. ! Should be able to use a link provider, right?
Change:
for (let i = 0, len = events.length; i < len; i++) { const resource = events[i].resource; const isJson = paths.extname(resource.fsPath) === '.json'; <del> const isDeletedSettingsFolder = (events[i].type === FileChangeType.DELETED && paths.isEqual(paths.basename(resource.fsPath), this.configFolderRelativePath)); </del> <ins> const isDeletedSettingsFolder = (events[i].type === FileChangeType.DELETED && paths.basename(resource.fsPath) === this.configFolderRelativePath); </ins> if (!isJson && !isDeletedSettingsFolder) { continue; // only JSON files or the actual settings folder }

Discussion:
In light themes the status bar text changes from white to black, but progress spinners do not so they're hard to see: 
This icon is probably not themable yet. E.g. for the status bar feedback smiley we use trick to allow to change the color of it (). Depending on the outcome of we might move this into the notification area though.
fyi, the fix is to use a font for the icon (in this case our octicons). I found the sync icon fitting because we already use it for SCM sync: ! Alternatively we could use this animation: !
Change:
import * as assert from 'assert'; import { activate } from '..'; import { OutputItem, RendererApi } from 'vscode-notebook-renderer'; <del> import { IRichRenderContext, RenderOptions } from '../rendererTypes'; </del> <ins> import { IDisposable, IRichRenderContext, RenderOptions } from '../rendererTypes'; </ins> import { JSDOM } from "jsdom"; const dom = new JSDOM();

Discussion:
a cell with enough output to truncate scroll the link to view as a scrollable element :bug: output height is stretched to show entire output without scrollable region
Change:
} this._register(this._editorModelReference.object.onDidChangeDirty(() => this._onDidChangeDirty.fire())); this._register(this._editorModelReference.object.onDidChangeReadonly(() => this._onDidChangeCapabilities.fire())); <ins> this._register(this._editorModelReference.object.onDidRevertUntitled(() => this.dispose())); </ins> if (this._editorModelReference.object.isDirty()) { this._onDidChangeDirty.fire(); }

Discussion:
a new notebook (or new image with Luna editor) and also a new text file all the editors dirty hotexit is off the window, selecting "don't save" when prompted to revert all working copies -open the window - the text editor is gone (closed during shut down), but the other editors are open and blank.
This is why I thought the revert behavior was broken in I think it would be much better if an interactive window closed when it was reverted.
this is really up to the editor itself to decide whether to close the editor when the underlying working copy is reverted or not. Generally working copies try to stay as agnostic as possible to editors. There is only very few exceptions when it comes to restoring backups. Untitled editors listen to working copies getting reverted to self-dispose: This in turn, will close the editor. I suggest you go down a similar path. fyi for custom editors
fixed for notebook/Interactive window editor. - did you want another issue to track this for custom editors?
Yes that would be great
Change:
@IHostService private readonly hostService: IHostService ) { super(); <del> CommandsRegistry.registerCommand('workbench.extensions.installMissingDepenencies', () => this.installMissingDependencies()); </del> <ins> CommandsRegistry.registerCommand('workbench.extensions.installMissingDependencies', () => this.installMissingDependencies()); </ins> MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command: { <del> id: 'workbench.extensions.installMissingDepenencies', </del> <ins> id: 'workbench.extensions.installMissingDependencies', </ins> category: localize('extensions', "Extensions"), title: localize('auto install missing deps', "Install Missing Dependencies") }

Discussion:
The command identifier passed to has a typo: . Although the method name under is properly spelled as Addressed by <!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.39.2 OS Version: All versions Steps to Reproduce: these lines: the typo (lack of a ) when referring to the command identifier. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Does not apply
Change:
this._alternativeId = this._textModel.getAlternativeVersionId(); } this._textBufferHash = null; <ins> this._onDidChangeContent.fire('content'); </ins> this._onDidChangeContent.fire({ type: 'model', event: e }); }));

Discussion:
going through to test this: note I forgot to add these settings got these logs
I think I also ran into something similar while trying to test the same issue. There's some type of version mismatch !
Not sure if it's the same bug. I just: a notebook by just creating an empty file called a cell to save mismatch :bug:
same steps I used too
Verifier: Ensure that is enabled Open a notebook, e.g., GitHub issue notebook in VS Code repo Modify a cell content and try to save No error prompt should show up