jiebi/CodeConvo huggingface dataset:
Change:
return false; } <del> // cancel previous snippet mode // snippetController.leaveSnippet(); // set selection, focus editor const selections = ranges.map(r => new Selection(r.startLineNumber, r.startColumn, r.endLineNumber, r.endColumn)); this._codeEditor.setSelections(selections); </del> this._codeEditor.focus(); <del> // make modifications snippetController.insert(template, { </del> <ins> // make modifications as snippet edit const edits: ISnippetEdit[] = ranges.map(range => ({ range: Range.lift(range), template })); snippetController.apply(edits, { </ins> overwriteBefore: 0, overwriteAfter: 0, undoStopBefore: opts.undoStopBefore, undoStopAfter: opts.undoStopAfter, clipboardText

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.74.2 OS Version: MacOS Ventura 13.0 Steps to Reproduce: an extension that adds a command, calling . The call should provide a range to be replaced. e.g. a range selection and then call the snippet-inserting command that change selection is now with the parts that have previously been replaced, instead of the selection pre-insertSnippet
Change:
* Update Emmet Helper to use user snippets from the extensionsPath setting */ export function updateEmmetExtensionsPath(forceRefresh: boolean = false) { <del> if (!_emmetHelper) { return; } </del> <ins> const helper = getEmmetHelper(); </ins> let extensionsPath = vscode.workspace.getConfiguration('emmet')['extensionsPath']; if (forceRefresh || _currentExtensionsPath !== extensionsPath) { _currentExtensionsPath = extensionsPath;

Discussion:
Testing an html file, try triggering emmet Bug According to , I should see an error notification. However I don't see any error or notifications
I also don't see error for an invalid (if it isn't valid json for example)
Also get no errors in Linux.
+1 WSL
The reason seems like to be on the which has not be loaded when the extension first activate.
And the should be an error object instead of a string.
closedWith
I'll reopen the issue because I think the error handling changed afterwards, and I'd like to look into the implementation again during a later iteration.
Change:
{ "message": "Expression must be awaited", "functions": [ <del> "assertSnapshot" </del> <ins> "assertSnapshot", "assertHeap" </ins> ] } ]

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. --Currently we are manually hunting down memory leaks through Dev Tools. For some areas/components (e.g., notebook), this even needs to be done repeatedly. It would be helpful if we can capture the memory snapshots in CI and write some queries against the snapshot to analyze if there is any potential leaks. A typical manual memory leak analysis for notebook Setup Open OSS Open notebook document A Open notebook document B Close both notebook documents Open Dev Tools, take a heap snapshot Search object, there should be none Search object, there should be none Search object, there should not be more than one (the editor group still holds a reference to the last editor) ! cc
The dev tools also show how an object is leaked, we could analyze the dependencies tree and figure out who is the "culprit"
would be a good API for CI use case on desktop to capture from any non-sandboxed process (Main, Utility - Ext Host, Shared Process, Pty Agent) embedding V8 without using external CDP calls. In the case of sandboxed render process, prefer
I find this topic super interesting as well! I have a prototype project that tries to find memory leaks by looking for leaking event listeners. In the screencast, the event listener count increases from 1175 to 1206 which indicates that there might be a memory leak when opening and closing a notebook editor. The project is in the early phases and in the future I'm hoping to display more detailed output for the event listeners as well as making the tests less flaky. (sorry if I'm interrupting the discussion. I'm hoping that perhaps this could be useful for you)
Change:
kbOpts: { weight: weight + 100000, primary: KeyCode.Enter, <del> secondary: [KeyMod.Shift | KeyCode.Tab], </del> <ins> secondary: [KeyMod.CtrlCmd | KeyCode.Period], </ins> } }));

Discussion:
Would be nice if instead of pressing then to apply the quick fix, you could just press two times in a row. Then, pressing it again could move the cursor to the next (quick fixable) issue, so you could repeatedly fix everything by just pressing several times in a row.
That's unfortunately not possible because once the native context menu shows the JavaScript event loop is stuck and we don't have a change to listen to key events anymore.
Can't we add as a key equivalent/shortcut to the menu item? That way the OS's own context menu event loop will respond to the keystroke?
Yeah, maybe... Tho, I'd go with cmd+1,2,3,4,... in that case. I also remember that there actually is new electron API that allows use to show a context menu and stay responsive. any insight on that?
yes there is an option to run context menus async but if we adopt that we loose the  callback which is still being used in many places. We would never be able to figure out that a context menu was opened but dismissed without an action picked.
fyi with the Electron update pushed, the visible context menu should no longer block the renderer.
With the new code action widget, custom keybindings can be utilized to enter the top selected quickfix immediately. The latter half of this issue, regarding pressing again to move to the next error, is something we can take a look at!
Thanks!! This just made my day
Change:
public readonly isComplete: boolean ) { } <del> public filter(anchor: HoverAnchor): HoverResult | null { </del> <ins> public filter(anchor: HoverAnchor): HoverResult { </ins> const filteredMessages = this.messages.filter((m) => m.isValidForHoverAnchor(anchor)); <ins> if (filteredMessages.length === this.messages.length) { return this; } </ins> return new FilteredHoverResult(this, this.anchor, filteredMessages, this.isComplete); } }

