jiebi/CodeConvo huggingface dataset:
Change:
Repro: 2 terminals dragging one it into the actual terminal and pass over the other tab briefly, it will get focused even though the mouse didn't stay there for long enough !

Discussion:
getDragLabel?(elements: T[], originalEvent: DragEvent): string | undefined; onDragStart?(data: IDragAndDropData, originalEvent: DragEvent): void; onDragOver(data: IDragAndDropData, targetElement: T | undefined, targetIndex: number | undefined, originalEvent: DragEvent): boolean | IListDragOverReaction; <ins> onDragLeave?(data: IDragAndDropData, targetElement: T | undefined, targetIndex: number | undefined, originalEvent: DragEvent): void; </ins> drop(data: IDragAndDropData, targetElement: T | undefined, targetIndex: number | undefined, originalEvent: DragEvent): void; onDragEnd?(originalEvent: DragEvent): void; }

this.disposables.add(addDisposableListener(this.domNode, 'dragover', e => this.onDragOver(this.toDragEvent(e)))); this.disposables.add(addDisposableListener(this.domNode, 'drop', e => this.onDrop(this.toDragEvent(e)))); <del> this.disposables.add(addDisposableListener(this.domNode, 'dragleave', _ => this.onDragLeave())); </del> <ins> this.disposables.add(addDisposableListener(this.domNode, 'dragleave', e => this.onDragLeave(this.toDragEvent(e)))); </ins> this.disposables.add(addDisposableListener(this.domNode, 'dragend', e => this.onDragEnd(e))); this.setRowLineHeight = getOrDefault(options, o => o.setRowLineHeight, DefaultOptions.setRowLineHeight);

