jiebi/CodeConvo huggingface dataset:
Change:
go to / vscode open change 200 to 50 create new branch observe that the closing brackets are replaced with } in inlineCompletionsModel please reassigned to who you think might be able to fix this. Looks like a github issue to me though. !
This looks similar to
Looks like similar thing was already fixed for organize imports and some TS actions in
This doesn't repro for me when using the stable VS Code quality on Confirmed that it still reproduces in the latest Insiders on commit
and this looks similar to
Please retry with latest insiders which should have a fix for this
can actually reproduce with latest insiders...

Discussion:
import { IModelService } from 'vs/editor/common/services/model'; import { ResourceTextEdit } from 'vs/editor/browser/services/bulkEditService'; import { CancellationToken } from 'vs/base/common/cancellation'; <del> import { SnippetParser } from 'vs/editor/contrib/snippet/browser/snippetParser'; </del> import { performSnippetEdits } from 'vs/editor/contrib/snippet/browser/snippetController2'; <ins> import { SnippetParser } from 'vs/editor/contrib/snippet/browser/snippetParser'; </ins> type ValidationResult = { canApply: true } | { canApply: false; reason: URI }; <ins> type ISingleSnippetEditOperation = ISingleEditOperation & { insertAsSnippet?: boolean }; </ins> class ModelEditTask implements IDisposable { readonly model: ITextModel; private _expectedModelVersionId: number | undefined; <del> protected _edits: (ISingleEditOperation & { insertAsSnippet?: boolean })[]; </del> <ins> protected _edits: ISingleSnippetEditOperation[]; </ins> protected _newEol: EndOfLineSequence | undefined; constructor(private readonly _modelReference: IReference<IResolvedTextEditorModel>) {

apply(): void { if (this._edits.length > 0) { this._edits = this._edits <del> .sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range)) .map(edit => ({ ...edit, text: edit.text && SnippetParser.escape(edit.text) })); </del> <ins> .map(this._transformSnippetStringToInsertText, this) // no editor -> no snippet mode .sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range)); </ins> this.model.pushEditOperations(null, this._edits, () => null); } if (this._newEol !== undefined) { this.model.pushEOL(this._newEol); } } <ins> protected _transformSnippetStringToInsertText(edit: ISingleSnippetEditOperation): ISingleSnippetEditOperation { // transform a snippet edit (and only those) into a normal text edit // for that we need to parse the snippet and get its actual text, e.g without placeholder // or variable syntaxes if (!edit.insertAsSnippet) { return edit; } if (!edit.text) { return edit; } const text = new SnippetParser().parse(edit.text, false, false).toString(); return { ...edit, insertAsSnippet: false, text }; } </ins> } class EditorEditTask extends ModelEditTask {

} else { this._edits = this._edits <ins> .map(this._transformSnippetStringToInsertText, this) // mixed edits (snippet and normal) -> no snippet mode </ins> .sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range)); this._editor.executeEdits('', this._edits); }
Change:
<!-- Do Not Delete This! bugreporttemplate --I think this is because I am maybe logged in to multiple Microsoft Accounts (my personal & work). Best way to do this is to log in with both accounts in my . ! Or maybe it's because I have logged in to this one account with multiple sessions (different scope lists) like logging in to Settings Sync & The To Do extension.
Hmm is this a Microsoft auth quirk where there can be multiple sessions with the same scopes?
technically any AuthProvider can have that behavior: but yes right now Microsoft supports it and GitHub doesn't. At some point GitHub will though.
<img width="660" alt="image" src="https://user-"On my laptop now... I think this could be a bug in the auth provider. But even still, I think you should dedupe sessions with duplicate accountIds.
Does the same thing happen when you sign in with settings sync?
! nope
Ah that's because settings sync dedupes

Discussion:
* Returns all authentication sessions available from {@link getAuthenticationProviders}. */ private async getAllSessions() { <del> const options: ExistingSession[] = []; </del> const authenticationProviders = await this.getAuthenticationProviders(); <ins> const accounts = new Map<string, ExistingSession>(); let currentSession: ExistingSession | undefined; </ins> for (const provider of authenticationProviders) { const sessions = await this.authenticationService.getSessions(provider.id, provider.scopes); for (const session of sessions) { <del> options.push({ </del> <ins> const item = { </ins> label: session.account.label, description: this.authenticationService.getLabel(provider.id), session: { ...session, providerId: provider.id } <del> }); </del> <ins> }; accounts.set(item.session.account.id, item); if (this.existingSessionId === session.id) { currentSession = item; } </ins> } } <del> return options; </del> <ins> if (currentSession !== undefined) { accounts.set(currentSession.session.account.id, currentSession); } return [...accounts.values()]; </ins> } /**
Change:
<!-- 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. --Steps to Reproduce: a .gitignore file that excludes node_modules Result: Nothing happens. Do the same in Stable and the folder is hidden. Here is a picture with Insiders on the left and Stable on the right: !

Discussion:
filter(stat: ExplorerItem, parentVisibility: TreeVisibility): boolean { // Add newly visited .gitignore files to the ignore tree <del> if (stat.name === '.gitignore' && this.ignoreTreesPerRoot.has(stat.resource.toString())) { </del> <ins> if (stat.name === '.gitignore' && this.ignoreTreesPerRoot.has(stat.root.resource.toString())) { </ins> this.processIgnoreFile(stat.root.resource.toString(), stat.resource, false); return true; }
Change:
The very useful ipytree Jupyter Widget does not function inside the vscode notebook editor. When clicking on a node in the tree, a model dialog is popped up, which looks like is responding to an attempt to open a editor window that is associated with the node content or some part of the underlying HTML attached to the node. ! The same code in a Jupyter Lab web instance functions as expected. This issue is mentioned in the ipytree Github VS Code version: 1.68 Jupyter Extension version (available under the Extensions sidebar): v2022.5. Python Extension version (available under the Extensions sidebar): v2022.8.0 OS (Windows Linux distro) and version: Windows Python and/or Anaconda version: various, 3.10 Type of virtual environment used (N/A ...): conda Jupyter server running: Local Click on ipytree node and UI updates with any attach callback firing Model popup error ! Following instructions on run example code eg: And then click on the node
Thanks for the issue. I believe QuantStack would likely have to fix this. I think they're opening a URL that doesn't exist.
It feels a bit odd for this to be on the QuantStack side... it seems like the Jupyter render is seeing a button click on a node as needing to open a URL, when in native Jupyter Lab it instead fires a javascript call.
I think this is a problem with the handling of anchor tags , the core web view code seems to be treating this as a file link (hence the error message). This issue might have to be moved to vscode repo. Repro steps: Run a cell with the following code in Jupyter (or generate an output that contains the same output) might have some idea what needs to be done here.
This can repro without using ipytree. Just use the example that Don provided.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.68.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!

Discussion:
handleBlobUrlClick(node.href, node.download); } else if (node.href.startsWith('data:')) { handleDataUrl(node.href, node.download); <del> } else if (node.hash && node.getAttribute('href') === node.hash) { </del> <ins> } else if (node.getAttribute('href')?.trim().startsWith('#')) { </ins> // Scrolling to location within current doc <ins> if (!node.hash) { postNotebookMessage<webviewMessages.IScrollToRevealMessage>('scroll-to-reveal', { scrollTop: 0 }); return; } </ins> const targetId = node.hash.substring(1); // Check outer document first
Change:
<!-- 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. --<!-- 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:windows 10 Steps to Reproduce: the cursor is in parentheses, press ctrl+shift+space. the popup panel to top or end. ! And is there any way to scroll the hints popup panel with the keyboard? When using the up and down keys, it only moves the cursor in editor.
Also seeing this for the suggest details. Looks similar to

Discussion:
})); const body = $('.body'); <del> const scrollbar = new DomScrollableElement(body, {}); </del> <ins> const scrollbar = new DomScrollableElement(body, { alwaysConsumeMouseWheel: true, }); </ins> this._register(scrollbar); wrapper.appendChild(scrollbar.getDomNode());

this._body = dom.$('.body'); <del> this._scrollbar = new DomScrollableElement(this._body, {}); </del> <ins> this._scrollbar = new DomScrollableElement(this._body, { alwaysConsumeMouseWheel: true, }); </ins> dom.append(this.domNode, this._scrollbar.getDomNode()); this._disposables.add(this._scrollbar);
Change:
We have the extension which highlights git merge markers (using codelens and decorations) and we adds conflict navigation commands. This conflicts with the new merge editor and we should find ways to suppress it when merge is being used, e.g hide commands based on the context key
fyi - we did push some pragmatic changes to the merge-conflict extension to disable itself when the user enables the experimental git merge editor...

Discussion:
{ "command": "git.openChange", "group": "navigation", <del> "when": "config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && resourceScheme == file && scmActiveResourceHasChanges" </del> <ins> "when": "config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges" </ins> }, { "command": "git.stageSelectedRanges",

"title": "%command.next%", "original": "Next Conflict", "command": "merge-conflict.next", <ins> "enablement": "!isMergeEditor", </ins> "icon": "$(arrow-down)" }, {

"title": "%command.previous%", "original": "Previous Conflict", "command": "merge-conflict.previous", <ins> "enablement": "!isMergeEditor", </ins> "icon": "$(arrow-up)" }, {

{ "command": "merge-conflict.previous", "group": "navigation@1", <del> "when": "mergeConflictsCount && mergeConflictsCount != 0" </del> <ins> "when": "!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0" </ins> }, { "command": "merge-conflict.next", "group": "navigation@2", <del> "when": "mergeConflictsCount && mergeConflictsCount != 0" </del> <ins> "when": "!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0" </ins> } ] },

} createExtensionConfiguration(): interfaces.IExtensionConfiguration { <ins> // PRAGMATIC way to avoid conflicting with the new merge editor: when git opts into // using the merge editor we disable this extension - for the merge editor but also // for "other" editors const gitConfig = vscode.workspace.getConfiguration('git'); if (gitConfig.get<boolean>('experimental.mergeEditor')) { return { enableCodeLens: false, enableDecorations: false, enableEditorOverview: false }; } </ins> const workspaceConfiguration = vscode.workspace.getConfiguration(ConfigurationSectionName); const codeLensEnabled: boolean = workspaceConfiguration.get('codeLens.enabled', true); const decoratorsEnabled: boolean = workspaceConfiguration.get('decorators.enabled', true);
Change:
take the input below in both sides accept the last change :bug: they are mutually exclusive, I cannot have both...
Verification steps: Use the "Developer Merge Editor: Open..." command to open that JSON.

Discussion:
if (!currentPosition.isBeforeOrEqual(diffStart)) { return undefined; } <del> const originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); </del> <ins> let originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); if (diffStart.lineNumber > textModel.getLineCount()) { // assert diffStart.lineNumber === textModel.getLineCount() + 1 // getValueInRange doesn't include this virtual line break, as the document ends the line before. // endsLineAfter will be false. originalText += 'n'; } </ins> text += originalText; text += edit.newText; currentPosition = edit.range.getEndPosition();
Change:
Issue Type: <bBug</bAs as result, command center and layout control (when enabled) don't appear on fullscreen windows. This prevents me from using these features, as I always fullscreen all windows so I can easily navigate them with my keyboard using macOS Mission Control. VS Code versions: 1.68.1 (, 2022-06-14T12:52:13.188Z) 1.69.0-insider (, 2022-06-24T06:32:01.748Z) OS version: Darwin x64 21.5.0 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --Steps to Reproduce: stable or insiders on macOS these settings: VSCode if needed the window over the title bar at the top edge of the screen Everything working on a normal window: <img width="1680" alt="image" src="https://user-"Missing features on a fullscreen window: <img width="1680" alt="image" src="https://user-"
I think we need to revisit when the title bar is shown. in fullscreen we never need to show on macos, but should we always show if the command center is enabled on macos? or is this just yet another setting?
Note that while the command bar isn't enabled by default, layout controls are (but I wanted to list each setting explicitly). On my Mac, most Electron apps with custom title bars will remove the native title bar's title when fullscreen, but still show the UI outside of the title bar (so you don't have to mouse over the top of the screen to see it). I think VSCode should do this whenever the is set to .
Another thought, it would probably be a good idea to always support showing window controls outside of the title bar, since Linux doesn't have it enabled by default. So best to add UI, rather than have it exclusively in the title bar.
i would like to add that when , the layout control wont show up at all, even in normal view, i found out by pure luck

Discussion:
return false; } <ins> // with the command center enabled, we should always show if (this.configurationService.getValue<boolean>('window.commandCenter')) { return true; } </ins> // macOS desktop does not need a title bar when full screen if (isMacintosh && isNative) { return !this.state.runtime.fullscreen;

return true; } <del> // with the command center enabled, we should always show if (this.configurationService.getValue<boolean>('window.commandCenter')) { return true; } </del> // if WCO is visible, we have to show the title bar if (isWCOVisible()) { return true;
Change:
<!-- 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. --This action doesn't require debug mode. A user can optionally add it as a precondition to a keyboard shortcut if they so choose.
Can I work on this?
Yes please!
I see that there is already a before, that pr modification is not quite right?
I hadn't seen that, are you looking at it
hi , will solve the problem?

Discussion:
id: SelectionToWatchExpressionsAction.ID, label: SelectionToWatchExpressionsAction.LABEL, alias: 'Debug: Add to Watch', <del> precondition: ContextKeyExpr.and(EditorContextKeys.hasNonEmptySelection, CONTEXT_IN_DEBUG_MODE, EditorContextKeys.editorTextFocus), </del> <ins> precondition: ContextKeyExpr.and(EditorContextKeys.hasNonEmptySelection, EditorContextKeys.editorTextFocus), </ins> contextMenuOpts: { group: 'debug', order: 1
Change:
<!-- 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: latest commit on github OS Version: n/a Interfaces in and in are defined twice with exactly the same definition. It looks like the duplicate definitions were reverting an existing change:

Discussion:
export type ITerminalsLayoutInfo = IRawTerminalsLayoutInfo<IPtyHostAttachTarget | null>; export type ITerminalsLayoutInfoById = IRawTerminalsLayoutInfo<number>; <del> export interface IRawTerminalInstanceLayoutInfo<T> { relativeSize: number; terminal: T; } </del> export enum TerminalIpcChannels { /** * Communicates between the renderer process and shared process.

callback: (error: ITerminalLaunchError | undefined) => void; } <del> export interface IDefaultShellAndArgsRequest { useAutomationShell: boolean; callback: (shell: string, args: string[] | string | undefined) => void; } </del> export const QUICK_LAUNCH_PROFILE_CHOICE = 'workbench.action.terminal.profile.choice'; export const enum TerminalCommandId {
Change:
Create or Checkout a PR Click on the branch indicator in the status bar Type Observe that doesn't show in top position Not sure what changed, but this used to work reliably until today, this was the main way I used to go back to the branch: <img width="1078" alt="image" src="https://user-"
We have an icon to the quick pick items but I would like to think that this did not break search. Will investigate.

Discussion:
readonly index: number; readonly item: IQuickPickItem; readonly saneLabel: string; <ins> readonly saneSortLabel: string; </ins> readonly saneMeta?: string; readonly saneAriaLabel: string; readonly saneDescription?: string;

index!: number; item!: IQuickPickItem; saneLabel!: string; <ins> saneSortLabel!: string; </ins> saneMeta!: string; saneAriaLabel!: string; saneDescription?: string;

if (item.type !== 'separator') { const previous = index && inputElements[index - 1]; const saneLabel = item.label && item.label.replace(/r?n/g, ' '); <ins> const saneSortLabel = parseLabelWithIcons(saneLabel).text.trim(); </ins> const saneMeta = item.meta && item.meta.replace(/r?n/g, ' '); const saneDescription = item.description && item.description.replace(/r?n/g, ' '); const saneDetail = item.detail && item.detail.replace(/r?n/g, ' ');

index, item, saneLabel, <ins> saneSortLabel, </ins> saneMeta, saneAriaLabel, saneDescription,

return 0; } <del> return compareAnything(elementA.saneLabel, elementB.saneLabel, lookFor); </del> <ins> return compareAnything(elementA.saneSortLabel, elementB.saneSortLabel, lookFor); </ins> } class QuickInputAccessibilityProvider implements IListAccessibilityProvider<ListElement> {
Change:
continues We need to ping extensions that use the old extension id and then remove the workaround we
These are the extensions that use the old extension identfier [ ] byted-ide.gallery - no issue tracker? [ ] Apex- - not in market place [ ] Goldman-Sachs.secview-extension - not in market place [x] - [ ] juliencroain.private-extension-manager - [x] -
Can you help with the first three extensions?
I will email since they are on the marketplace. We have no way to reach the second and third. So I suggest to go ahead and break them, and once things stop working they will ideally reach out to us and we can then advise them on how to update their extensions.

Discussion:
import { combinedDisposable } from 'vs/base/common/lifecycle'; import { checkProposedApiEnabled, ExtensionIdentifierSet, isProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions'; import { DebugConfigurationProviderTriggerKind } from 'vs/workbench/contrib/debug/common/debug'; <del> import { equalsIgnoreCase } from 'vs/base/common/strings'; </del> import { IExtHostTelemetryLogService } from 'vs/workbench/api/common/extHostTelemetryLogService'; export interface IExtensionRegistries {

const extensions: typeof vscode.extensions = { getExtension(extensionId: string, includeFromDifferentExtensionHosts?: boolean): vscode.Extension<any> | undefined { <del> if (equalsIgnoreCase(extensionId, 'ms-vscode.references-view')) { extHostApiDeprecation.report(`The extension 'ms-vscode.references-view' has been renamed.`, extension, `Use 'vscode.references-view' instead.`); extensionId = 'vscode.references-view'; } </del> if (!isProposedApiEnabled(extension, 'extensionsAny')) { includeFromDifferentExtensionHosts = false; }