Discussion:
I was trying to copying a new setting in the problems hover and it was extremely painful to do so: https://user-
This is editor hover and hence assigning to
FWIW this works fine for me on Windows.
Change:
} get disableShellIntegrationReporting(): boolean { if (this._disableShellIntegrationReporting === undefined) { <del> this._disableShellIntegrationReporting = this.shellLaunchConfig.isFeatureTerminal || this.shellLaunchConfig.hideFromUser || this.shellLaunchConfig.executable === undefined; </del> <ins> this._disableShellIntegrationReporting = (this.shellLaunchConfig.hideFromUser || this.shellLaunchConfig.executable === undefined || this.shellType === undefined) || !shellIntegrationSupportedShellTypes.includes(this.shellType); </ins> } return this._disableShellIntegrationReporting; }

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.68.1 OS Version: Windows 10 Steps to Reproduce: When I open a terminal in VSCode the following warning is logged within a few seconds: . I take note of that this issue is not a duplicate of.
A warning as in on the window output channel or devtools console? Do you use powerlevel10k or another complex prompt by chance?
It's in the devtools console. Not using any complex prompt. Just plain CMD.
Oh OK, that's unexpected if it's cmd, thanks for the info
we should probably do something like here
Change:
private async _selectOneKernel(notebook: NotebookTextModel, source: string, kernels: INotebookKernel[]) { const quickPickItems: QuickPickInput<KernelPick>[] = kernels.map(kernel => toKernelQuickPick(kernel, undefined)); <del> const quickPick = this._quickInputService.createQuickPick<KernelQuickPickItem>({ useSeparators: true }); </del> <ins> const localDisposableStore = new DisposableStore(); const quickPick = localDisposableStore.add(this._quickInputService.createQuickPick<KernelQuickPickItem>({ useSeparators: true })); </ins> quickPick.items = quickPickItems; quickPick.canSelectMany = false; quickPick.title = localize('selectKernelFromExtension', "Select Kernel from {0}", source); <del> quickPick.onDidAccept(async () => { </del> <ins> localDisposableStore.add(quickPick.onDidAccept(async () => { </ins> if (quickPick.selectedItems && quickPick.selectedItems.length > 0 && isKernelPick(quickPick.selectedItems[0])) { await this._selecteKernel(notebook, quickPick.selectedItems[0].kernel); } quickPick.hide(); quickPick.dispose(); <del> }); </del> <ins> })); </ins> <del> quickPick.onDidHide(() => { quickPick.dispose(); }); </del> <ins> localDisposableStore.add(quickPick.onDidHide(() => { localDisposableStore.dispose(); })); </ins> quickPick.show(); }