return true; } <del> private onDragLeave(): void { </del> <ins> private onDragLeave(event: IListDragEvent<T>): void { </ins> this.onDragLeaveTimeout.dispose(); this.onDragLeaveTimeout = disposableTimeout(() => this.clearDragOverFeedback(), 100); <ins> if (this.currentDragData) { this.dnd.onDragLeave?.(this.currentDragData, event.element, event.index, event.browserEvent); } </ins> } private onDrop(event: IListDragEvent<T>): void {

return this.dnd.onDragOver(data, targetElement, targetIndex, originalEvent); } <ins> onDragLeave(data: IDragAndDropData, targetElement: T, targetIndex: number, originalEvent: DragEvent): void { this.dnd.onDragLeave?.(data, targetElement, targetIndex, originalEvent); } </ins> onDragEnd(originalEvent: DragEvent): void { if (this.dnd.onDragEnd) { this.dnd.onDragEnd(originalEvent);

return elements.length === 1 ? elements[0].title : undefined; } <ins> onDragLeave() { this._autoFocusInstance = undefined; this._autoFocusDisposable.dispose(); this._autoFocusDisposable = Disposable.None; } </ins> onDragStart(data: IDragAndDropData, originalEvent: DragEvent): void { if (!originalEvent.dataTransfer) { return;
Change:
Steps to Reproduce: an empty window the trust editor, and trust the window the window Expected: Window is trusted Actual: Window is not trusted
This is also repros when you have the setting enabled: <img width="1024" alt="CleanShot 2021-06-08 at 08 17 39 src="https://user-"
Pushed a fix for this issue into , in case we will want to take this as a candidate for the June release.

Discussion:
return true; } <del> if (!this._initialized) { return false; </del> <ins> if (this.environmentService.extensionTestsLocationURI) { return true; // trust running tests with vscode-test </ins> } // Remote - remote authority explicitly sets workspace trust

return this._remoteAuthority.options.isTrusted; } <del> if (this.environmentService.extensionTestsLocationURI) { return true; // trust running tests with vscode-test } </del> if (this.workspaceService.getWorkbenchState() === WorkbenchState.EMPTY) { // Use memento if present, otherwise default to restricted mode // Workspace may transition to trusted based on the opened editors return this._trustState.isTrusted ?? false; } <ins> if (!this._initialized) { return false; } </ins> return this.getUrisTrust(this.getWorkspaceUris()); }
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 <!-- 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: N/A OS Version: N/A Steps to Reproduce: presence of in the example above means it should apply only to documents, not "all" as the text suggests

Discussion:
* { language: 'typescript', scheme: 'file' } * * @example <caption>A language filter that applies to all package.json paths</caption> <del> * { language: 'json', scheme: 'untitled', pattern: '**​/package.json' } </del> <ins> * { language: 'json', pattern: '**​/package.json' } </ins> */ export interface DocumentFilter {
Change:
This came in as feedback from configure ! Using I believe the color can be made darker on the dark theme, as the current contrast is very high: !
Just make sure to have a larger contrast ratio than the required for accessibility. More details for those interested can be found . Thank you
I reduced it to 3.1:1 for dark theme: ! It is 3.6:1 for light theme: (personally, I would not reduce it to 3:1 here) ! Btw. tool is amazing.

Discussion:
export const editorUnnecessaryCodeOpacity = registerColor('editorUnnecessaryCode.opacity', { dark: Color.fromHex('#000a'), light: Color.fromHex('#0007'), hc: null }, nls.localize('unnecessaryCodeOpacity', 'Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.')); export const ghostTextBorder = registerColor('editorGhostText.border', { dark: null, light: null, hc: Color.fromHex('#fff').transparent(0.8) }, nls.localize('editorGhostTextBorder', 'Border color of ghost text in the editor.')); <del> export const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#FFFa'), light: Color.fromHex('#0007'), hc: null }, nls.localize('editorGhostTextForeground', 'Foreground color of the ghost text in the editor.')); </del> <ins> export const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#ffffff56'), light: Color.fromHex('#0007'), hc: null }, nls.localize('editorGhostTextForeground', 'Foreground color of the ghost text in the editor.')); </ins> const rulerRangeDefault = new Color(new RGBA(0, 122, 204, 0.6)); export const overviewRulerRangeHighlight = registerColor('editorOverviewRuler.rangeHighlightForeground', { dark: rulerRangeDefault, light: rulerRangeDefault, hc: rulerRangeDefault }, nls.localize('overviewRulerRangeHighlight', 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.'), true);
Change:
To load local resources (for example ones bundled with an extension), the  method must be used. As far as I can tell, when a URI produced in this way is requested by a webview, VSCode serves it via something like a local webserver. But there is no way to configure the MIME type that the URI gets served with. This request is to add a way to set the MIME type. This is important for extensions which want to load WebAssembly resources in the webview. The most efficient method to do so is , but this only works if the WASM blob is served as . So currently it doesn't seem possible to load WASM in a webview in this way. Since fallback methods may fail to cache WASM compilation results, I've measured that for a large WASM blob it's actually more efficient to load it from the internet via , as then subsequent loads reuse WASM compilation results, than it is to load it from a local resource.
/verified

Discussion:
['.xhtml', 'application/xhtml+xml'], ['.oft', 'font/otf'], ['.xml', 'application/xml'], <ins> ['.wasm', 'application/wasm'], </ins> ]); export function getWebviewContentMimeType(resource: URI): string {
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: 1.58.0-Insiders (insiders) OS Version: mac Steps to Reproduce: Cell Execution summary information is not passed to notebook deserializer PR submitted here /cc

Discussion:
cellKind: cell.cellKind, language: cell.language, source: cell.source, <ins> internalMetadata: cell.internalMetadata, metadata: cell.metadata, </ins> outputs: cell.outputs.map(toNotebookOutputDto) }; }
Change:
Repro: terminal move from terminal view to editor the terminal editor to the right side create terminal editor command <img width="1123" alt="Screen Shot 2021-06-16 at 4 35 40 AM" src="https://user-"
One more step needed to repro this - after step 3, focus the left editor.
This works for me now off of main
Original issue still occurring in today's Insiders. !
investigating
Interesting to note - the terminal appears in the blank editor if you: move it to a new group add a terminal editor instance to its group splitting it does not bring it back though unrelated to the move terminal view to editor - can repro by: create terminal in editor area drag and drop it focus anywhere else create terminal in editor area
Removing this line resolves this issue. might cause other problems though, so testing it out
That fix breaks reconnect occasionally
This bug is caused by the terminal instance getting detached from the element when is called again to create another terminal editor. It is clear that we need a conditional within to decide when it's appropriate to . Some things I tried: - check if the is a terminal editor and if not, do not - this fixes the bug, but then that editor does not get re-attached on reload a combo of the above using the for now, the following fixes the bug and does not impact the persistence of the editors: setting within to
I've shared with you offline what I think the right fix is here (removing the pointer to the terminalEditorinput in the old re-used editor pane). As a test, I've verified that even with the SIDE_GROUP fix, you can repro this bug. Repro Steps: 2 side by side untitled editors terminal in panel terminal to editor (will be in the right group) terminal editor to left group focus is in left group terminal editor (will open in right group and left editor will be blank)

Discussion:
import { TerminalEditor } from 'vs/workbench/contrib/terminal/browser/terminalEditor'; import { TerminalEditorInput } from 'vs/workbench/contrib/terminal/browser/terminalEditorInput'; import { SerializedTerminalEditorInput } from 'vs/workbench/contrib/terminal/browser/terminalEditorSerializer'; <del> import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; </del> <ins> import { IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService'; </ins> export class TerminalEditorService extends Disposable implements ITerminalEditorService { declare _serviceBrand: undefined;

await this._editorService.openEditor(input, { pinned: true, forceReload: true <del> }); </del> <ins> }, SIDE_GROUP ); </ins> } getOrCreateEditorInput(instance: ITerminalInstance | SerializedTerminalEditorInput, isFutureSplit: boolean = false): TerminalEditorInput {
Change:
I think a hover should not remain open when I type somewhere. !
Hi, can you please share more details on how to exactly reproduce the issue and what version/OS? I would like to work on this issue.
To repro: search side bar into text box an icon in the side bar to get the hover to show some letters, the hover stays visible You might need to use the to get the new style hovers to show up

Discussion:
} else { hoverDisposables.add(addDisposableListener(options.target, EventType.CLICK, () => this.hideHover())); } <ins> const focusedElement = <HTMLElement | null>document.activeElement; if (focusedElement) { hoverDisposables.add(addDisposableListener(focusedElement, EventType.KEY_DOWN, () => this.hideHover())); } </ins> if ('IntersectionObserver' in window) { const observer = new IntersectionObserver(e => this._intersectionChange(e, hover), { threshold: 0 });
Change:
Issue Type: <bFeature Request</bMy organization forbids using PowerShell, so launching a terminal by default fails. I tried the debugging steps and enabled trace logging, but there were no useful error messages either in the log ("Terminal process exit (instanceId: 1) with code undefined") or the popup window ("Cannot create process, error code: 1260"). (On hindsight, the tip to "try launching your terminal" would've been useful, if I had found the default value for the integrated terminal sooner. The distinction between "integrated" and "external" is not yet clear to me.) My suggestion is displaying the attempted command either in the logs or the popup, which would have directed me sooner that it was trying to launch PowerShell instead of CMD. For any searcher that finds this: the solution for me was changing the setting to VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Searching for 1260 shows: So it's fairly obvious if you look that up. We should be able to handle it, here's where the exception is thrown: That should be thrown when running : Note that trying different shells is much easier now if you upgrade to the latest: !

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:
<!-- 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.58.0-insider OS Version: Windows 10 Steps to Reproduce: a text editor open in editor group 1 a notebook into editor group 2 focus to text editor on kernel selector kernel picker quickpick does not appear focus to notebook editor kernel selector now puts up the kernel picker quickpick This is because clicking on command buttons in the notebook editor does not set focus to the active editor, but the command assumes that focus is on the notebook editor when handling the command. This also affects the interactive window because the interactive toolbar inherits the same action. I suspect this is the reason why the kernel picker sporadically appears 'stuck': ! /cc
Quick update--this is actually because returns undefined when focus is not on the notebook editor. But the run context contains the . We should be using that to resolve the target editor.

Discussion:
import { HoverProviderRegistry } from 'vs/editor/common/modes'; import { Schemas } from 'vs/base/common/network'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; <ins> import { NotebookEditorWidget } from 'vs/workbench/contrib/notebook/browser/notebookEditorWidget'; </ins> registerAction2(class extends Action2 { constructor() {

}); } <del> async run(accessor: ServicesAccessor, context?: { id: string, extension: string; }): Promise<boolean> { </del> <ins> async run(accessor: ServicesAccessor, context?: { id: string, extension: string, ui?: boolean, notebookEditor?: NotebookEditorWidget }): Promise<boolean> { </ins> const notebookKernelService = accessor.get(INotebookKernelService); const editorService = accessor.get(IEditorService); const quickInputService = accessor.get(IQuickInputService); const labelService = accessor.get(ILabelService); const logService = accessor.get(ILogService); <del> const editor = getNotebookEditorFromEditorPane(editorService.activeEditorPane); </del> <ins> const editor = context?.notebookEditor ?? getNotebookEditorFromEditorPane(editorService.activeEditorPane); </ins> if (!editor || !editor.hasModel()) { return false; }
Change:
When using touch instead of a mouse, touching a terminal does not move the focus to the terminal. Clicking however does.
Probably need to move to pointer events in
This really is annoying on devices, such as good ol' Surface Pro 3, where it is natural to use mostly touch and otherwise keyboard shortcuts. Unfortunately, focusing the terminal pane has no configurable shortcut that I'm aware of. Or does it have one?
I tried simulated touch via devtools mobile emulation as well as touching the terminal on my phone and both work so I'm not sure what would be causing this. I don't have a touchscreen device other than those and my phone doesn't want to load a Codespace.
It works in Demo section on , but not it VS Code. I don't have access to Codespaces so can't tell if it's reproducible there. Also it looks like Web Test Playground doesn't have terminal at all.
Yeah I'm blocked fixing this unfortunately, maybe can look at this if there's time this month.
I can confirm that touch again works as expected with on my Surface Pro 3.

Discussion:
listener.dispose(); }); })); <ins> this._register(dom.addDisposableListener(xterm.element, 'touchstart', () => { xterm.focus(); })); </ins> // xterm.js currently drops selection on keyup as we need to handle this case. this._register(dom.addDisposableListener(xterm.element, 'keyup', () => {
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. --extensions on C++ source files can be used to inform Visual Studio that this file is a C++ module interface file, . However, in Visual Studio Code, they are not automatically detected as C++ code. Code should mark files with the extension as C++.

