jiebi/CodeConvo huggingface dataset:
Change:
for (let i = 0, len = searchString.length; i < len; i++) { const chCode = searchString.charCodeAt(i); <ins> if (chCode === CharCode.LineFeed) { return true; } </ins> if (chCode === CharCode.Backslash) { // move to next char

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.70.0-insider (, 2022-07-11T12:20:21.684Z) OS Version: Windows_NT x64 10.0. Suppose we have this text: It can't be matched with original text using regex:  But if we join the first line and second line with a , it can be matched: 
For some background info, see and
Change:
// branch nodes should flip the normal/orthogonal directions this._size = ctx.orthogonalSize; this._orthogonalSize = size; <del> this.absoluteOffset = ctx.absoluteOffset + offset; this.absoluteOrthogonalOffset = ctx.absoluteOrthogonalOffset; </del> <ins> this._absoluteOffset = ctx.absoluteOffset + offset; this._absoluteOrthogonalOffset = ctx.absoluteOrthogonalOffset; </ins> this.absoluteOrthogonalSize = ctx.absoluteOrthogonalSize; this.splitview.layout(ctx.orthogonalSize, { orthogonalSize: size, <del> absoluteOffset: this.absoluteOrthogonalOffset, absoluteOrthogonalOffset: this.absoluteOffset, </del> <ins> absoluteOffset: this._absoluteOrthogonalOffset, absoluteOrthogonalOffset: this._absoluteOffset, </ins> absoluteSize: ctx.absoluteOrthogonalSize, absoluteOrthogonalSize: ctx.absoluteSize });

Discussion:
Was finally able to repo this but not reliably. It seems to rely on a new being created, but this doesn't always happen. The most reliable repo for me: with a notebook and text editor in a single editor group the notebook editor down to create a new group below the text editor grab the notebook editor and drag it right to move the bottom editor to the right I think the root cause is that the notebook widget is passed the wrong position. I'm going to work around this by making the notebook editor ignore the position it is given, however this will also undo the performance fixes we made this iteration for notebook layout I don't fully understand the grid layout code but it seems that is being set incorrectly in cases where a new BranchNode/SplitView is created. Here's what I see happening after step 3 of the repo above: setter is called calls which creates a new the constructor, a new Split View is created is called on it. At this point, of the split view is: the time layout is called on the notebook editor widget, is computed as zero. This results in the wrong layout. Looking at the code, we can see that is passed in as the absolute offset in step 4: <img width="1104" alt="Screenshot 2022-11-30 at 12 48 54 PM" src="https://user-"If I then slightly resize the window, here's what happens: call on the split View for the new group now is: we layout the notebook editor, is now correctly computed as Originally posted by in
Change:
assert.strictEqual(lastNotificationEvent.index, 0); assert.strictEqual(lastNotificationEvent.kind, NotificationChangeType.ADD); <del> item1Handle.updateMessage('Error Message'); </del> <ins> item1Handle.updateMessage('Different Error Message'); </ins> assert.strictEqual(lastNotificationEvent.kind, NotificationChangeType.CHANGE); assert.strictEqual(lastNotificationEvent.detail, NotificationViewItemContentChangeKind.MESSAGE); <del> item1Handle.updateSeverity(Severity.Error); </del> <ins> item1Handle.updateSeverity(Severity.Warning); </ins> assert.strictEqual(lastNotificationEvent.kind, NotificationChangeType.CHANGE); assert.strictEqual(lastNotificationEvent.detail, NotificationViewItemContentChangeKind.SEVERITY);

Discussion:
https://user- a new codespaces using the vscode repo clicking on the logs link :bug: Unable to click on the link Upon inspecting the DOM, it appears that elements are being /removed/updated every second so that may be blocking the link from being clicked on Codespaces Extension: v0.10.2 Version: 1.57.0-insider Commit: Date: 2021-05-20T05:11:47.260Z Electron: 12.0.7 Chrome: 89.0.4389.128 14.16.0 V8: 8.9.255.25-electron.0 OS: Darwin x64 20.3.0
Following up upstream first...
what do you think about not rerendering the notification message if the content didn't change between calls to report? In the codespaces extension I send fake progress updates quickly to smooth out the progress bar, and you can't click a link if it updates at the moment you are clicking it
good catch, indeed we should not update the DOM when contents have not changed. Is this something you would be interested in doing a PR for? I see to locations that could benefit of a check to not emit change events when nothing changed:   I would think for the latter, a simple check for would be sufficient.
Sure
PR:
It looks like "starting codespace" is no longer a link: 
you have to create a new codespace in order for the build logs to appear, connecting to an existing one just resumes the codespace. I can try to reproduce.
Verified <img width="1024" alt="CleanShot 2021-06-07 at 11 29 00 src="https://user-"
Change:
static readonly NAME = nls.localize({ key: 'openEditors', comment: ['Open is an adjective'] }, "Open Editors"); private dirtyCountElement!: HTMLElement; <del> private listRefreshScheduler: RunOnceScheduler; </del> <ins> private listRefreshScheduler: RunOnceScheduler | undefined; </ins> private structuralRefreshDelay: number; private list!: WorkbenchList<OpenEditor | IEditorGroup>; private listLabels: ResourceLabels | undefined;

Discussion:
it needs the to work but that only comes in when is called then why is the scheduler not created from and associated code that calls it? the scheduler is never disposed
Change:
private async showError(message: string, errorActions: ReadonlyArray<IAction> = []): Promise<void> { const configureAction = new Action(DEBUG_CONFIGURE_COMMAND_ID, DEBUG_CONFIGURE_LABEL, undefined, true, () => this.commandService.executeCommand(DEBUG_CONFIGURE_COMMAND_ID)); <del> const actions = [...errorActions, configureAction]; </del> <ins> // Don't append the standard command if id of any provided action indicates it is a command const actions = errorActions.filter((action) => action.id.endsWith('.command')).length > 0 ? errorActions : [...errorActions, configureAction]; </ins> const { choice } = await this.dialogService.show(severity.Error, message, actions.map(a => a.label).concat(nls.localize('cancel', "Cancel")), { cancelId: actions.length }); if (choice < actions.length) { await actions[choice].run();

Discussion:
Issue Type: <bBug</bDebug adapters have long been able to provide uris along with error responses, and these uris add buttons to the error dialog. Now that my PR has merged these can be command uris. However it is not currently possible to prevent an extra 'Open ' button being to the error dialog. In some situations there may be no point in the user opening Instead they should use a button that the error response . would it be reasonable for us to suppress addition of the 'Open ' button when the error is adding its own command-type button(s)? Limiting the change in this way should minimize the chance of upsetting existing DAs which return uris with their errors. It's unlikely they have been returning command-type uris because until now these haven't been actionable. VS Code version: Code - Insiders 1.57.0-insider (, 2021-05-14T20:13:58.234Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
this sounds reasonable. What is your exact use case? Just to check if other debug adapters might also profit here. fyi
my specific use case is that our implementation of launchRequest may determine that there is no debugging license for the target server. In this situation we want to help the user run the command which submits a request for a license. There is no point in suggesting that they edit their file. Are you happy for me to submit a PR?
Let's best wait and see feedback before you create a PR. Thanks
Yes, this request makes sense - feel free to submit a PR.
friendly ping for this, just to check if you are interested in tackling this. If not I might move out of this milestone. Thanks!
thanks for the ping. I still plan to get a PR in for August.
PR submitted
Lovely, thanks! Let me review it.
Would also be great if you double check with you debugger once we have a new Insiders on Monday. Thanks!
/verified
can you maybe also create a PR for the release notes for this feature? Here's the document And Andre and me left a TODO for you. Let me know if you do not have time and I can cover this. Thanks!
Submitted as You are welcome to edit it if you think the text needs improving.
Change:
} computeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): InlineCompletionsHover[] { <del> if (this._editor.getOption(EditorOption.inlineSuggest).showToolbar === 'always') { </del> <ins> if (this._editor.getOption(EditorOption.inlineSuggest).showToolbar !== 'onHover') { </ins> return []; }

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. --<img src="" alt="drawing" width="600"/Currently, we can control when to show the inline suggestion toolbar by setting to "always" or "onHover", which are defined as follows: "always": show the inline suggestion toolbar whenever an inline suggestion is shown, and "onHover": show the inline suggestion toolbar when hovering over an inline suggestion. For the new feature, I suggest to add an option "never" as follows "never": do not show the inline suggestion toolbar.
I think this should be very easy to implement. Up for a PR?
I would like to take this.
Any ideas why this setting isn't in the Settings JSON file? .
Thank you so much for accepting the request and for the contribution!
Change:
*/ export var version: string; <ins> export const env: { /** * locale, like de-ch, en-us */ locale: string; /** * A unique UUID that identifies the machine */ machineId: string; /** * A unique UUID that identifies the session */ sessionId: string; } </ins> /** * Represents a reference to a command. Provides a title which * will be used to represent a command in the UI and, optionally,

Discussion:
I'm not sure if this is an issue in vscode, or typescript, or a DT package, but vscode is complaining about the "funding" field requiring 2 properties, which is incorrect (the other one is "type", and it's optional). <img width="440" alt="Screen Shot 2022-03-14 at 2 36 39 PM" src="https://user-"If this is the wrong place to file it, please point me to the right one :-) Thanks!
(happy to do the work to fix it, too, if someone can point me to where they're defined)
Most likely this is provided by SchemaStore and was just recently UPD. Documentation doesn't have any examples of objects only with field so it's unclear from docs if it's possible to omit field unless you check implementation (or do the implementation ). Maybe it make sense to have at least one object without field in npm docs?
Yes, this needs to be adopted in the SchemaStore. Marking as duplicate of
The docs are irrelevant; to document the types for something, you need to check the actual behavior. Thanks, I’ll follow it there.
Change:
import { IContextKey, IContextKeyService, RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; <del> import { Schemas } from 'vs/base/common/network'; </del> <ins> import { matchesScheme, Schemas } from 'vs/base/common/network'; </ins> import { ResourceMap } from 'vs/base/common/map'; import { score } from 'vs/editor/common/languageSelector'; import { isEqual } from 'vs/base/common/resources';

Discussion:
Version: 1.85.0-insider (user setup) Commit: Date: 2023-11-27T05:35:23.734Z Electron: 25.9.4 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0. At first I thought this was a bug in the C/C++ Extension's support for document/reference highlighting. I noticed that when I move my cursor to within in a variable, it would actually very quickly highlight the correct content in the document before immediately clearing the highlight. I managed to narrow down the repro to only occurring if the Output pane tab is selected and when there is output occurring to it as (after?) the highlight occurs. Perhaps something related to drawing content to the Output pane is inadvertently de-selecting the doc-highlight.
Change:
} } <del> if (!opts.amend) { // no changes, and the user has not configured to commit all in this case if (!noUnstagedChanges && noStagedChanges && !enableSmartCommit && !opts.all) { const suggestSmartCommit = config.get<boolean>('suggestSmartCommit') === true; </del> <ins> // no changes, and the user has not configured to commit all in this case if (!noUnstagedChanges && noStagedChanges && !enableSmartCommit && !opts.all) { const suggestSmartCommit = config.get<boolean>('suggestSmartCommit') === true; </ins> <del> if (!suggestSmartCommit) { return; } // prompt the user if we want to commit all or not const message = l10n.t('There are no staged changes to commit.nnWould you like to stage all your changes and commit them directly?'); const yes = l10n.t('Yes'); const always = l10n.t('Always'); const never = l10n.t('Never'); const pick = await window.showWarningMessage(message, { modal: true }, yes, always, never); if (pick === always) { config.update('enableSmartCommit', true, true); } else if (pick === never) { config.update('suggestSmartCommit', false, true); return; } else if (pick !== yes) { return; // do not commit on cancel } </del> <ins> if (!suggestSmartCommit) { return; </ins> } <del> if (opts.all === undefined) { opts = { ...opts, all: noStagedChanges }; } else if (!opts.all && noStagedChanges) { opts = { ...opts, all: true }; </del> <ins> // prompt the user if we want to commit all or not const message = l10n.t('There are no staged changes to commit.nnWould you like to stage all your changes and commit them directly?'); const yes = l10n.t('Yes'); const always = l10n.t('Always'); const never = l10n.t('Never'); const pick = await window.showWarningMessage(message, { modal: true }, yes, always, never); if (pick === always) { config.update('enableSmartCommit', true, true); } else if (pick === never) { config.update('suggestSmartCommit', false, true); return; } else if (pick !== yes) { return; // do not commit on cancel </ins> } } <ins> if (opts.all === undefined) { opts = { ...opts, all: noStagedChanges }; } else if (!opts.all && noStagedChanges) { opts = { ...opts, all: true }; } </ins> } // enable signing of commits if configured

Discussion:
Testing be in this state where you have 1 local commit already and a changed file <img width="328" alt="image" src=""run Commit (Amend) <img width="530" alt="image" src=""* Notice that the changed file is not staged in the commit file that opens Since I have I expect this to auto stage as it does for the action
Change:
markdownHtmlDoc.body.querySelectorAll('a') .forEach(a => { const href = a.getAttribute('href'); // Get the raw 'href' attribute value as text, not the resolved 'href' <del> a.setAttribute('href', ''); // Clear out href. We use the `data-href` for handling clicks instead </del> <ins> a.removeAttribute('href'); // Clear out href. We use the `data-href` for handling clicks instead </ins> if ( !href || /^data:|javascript:/i.test(href)

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.73.1 OS Version: macOS 12.0.1 Steps to Reproduce: a markdown and add a link on the link, drag the link rendered in hover widget to the editor https://user- It seems that markdown renderer removes property and uses instead. I'm glad if I can help but I don't know if it's by design. Can we keep both and on links?
The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our . Happy Coding!
Fix actually seems pretty easy here so reopening
Change:
export const inDiffEditor = new RawContextKey<boolean>('inDiffEditor', false, nls.localize('inDiffEditor', "Whether the context is a diff editor")); export const isEmbeddedDiffEditor = new RawContextKey<boolean>('isEmbeddedDiffEditor', false, nls.localize('isEmbeddedDiffEditor', "Whether the context is an embedded diff editor")); export const inMultiDiffEditor = new RawContextKey<boolean>('inMultiDiffEditor', false, nls.localize('inMultiDiffEditor', "Whether the context is a multi diff editor")); <ins> export const hasChanges = new RawContextKey<boolean>('diffEditorHasChanges', false, nls.localize('diffEditorHasChanges', "Whether the diff editor has changes")); </ins> export const comparingMovedCode = new RawContextKey<boolean>('comparingMovedCode', false, nls.localize('comparingMovedCode', "Whether a moved code block is selected for comparison")); export const accessibleDiffViewerVisible = new RawContextKey<boolean>('accessibleDiffViewerVisible', false, nls.localize('accessibleDiffViewerVisible', "Whether the accessible diff viewer is visible"));

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. --Please disable the "Previous Change," "Next Change," and similar buttons in the diff view when there are no differences (both files are equal). This would be a swift way to ensure that no differences exist, especially when cheking between local and remote files. Such clarity can be crucial in certain situations. On the right side, it's also possible to observe the differences on the "file map." However, at times, this map might be cluttered with additional markings, such as code warnings, which can lead to confusion. Typically, I find myself clicking the "Next Change" button when I need to verify the presence of differences. If the file doesn't scroll, I can be confident that none exist. Yet, this workaround is unnecessary. Furthermore, adhering to good UX practices involves displaying buttons as disabled when they lack any action. !
When you are scrolled away from the single diff in a file, you can use these buttons to scroll back again to the diff. If there buttons would be disabled, this does not work anymore. Maybe the feature "Toggle Collapse Unchanged Lines" might help you.
If there are no differences (both files are equal) the buttons are useless (there is no diff to scroll to) and should be disabled to follow good UI practices. Edit: I improved the issue description.
!
Change:
}; const preferredHCLightThemeSettingSchema: IConfigurationPropertySchema = { type: 'string', <del> markdownDescription: nls.localize({ key: 'preferredHCLightColorTheme', comment: ['`#{0}#` will become a link to an other setting. Do not remove backtick or #'] }, 'Specifies the preferred color theme used in high contrast light mode when `#{0}#` is enabled.', ThemeSettings.DETECT_HC), </del> <ins> markdownDescription: nls.localize({ key: 'preferredHCLightColorTheme', comment: ['{0} will become a link to another setting.'] }, 'Specifies the preferred color theme used in high contrast light mode when {0} is enabled.', formatSettingAsLink(ThemeSettings.DETECT_HC)), </ins> default: ThemeSettingDefaults.COLOR_THEME_HC_LIGHT, enum: colorThemeSettingEnum, enumDescriptions: colorThemeSettingEnumDescriptions,

Discussion:
open the settings, in the filter box enter . Check the settings description. It should contain links. The links use a special syntax: that must not be changed. The translated string has a message mentioning that. !
Thank you for your feedback. We are currently reviewing it (reference ).
could you please lock the placeholders with these annotations? I'll fix the local translation meanwhile.
I've got a fix out ^^
Verified in code while the translation is in work.
Change:
private static getCommandLabel(menuCommand: ICommandAction, editorActionLabel: string): string { if (menuCommand) { <del> return typeof menuCommand.title === 'string' ? menuCommand.title : menuCommand.title.value; </del> <ins> let category; if (menuCommand.category) { category = typeof menuCommand.category === 'string' ? menuCommand.category : menuCommand.category.value; } const title = typeof menuCommand.title === 'string' ? menuCommand.title : menuCommand.title.value; return category ? `${category}: ${title}` : title; </ins> } if (editorActionLabel) {

Discussion:
Issue Type: <bBug</bUsing similar contribution in extension: Command palette is doing it correctly: Keybinginds is only showing . VS Code version: Code 1.29.1 (, 2018-11-15T19:13:36.375Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.447 --<!-- potentialduplicatescomment --
I'm going to work on this.