Discussion:
Note that quick pick instances and their events are disposables. Noticed a few cases of missing:
Change:
} const githubRepository = await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, cancellable: false, title: 'Publish to GitHub' }, async progress => { <del> progress.report({ message: 'Publishing to GitHub private repository', increment: 25 }); </del> <ins> progress.report({ message: `Publishing to GitHub ${isPrivate ? 'private' : 'public'} repository`, increment: 25 }); </ins> const res = await octokit.repos.createForAuthenticatedUser({ name: repo!, <del> private: true </del> <ins> private: isPrivate </ins> }); const createdGithubRepository = res.data;

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. --As noted in , the lack of an option to create a public repository is by design rather than a bug. In that issue, gave the following reason for omitting the option: I would argue that: two quickpick options instead of one would not significantly complicate the UI. process of making a private repository public is not straightforward, especially when the alternative is to just create it as public in the first place. For reference, here are the required steps: Select "Publish to GitHub private repository" from quickpick and open the repo when finished. <img width="643" alt="Screen Shot 2020-07-12 at 11 26 12 AM" src="https://user-"- <img width="471" alt="Screen Shot 2020-07-12 at 11 27 26 AM" src="https://user-"- Open repository settings on GitHub. <img width="988" alt="Screen Shot 2020-07-12 at 11 34 14 AM" src="https://user-"- Scroll all the way to the bottom of the page (to the "Danger Zone") and click "Change visibility." <img width="942" alt="Screen Shot 2020-07-12 at 11 28 27 AM" src="https://user-"- In the modal, select the "Make public" radio option. Type the full repo name and click "I understand, change repository visibility." <img width="488" alt="Screen Shot 2020-07-12 at 11 28 51 AM" src="https://user-"For me and many others whose primary work is done in public repos, these steps would be completely eliminated if there were an option to create the repo as public in the first place. I don't believe it would be very difficult to implement this feature. Here's a simple solution:
OK sure, feel free to submit a PR.
Will do, thanks!
Change:
} getDomNode(): HTMLElement { <del> return this._rootDomNode; </del> <ins> return this._scrollableDomNode; </ins> } getPosition(): IOverlayWidgetPosition | null {

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. --Hello So I have noticed when using Sticky Scroll, any line which is too long (for example the screenshot below), it would block off the rest of the code. A feature I was thinking would be a good adition is sideways scrolling (like what happens already in the main editor) so that people can see what else is in that line. <kbd<img src="https://user-"/</kbd
Change:
``, `[x]: http://example.com` )); <del> assert.strictEqual(links.length, 4); assertRangeEqual(links[0].range, new vscode.Range(0, 7, 0, 8)); assertRangeEqual(links[1].range, new vscode.Range(1, 7, 1, 8)); assertRangeEqual(links[2].range, new vscode.Range(2, 6, 2, 7)); assertRangeEqual(links[3].range, new vscode.Range(4, 5, 4, 23)); </del> <ins> assertLinksEqual(links, [ new vscode.Range(0, 7, 0, 8), new vscode.Range(1, 7, 1, 8), new vscode.Range(2, 6, 2, 7), new vscode.Range(4, 5, 4, 23), ]); }); test('Should find link only within angle brackets.', async () => { const links = await getLinksForFile(joinLines( `[link](<path>)` )); assertLinksEqual(links, [new vscode.Range(0, 8, 0, 12)]); }); test('Should find link within angle brackets even with link title.', async () => { const links = await getLinksForFile(joinLines( `[link](<path> "test title")` )); assertLinksEqual(links, [new vscode.Range(0, 8, 0, 12)]); }); test('Should find link within angle brackets even with surrounding spaces.', async () => { const links = await getLinksForFile(joinLines( `[link]( <path> )` )); assertLinksEqual(links, [new vscode.Range(0, 9, 0, 13)]); }); test('Should find link within angle brackets for image hyperlinks.', async () => { const links = await getLinksForFile(joinLines( `![link](<path>)` )); assertLinksEqual(links, [new vscode.Range(0, 9, 0, 13)]); }); test('Should find link with spaces in angle brackets for image hyperlinks with titles.', async () => { const links = await getLinksForFile(joinLines( `![link](< path > "test")` )); assertLinksEqual(links, [new vscode.Range(0, 9, 0, 15)]); }); test('Should not find link due to incorrect angle bracket notation or usage.', async () => { const links = await getLinksForFile(joinLines( `[link](<path )`, `[link](<> path>)`, `[link](> path)`, )); assert.strictEqual(links.length, 0); }); test('Should find link within angle brackets even with space inside link.', async () => { const links = await getLinksForFile(joinLines( `[link](<pa th>)` )); assertLinksEqual(links, [new vscode.Range(0, 8, 0, 13)]); </ins> }); });