Discussion:
".ino", ".inl", ".ipp", <ins> ".ixx", </ins> ".hpp.in", ".h.in" ],
Change:
Testing Open keybindings editor and interactive window in two editor groups Check that input editor has shift + enter as keybinding to execute Change the keybinding to some other key Placeholder is not updated
This doesn't seem to work for me on Windows:
sorry that's the wrong command, the Jupyter extension contributes multiple Shift+Enter keybindings. Could you please try changing the extension's keybinding for ? E.g. !
Thanks!

Discussion:
this.#historyService = historyService; codeEditorService.registerDecorationType('interactive-decoration', DECORATION_KEY, {}); <ins> this._register(this.#keybindingService.onDidUpdateKeybindings(this.#updateInputDecoration, this)); </ins> } protected createEditor(parent: HTMLElement): void {
Change:
Had a quick chat with on the new built-in getting started flow for notebooks. When starting off with a new notebook the user will have the ability to either change kernel or change the language. If they decide to change the language first, a drop down list with all supported languages appears. ! However, a user may not have the required kernels to use certain languages and may lead to confusion when they cannot use one they have selected. We were thinking it would be good to limit the languages in the list to just those that would be supported based on the kernels on a user's machine/extensions installed that provide kernels. We do something similar with the kernel selector today - If user selects a kernel, we only show the languages supported by the kernel. Below is example if user selects .NET kernel. ! The idea is to have a "global" version of the above experience.
I implemented this, but in reality I think that we almost always auto-select a kernel now. And also, the list is still pretty long since so many languages can be supported in Jupyter.

