jiebi/CodeConvo huggingface dataset:
Change:
This happens when the cwd is invalid, we could give a better error message <img width="645" alt="Screen Shot 2021-09-07 at 12 43 39 PM" src="https://user-"
Is "A native exception occurred during launch" the better error message?
We'd want to detect the error code: 267 part and present something more friendly like the terminal's starting directory doesn't exist, we already have a similar message which catches other cases of this so we'd want to align the wording with that:
Just the part might not have been handled but I managed to fit the rest in
Similar fix to
when I try this, I don't see a notification. in the console, I see:
it should show a notification as well To get this to repro, try commending out the section that handles cwd validation so we try to start the process with an invalid one.
Error handling needs some clean up

Discussion:
break; } this._exitCode = exitCodeOrError.code; <del> if (exitCodeOrError.message.match(/.*error code:s*d{3}.*$/)) { exitCodeOrError.message = `Invalid starting directory ${this.initialCwd}, review your terminal.integrated.cwd setting.`; </del> <ins> const conptyError = exitCodeOrError.message.match(/.*error code:s*(d{3,4}).*$/); if (conptyError) { const errorCode = conptyError.length > 1 ? parseInt(conptyError[1]) : undefined; switch (errorCode) { case 267: exitCodeOrError.message = `Invalid starting directory ${this.initialCwd}, review your terminal.integrated.cwd setting`; break; case 1260: exitCodeOrError.message = `Windows cannot open this program because it has been prevented by a software restriction policy. For more information, open Event Viewer or contact your system Administrator`; break; } </ins> } exitCodeMessage = nls.localize('launchFailed.errorMessage', "The terminal process failed to launch: {0}.", exitCodeOrError.message); break;
Change:
Issue Type: <bBug</bThe above option is not working for markdown files after the 1.60.0 (Augutst 2021) update. When I restored the July update, the same started working again. Please look into this Thank you VS Code version: Code 1.60.0 (, 2021-09-01T10:41:52.311Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (40)</summaryExtensionVersion ------ add-to-snippet0.2.1 project-manager12.3.0 code-sum-up0.1.0 insertnumbers0.9.1 All-Autocomplete0.0.23 vscode-django1.6.0 file-browser0.2.10 bracket-pair-colorizer1.0.61 vscode-mysql-client24.1.4 githistory0.6.18 python-extension-pack1.6.0 xml2.5.1 gitlens11.6.0 remotehub0.14.0 vbnet1.0.2 gc-excelviewer3.0.44 selected-lines-count1.4.0 google-translate1.2.3 vscode-JS-CSS-HTML-formatter0.2.3 MagicPython1.1.0 python2021.9. vscode-pylance2021.9.1 jupyter2021.8. jupyter-keymap1.0.0 vsliveshare1.0.4761 color-highlight2.4.0 emoji1.0.1 material-icon-theme4.10.0 calc2.0.1 LiveServer5.6.1 vscode-fileutils3.4.5 vscode-autohotkey0.2.2 numbermonger0.5.0 python0.2.3 pdf1.1.0 vscodeintellicode1.2.14 vscode-icons11.6.0 jinja0.0.8 local-history1.8.1 file-size1.0.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Discussion:
for (let i = 0; i < resources.length; i += maxConcurrent) { const resourceBatch = resources.slice(i, i + maxConcurrent); <del> const documentBatch = (await Promise.all(resourceBatch.map(this.getMarkdownDocument))).filter((doc) => !!doc) as SkinnyTextDocument[]; </del> <ins> const documentBatch = (await Promise.all(resourceBatch.map(x => this.getMarkdownDocument(x)))).filter((doc) => !!doc) as SkinnyTextDocument[]; </ins> docList.push(...documentBatch); } return docList;
Change:
What we have: If we want to run a test in debug mode, we have to right click on the following green tick button: ! then click on . What I would like: Pressing on the same green tick button could run the test in debug mode too. Thanks a lot!
This can be changed in configuration to debug when you click it: !
/cc
I this using the key, to match alternate behavior in other areas of the UI (and general semantics)
Love it, would be cool if the icon could change when I hold alt and hover, but I'm not sure we can do that with gutter decorations. I would never find this though, maybe the hover text could say something about alt+click?
We could add a listener for the "alt" key and change the icons in decorations when pressed.

Discussion:
return false; } <ins> const alternateAction = e.event.altKey; </ins> switch (getTestingConfiguration(this.configurationService, TestingConfigKeys.DefaultGutterClickAction)) { case DefaultGutterClickAction.ContextMenu: this.showContextMenu(e); break; case DefaultGutterClickAction.Debug: <del> this.defaultDebug(); </del> <ins> (alternateAction ? this.defaultRun() : this.defaultDebug()); </ins> break; case DefaultGutterClickAction.Run: default: <del> this.defaultRun(); </del> <ins> (alternateAction ? this.defaultDebug() : this.defaultRun()); </ins> break; }
Change:
Issue Type: <bBug</bWasn't sure who to file this issue on so please redirect as needed. I open an existing python notebook and click run, nothing happens. I can see, by perusing around the UI that I probably need to select a kernel, but I get no feedback from the run button. In the gif below I am clicking run, but I did not click select kernel. ! VS Code version: Code - Insiders 1.61.0-insider (, 2021-09-16T08:31:28.161Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Hey it looks like you changed the kernel select command, now it doesn't work in this scenario, can you check? It is called from here I think the problem is not calling it with a context. Actually I don't know why we call this with rather than just putting the real work in some method somewhere.
Sorry, this was me, looking into a fix

Discussion:
const logService = accessor.get(ILogService); const viewletService = accessor.get(IViewletService); <del> let editor; if (context !== undefined) { if ('notebookEditorId' in context) { const editorId = context.notebookEditorId; const matchingEditor = editorService.visibleEditorPanes.find((editorPane) => { const notebookEditor = getNotebookEditorFromEditorPane(editorPane); return notebookEditor?.getId() === editorId; }); editor = getNotebookEditorFromEditorPane(matchingEditor); } else if ('notebookEditor' in context) { editor = context?.notebookEditor; } else { editor = getNotebookEditorFromEditorPane(editorService.activeEditorPane); } </del> <ins> let editor: INotebookEditor | undefined; if (context !== undefined && 'notebookEditorId' in context) { const editorId = context.notebookEditorId; const matchingEditor = editorService.visibleEditorPanes.find((editorPane) => { const notebookEditor = getNotebookEditorFromEditorPane(editorPane); return notebookEditor?.getId() === editorId; }); editor = getNotebookEditorFromEditorPane(matchingEditor); } else if (context !== undefined && 'notebookEditor' in context) { editor = context?.notebookEditor; } else { editor = getNotebookEditorFromEditorPane(editorService.activeEditorPane); </ins> } if (!editor || !editor.hasModel()) {
Change:
Issue Type: <bBug</bThe source control pane allows discarding changes by right-clicking on selected items and then choosing "Discard Changes". If items are selected in a tree view, and part of the selection is a directory, then the confirmation dialog shows a wrong (impossible) number of files to be discarded. Steps: open vscode in a git directory, with no current changes switch to the source control pane, note the changes make sure that "View as Tree" mode is active select all three items in the treev view, comprising of 1 directory and 2 files right-click onto select items -"Discard Changes" //exp: Confirmation - "This will DELETE 2 untracked files" //act: Confirmation - "This will DELETE 3 untracked files" IOW, the directory is counted as a file. This is rather irritating if one expects to discard a very well-known number of files, only to discover that the UI confirmation dialog is off. VS Code version: Code 1.60.1 (, 2021-09-10T17:06:57.931Z) OS version: Linux x64 5.13.15-200.fc34.x8664 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Just noticed a simpler scenario: Just use tree view mode, have 1 file in the directory, and directly discard the directory. The confirmation dialog will ask for confirmation to delete 2 files, while there is 1 file only (the directory will not be touched by the git revert)
Funny enough - clicking on the "Discard All Changes" icon reports the correct number of files (2 files in the scenario above).
I see multiple options for implementing a fix for this: 1) Deduplicate the resources in the command 2) Deduplicate the resources in core before the are passed to the command as args
1 sounds great!

Discussion:
@command('git.clean') async clean(...resourceStates: SourceControlResourceState[]): Promise<void> { <del> resourceStates = resourceStates.filter(s => !!s); </del> <ins> // Remove duplicate resources const resourceUris = new Set<string>(); resourceStates = resourceStates.filter(s => { if (s === undefined) { return false; } if (resourceUris.has(s.resourceUri.toString())) { return false; } resourceUris.add(s.resourceUri.toString()); return true; }); </ins> if (resourceStates.length === 0 || (resourceStates[0] && !(resourceStates[0].resourceUri instanceof Uri))) { const resource = this.getSCMResource();
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. --files are a file type used by the ESRI ArcGIS software to describe . ArcGIS is a commonly used, commercial GIS (Geographic Information Systems) software. One way of extending this software is by using custom tools, which can be contained in native () or Python () toolboxes. Python toolboxes are text files containing regular Python code, but use the extension to allow ArcGIS to identify them. It would be great if the file extension could be included as one used by the VSCode Python extension.

Discussion:
".gyp", ".gypi", ".pyi", <del> ".ipy" </del> <ins> ".ipy", ".pyt" </ins> ], "aliases": [ "Python",
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 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.60.1 OS Version: web The issue occurs when trying to intergrate VSCode (or Monaco) into a parent element. Steps to Reproduce: Replace the with: and . click the editor and move the mouse to a context menu item with submenu. submenu is in incorrect position. ! Reason: This is because ancestor of fixed descendants. Here is the code that causes the issue: A PR has been made for this issue.
Is it expected that the menu shows up far away from the hamburger icon in the top left? !
please file a separate issue as this fix was targeted for submenus in monaco

Discussion:
const viewBox = this.submenuContainer.getBoundingClientRect(); const { top, left } = this.calculateSubmenuMenuLayout(new Dimension(window.innerWidth, window.innerHeight), Dimension.lift(viewBox), entryBoxUpdated, this.expandDirection); <del> this.submenuContainer.style.left = `${left}px`; this.submenuContainer.style.top = `${top}px`; </del> <ins> // subtract offsets caused by transform parent this.submenuContainer.style.left = `${left - viewBox.left}px`; this.submenuContainer.style.top = `${top - viewBox.top}px`; </ins> this.submenuDisposables.add(addDisposableListener(this.submenuContainer, EventType.KEY_UP, e => { let event = new StandardKeyboardEvent(e);
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.61.0-insider OS Version: macOS 11.5.2 The tiles showcasing the welcome walkthrough contributions look like they should be vertically centering the content. As of now the icon and close icon are aligned to the bottom and top, respectively. <img width="504" alt="CleanShot 2021-09-24 at 10 49 20 src="https://user-"Icon aligned to the bottom: <img width="126" alt="CleanShot 2021-09-24 at 10 53 40 src="https://user-"Remove icon aligned to the top: <img width="196" alt="CleanShot 2021-09-24 at 10 53 52 src="https://user-"

Discussion:
max-width: 20px; max-height: 20px; position: relative; <del> top: 2px; </del> <ins> top: auto; </ins> } .monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-category img.category-icon {

top: 0px; } <del> .monaco-workbench .part.editor>.content .getting-started-category .codicon::before { </del> <ins> .monaco-workbench .part.editor>.content .getting-started-category .codicon-star-full::before { </ins> vertical-align: middle; }
Change:
VS Code Version: 1.60.2 OS Version: Windows 10 Home 20H2 64bit Steps to Reproduce: the VS Code to 1.60.2. the cursor to the training process area, and watch the information. Actually I have completed 2 steps and there are 4 steps, but the information shows that there are 2 steps and I have completed 4 steps. !

Discussion:
bar.style.width = `${progress}%`; <del> (element.parentElement as HTMLElement).classList[stats.stepsComplete === 0 ? 'add' : 'remove']('no-progress'); </del> <ins> (element.parentElement as HTMLElement).classList.toggle('no-progress', stats.stepsComplete === 0); </ins> if (stats.stepsTotal === stats.stepsComplete) { bar.title = localize('gettingStarted.allStepsComplete', "All {0} steps complete!", stats.stepsComplete); } else { <del> bar.title = localize('gettingStarted.someStepsComplete', "{0} of {1} steps complete", stats.stepsTotal, stats.stepsComplete); </del> <ins> bar.title = localize('gettingStarted.someStepsComplete', "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal); </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. --<!-- 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. --: 1.61.0-insider (system setup) : : 2021-09-24T09:00:59.405Z Electron: 13.4.0 Chrome: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: <kbdctrl+k ctrl+shft+<kbd! <kbdctrl+shft+-<kbd!
One of these is contributed by the Jupyter keybindings extension. But, I'm not sure why they show differently between these two menus.
It seems we don't have these actions in menu anymore.

Discussion:
import * as icons from 'vs/workbench/contrib/notebook/browser/notebookIcons'; import { CellEditType, CellKind } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { INotificationService } from 'vs/platform/notification/common/notification'; <ins> import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; </ins> //#region Move/Copy cells const MOVE_CELL_UP_COMMAND_ID = 'notebook.cell.moveUp';

}, icon: icons.splitCellIcon, keybinding: { <del> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE), </del> <ins> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE, EditorContextKeys.editorTextFocus), </ins> primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backslash), weight: KeybindingWeight.WorkbenchContrib },
Change:
I have inlayHints turned on for TypeScript, as well as bracket pair and guide colorization. I was searching through a number of files, clicking on each one pretty quickly, and then at some point I started getting an error <filename. clone the TypeScript repository set the following settings: In the Search View, look for (this is the exact query i was using) Now pretty rapidly start clicking on files in the search results pane Eventually (after clicking on like 15 to 20 files), especially after opening something large like , you'll get the Model is disposed error. ! When I checked the console for errors, I found this stack trace that referenced a few times, so I'm not sure if its related or coincidence. ! also saw this call stack !
I can reproduce. I think the root cause is the error. This error ends up being thrown in the text model creation phase and also in the method, which might lead to these errors. I can reproduce with the above settings when trying to open
Only needs these two settings: a large file (~3MB JavaScript file for my case) close the file errors in DevTools <details<summaryClick to expand</summary</detailsseconds, got more: <details<summaryClick to expand</summary</detailscan't open any file <details<summaryClick to expand</summary</detailsEDIT: How to get error source position? Source map doesn't seem to work. EDIT2: Looks like the first "Maximum call stack size exceeded" error happens here:

Discussion:
} public getAllDecorations(ownerId: number = 0, filterOutValidation: boolean = false): model.IModelDecoration[] { <del> const result = this._decorationsTree.getAll(this, ownerId, filterOutValidation, false); result.push(...this._decorationProvider.getAllDecorations(ownerId, filterOutValidation)); </del> <ins> let result = this._decorationsTree.getAll(this, ownerId, filterOutValidation, false); result = result.concat(this._decorationProvider.getAllDecorations(ownerId, filterOutValidation)); </ins> return result; }
Change:
Testing have fixed with on in a narrow terminal type select , existing text is re-rendered correctly select again, :bug: no effect https://user-
I'm having trouble reproducing this
could be related to the (now fixed) problem of losing terminal focus, since that's a precondition for the action to run

Discussion:
i = lineWidth.newIndex; } maxCols = Math.min(maxCols, Constants.MaxSupportedCols); <del> if (maxCols > this.maxCols) { this._fixedCols = maxCols; await this._addScrollbar(); } </del> <ins> this._fixedCols = maxCols; await this._addScrollbar(); </ins> } this.focus(); }

if (!this._xterm?.element || !this._wrapperElement || !this._container || !charWidth || !this._fixedCols) { return; } <ins> if (this._fixedCols < this._xterm.buffer.active.getLine(0)!.length) { // no scrollbar needed return; } </ins> this._hasScrollBar = true; this._initDimensions(); this._fixedRows = this.rows;

newIndex++; line = buffer.getLine(newIndex); } <ins> width += line!.length; </ins> return { width, newIndex }; }
Change:
Testing In a non-split editor: ! In a split editor: ! As you can see, the breadcrumbs only show up to the file and no further.