Discussion:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.61.2 OS Version: macOS Big Sur Steps to Reproduce: a new markdown file. ! But according to it isn't necessary to escape spaces when the text is enclosed in :
Removing help wanted since this is a bit more complicated than anticipated
Thanks!
Change:
for (const gitDir of gitDirs) { gitBashPaths.push( `${gitDir}Gitbinbash.exe`, <del> `${gitDir}Gitusrbinbash.exe` </del> <ins> `${gitDir}Gitusrbinbash.exe`, `${gitDir}usrbinbash.exe` // using Git for Windows SDK </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 <!-- 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.76.2 OS Version: Win11 22H2 (OS Build .1344) Steps to Reproduce: (without installed) VSCode with in vscode the vscode Terminal opens (not Git Bash which is not listed either) Potential fix: Inside , add some of these options: Add the default installation as a Add when pushing to will add as a , and will be pushed into Known workaround: Create a link pointing to
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
We check 's path in the upcoming version so this should be fixed:
I don't think it will With (NOT the standard Git for Windows), assuming is in the path, here is what this will give: In the end, does NOT contain
Change:
} __vsc_command_complete() { <del> local __vsc_history_id=$(builtin history 1 | awk '{print $1;}') if [[ "$__vsc_history_id" == "$__vsc_last_history_id" ]]; then </del> <ins> if [ "$__vsc_current_command" = "" ]; then </ins> builtin printf "033]633;D007" else builtin printf "033]633;D;%s007" "$__vsc_status" <del> __vsc_last_history_id=$__vsc_history_id </del> fi __vsc_update_cwd }

Discussion:
This is a follow up from which worked around the majority case of an issue. See the workaround: The proper fix will involve sending both the exit code and the history ID over to VS Code which will then do what's happening now but also have the correct exit code to set, instead of assuming it's the last command's exit code. We should write a little script as part of this that alternates exit codes by setting/unsetting an environment variable so it's easier to test and verify.
The issue being worked around is actually caused by or being included in .
Good test case from
To verify: some commands , they should all show up in current session ctrl+c in between some commands, including typing out a command and hitting ctrl+c to abandon it , the lines with ctrl+c shouldn't show up several times, failed and success should match whether the exception was thrown.
Change:
return e.local && e.local.manifest && !isThemeExtension(e) <del> && !isLangaugeBasicExtension(e); </del> <ins> && !isLanguageBasicExtension(e); </ins> }); return this.sortExtensions(others, options); }

Discussion:
I found a few places that "Language" is accidentally spelled "Langauge" in the source. See for the corrections.
Change:
const result = await fetching(serverUri.toString(), { headers: { Authorization: `token ${token}`, <del> 'User-Agent': 'Visual-Studio-Code' </del> <ins> 'User-Agent': `${vscode.env.appName} (${vscode.env.appHost})` </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: NA OS Version: NA Steps to Reproduce: The github education team sees about calls from Visual-studio-code in an hour for api/user. This is quite unusual and since we are rate limiting anyway, it is not an immediate issue. From initial discussions with I understand that the call is made only for telemetry and has no impact on the user. So, raising this bug, if we can find a better way to do telemetry without having to rate limit. This here shows some more details.
, can you please help me understand what is the likelihood of this work getting prioritised and by when can we expect to resolve this issue.
I wasn't able to get to it this week during our allocated debt time so I will try again to make time early April. I'll let you know if anything changes.
Change:
} private async handleWebExternalDrop(data: DesktopDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> { <del> data.files.forEach(file => { </del> <ins> const items = (originalEvent as any).dataTransfer.items; for (let item of items) { const entry = item.webkitGetAsEntry(); await this.uploadFileEntry(entry, target.resource, target); if (items.length === 1) { await this.editorService.openEditor({ resource: joinPath(target.resource, entry.name), options: { pinned: true } }); } } } private async uploadFileEntry(entry: any, parentResource: URI, target: ExplorerItem | undefined): Promise<void> { const resource = joinPath(parentResource, entry.name); if (entry.isFile) { // Handle file upload if (target && target.getChild(entry.name)) { const { confirmed } = await this.dialogService.confirm(getFileOverwriteConfirm(resource.path)); if (!confirmed) { return; } } const file = await new Promise<File>((resolve, reject) => entry.file(resolve, reject)); </ins> const reader = new FileReader(); reader.readAsArrayBuffer(file); reader.onload = async (event) => { const name = file.name; if (typeof name === 'string' && event.target?.result instanceof ArrayBuffer) { <del> if (target.getChild(name)) { const { confirmed } = await this.dialogService.confirm(getFileOverwriteConfirm(name)); if (!confirmed) { return; } } const resource = joinPath(target.resource, name); </del> await this.fileService.writeFile(resource, VSBuffer.wrap(new Uint8Array(event.target.result))); <del> if (data.files.length === 1) { await this.editorService.openEditor({ resource, options: { pinned: true } }); } </del> } }; <del> }); </del> <ins> } else if (entry.isDirectory) { // Handle folder upload await this.fileService.createFolder(resource); // Recursive upload files in this directory const folderTarget = target && target.getChild(entry.name) || undefined; const dirReader = entry.createReader(); const childEntries = await new Promise<any[]>((resolve, reject) => { dirReader.readEntries(resolve, reject); }); for (let childEntry of childEntries) { await this.uploadFileEntry(childEntry, resource, folderTarget); } } </ins> } private async handleExternalDrop(data: DesktopDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> {

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. --I would like to drag and drop folders from my local computer in the file explorer of the web-based version of VSCode.
Created this test plan item feel free to edit it.
Cool, I did a few tweaks and increased complexity to 3 by asking to test in all our browsers. Great to see this can be verified in