Discussion:
const modelService = accessor.get(IModelService); const quickInputService = accessor.get(IQuickInputService); const languageDetectionService = accessor.get(ILanguageDetectionService); <ins> const kernelService = accessor.get(INotebookKernelService); let languages = context.notebookEditor.activeKernel?.supportedLanguages; if (!languages) { const matchResult = kernelService.getMatchingKernel(context.notebookEditor.textModel); const allSupportedLanguages = matchResult.all.flatMap(kernel => kernel.supportedLanguages); languages = allSupportedLanguages.length > 0 ? allSupportedLanguages : languageService.getRegisteredLanguageIds(); } </ins> const providerLanguages = new Set([ <del> ...(context.notebookEditor.activeKernel?.supportedLanguages ?? languageService.getRegisteredLanguageIds()), </del> <ins> ...languages, </ins> 'markdown' ]);
Change:
Now that the feature has matured in its implementation, consider changing the default to .
I will do this as first action next milestone!

Discussion:
class InlineEditorSuggest extends BaseEditorOption<EditorOption.inlineSuggest, InternalInlineSuggestOptions> { constructor() { const defaults: InternalInlineSuggestOptions = { <del> enabled: false, </del> <ins> enabled: true, </ins> mode: 'subwordSmart' };

}); }); <del> test('Does not trigger automatically by default', async function () { </del> <ins> test('Does trigger automatically if disabled', async function () { </ins> const provider = new MockInlineCompletionsProvider(); await withAsyncTestCodeEditorAndInlineCompletionsModel('', <del> { fakeClock: true, provider }, </del> <ins> { fakeClock: true, provider, inlineSuggest: { enabled: false } }, </ins> async ({ editor, editorViewModel, model, context }) => { model.setActive(true);