Discussion:
if (editor) { this._bindToEditor(editor); this._disposables.add(_outlineService.onDidChange(() => this._bindToEditor(editor))); <ins> this._disposables.add(editor.onDidChangeControl(() => this._bindToEditor(editor))); </ins> } this._onDidUpdate.fire(this); }
Change:
Testing macOS Mojave 10.14.6 Version: 1.61.0-insider (Universal) Commit: Date: 2021-09-28T05:14:06.244Z Electron: 13.4.0 Chrome: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 18.7.0 open terminal run
Same with
Nice catch! Two things to be done: 1) Rewire the cli to use old code path for macOS <= 10.15 for the endgame 2) Write wrapper around to be used instead of as follow-up.
Can someone explain what is different in Big Sur compared to older versions?
from the error above the following 3 std pipe arguments are not available on older distros. tool is not public, so I couldn't find the exact release notes where this behavior was changed. For now, the safer change is to not use the path pre Big Sur while we explore alternatives using for these versions in upcoming milestone.
Ok thanks, do we have an issue for that?
Tracked in

Discussion:
import { ChildProcess, spawn, SpawnOptions } from 'child_process'; import { chmodSync, existsSync, readFileSync, statSync, truncateSync, unlinkSync } from 'fs'; <del> import { homedir, tmpdir } from 'os'; </del> <ins> import { homedir, release, tmpdir } from 'os'; </ins> import type { ProfilingSession, Target } from 'v8-inspect-profiler'; import { Event } from 'vs/base/common/event'; import { isAbsolute, join, resolve } from 'vs/base/common/path';

} } <ins> const isBigSur = isMacintosh && release() > '20.0.0'; </ins> // If we are started with --wait create a random temporary file // and pass it over to the starting instance. We can use this file // to wait for it to be deleted to monitor that the edited file

// - the launched process terminates (e.g. due to a crash) processCallbacks.push(async child => { let childExitPromise; <del> if (isMacintosh) { // On macOS, we resolve the following promise only when the child, </del> <ins> if (isBigSur) { // On Big Sur, we resolve the following promise only when the child, </ins> // i.e. the open command, exited with a signal or error. Otherwise, we // wait for the marker file to be deleted or for the child to error. childExitPromise = new Promise<void>((resolve) => {

} let child: ChildProcess; <del> if (!isMacintosh) { </del> <ins> if (!isBigSur) { </ins> // We spawn process.execPath directly child = spawn(process.execPath, argv.slice(2), options); } else { <del> // On mac, we spawn using the open command to obtain behavior </del> <ins> // On Big Sur, we spawn using the open command to obtain behavior </ins> // similar to if the app was launched from the dock // https://github.com/microsoft/vscode/issues/102975