jiebi/CodeConvo huggingface dataset:
Change:
// Process the notebook contributions but buffer changes from the resolver this._editorResolverService.bufferChangeEvents(() => { for (const info of (mementoObject[NotebookProviderInfoStore.CUSTOM_EDITORS_ENTRY_ID] || []) as NotebookEditorDescriptor[]) { <del> this.add(new NotebookProviderInfo(info)); </del> <ins> this.add(new NotebookProviderInfo(info), false); </ins> } });

Discussion:
Is this intentional? ! This makes the contribution quite slow on startup, and it feels off that it would save immediately. Would this be needed or could it run deferred?
Thanks!
Change:
); }); <del> test('issue #151631: Link parsing stoped where comments include a single quote ', () => { assertLink( `aa https://regexper.com/#%2F''%2F aa`, `   https://regexper.com/#%2F''%2F   `, </del> <ins> // Removed because of #156875 // test('issue #151631: Link parsing stoped where comments include a single quote ', () => { // 	assertLink( // 		`aa https://regexper.com/#%2F''%2F aa`, // 		`   https://regexper.com/#%2F''%2F   `, // 	); // }); test('issue #156875: Links include quotes ', () => { assertLink( `"This file has been converted from https://github.com/jeff-hykin/better-c-syntax/blob/master/autogenerated/c.tmLanguage.json",`, `                                   https://github.com/jeff-hykin/better-c-syntax/blob/master/autogenerated/c.tmLanguage.json  `, </ins> ); }); });

Discussion:
Vscodes ctrl+click links now consumes , causing it to open an invalid url (unless the link starts right after a ) Notice how the at the end of the first link is underlined clicking it takes me to , which is invalid !
The links are generated by the textual link detector What's interesting here is: If the string is just a link the link does not include the quote. If it has content after the starting quote, it includes the final quote. !
I am experiencing the same thing, with single quotes in the terminal. Here are some tests/replication steps you can run in a bash terminal: It's not clear to me if this an error in vscode or .
The current implementation of the link parser considers or to be stop characters only when the link began with such a quote character. Making quotes always be stop characters in link parsing would end up re-opening where the request was that: be identified as a link
Hmm.. very tricky indeed that link is surrounded by backticks so you could prioritize finding surrounding quotes/backticks over stopping on a quote that way if there is no starting quote/backtick, it can then stop on any quote like before how often does come up? and is that link even valid to click tho? opening it in chrome just takes me google search my problem affects almost every single file in almost every extension inside the vscode repo ! this is taken directly from vscodes C extension clicking the top link gives: !
I'm trying to make the change discussed here but my local change ends up breaking another test case, the one for In other words, I can't come up with a rule to distinguish: In both cases, the syntax agnostic link detector encounters quotes ( or ) and in one case it is desirable that the quote continue the link, while in the other case it is desirable that the quote ends the link. For a parser that is programming language agnostic, these two cases look pretty much identical. So there doesn't seem to me to be a way to have both work correctly. Looking at our own repository, it looks like it is more likely to run into the second case where a quote is a link terminator.
Change:
return await doCopySymlink(source, target, payload); } catch (error) { // in any case of an error fallback to normal copy via dereferencing <del> console.warn('[node.js fs] copy of symlink failed: ', error); </del> } }

Discussion:
For a while now when I ran unit tests on Windows I see this: ! I figured this was running all of them and just one was failing locally for some reason. The problem was much worse as it seems to not run 8000+ tests without me realizing until it gets to CI. Commenting out the test fixes the problem and runs all the tests. It seems this issue is known based on the test content, but I guess it's not handled in all cases?
Change:
font-size: 90%; display: grid; grid-template-columns: 40% 60%; <del> gap: 4px; </del> <ins> gap: 6px; padding: 2px 4px; } .extension-editor > .body > .content > .details > .additional-details-container .more-info-container > .more-info > .more-info-entry:nth-child(odd) { background-color: rgba(130, 130, 130, 0.04); </ins> } .extension-editor > .body > .content > .details > .additional-details-container .more-info-container > .more-info > .more-info-entry code {

Discussion:
Type: <bBug</b! padding (see "Last released" running directly onto the date. hanging indent (see "Last", "updated" and "Identifier" all with same left start position) VS Code version: Code - Insiders 1.73.0-insider (, 2022-11-01T15:30:14.729Z) OS version: Windows_NT x64 10.0. Modes: Sandboxed: Yes <!-- generated by issue reporter --
We closed this issue because we in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider. If you wonder what we are up to, please see our and . Thanks for your understanding, and happy coding!
Reopening as I have a PR for the first issue at least
Issue closed
Rendered like table with bg color for alternate colors !
! ! ! When the insiders comes out is there a particular theme to test this with. I don't see this even without the fix.
I see the fix. Before: <img width="147" alt="image" src=""After: <img width="138" alt="image" src=""
Change:
}); registerTerminalAction({ <del> id: TerminalCommandId.ScrollToBottom, title: localize2('workbench.action.terminal.scrollToBottom', 'Scroll to Bottom'), </del> <ins> id: TerminalCommandId.ScrollToBottomAccessibleView, title: localize2('workbench.action.terminal.scrollToBottomAccessibleView', 'Scroll to Accessible View Bottom'), </ins> precondition: ContextKeyExpr.and(ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), ContextKeyExpr.and(accessibleViewIsShown, ContextKeyExpr.equals(accessibleViewCurrentProviderId.key, AccessibleViewProviderId.Terminal))), keybinding: { primary: KeyMod.CtrlCmd | KeyCode.End,

Discussion:
I have noticed that some Action2 instances are registered that reuse an id. That's not OK because Action2 is a singleton model object, e.g it keybinding or menu registrations refer to it by id. This should be cleaned up and from then on it should be an error to reuse an id [x] [x] [x] [x] [x] command 'toggleVisibility' [x] command 'removeView'
I believe this is all the same issue somewhere in views land?
This is how these actions are registered May I know what is the suggested approach?
Don't register them twice
fixes duplication in view land by first disposing old action and only then creating new ones
you are new to this issue, there are ids that are reused for Action2 and those need to be fixed. Today, this prints a warning but it this become an error soon
Adding for
Change:
readonly gotoLineMode?: boolean; readonly waitMarkerFileURI?: URI; <ins> readonly forceProfile?: string; readonly forceTempProfile?: boolean; </ins> } export interface IAddFoldersRequest {

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. --Today, the command only supports an describing the folder/workspace path to be opened. It would be interesting to allow adding the set of extensions to be used as well, or at least the profile, just like the CLI interface created in . Thank you
To verify: Create a profile Verify passing the profile name as an argument to the command from the extension and make sure the folder is opened in that profile. Eg:
Change:
import { ClickLinkGesture, ClickLinkKeyboardEvent, ClickLinkMouseEvent } from 'vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture'; import { getLinks, Link, LinksList } from 'vs/editor/contrib/links/browser/getLinks'; import * as nls from 'vs/nls'; <del> import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; </del> import { INotificationService } from 'vs/platform/notification/common/notification'; import { IOpenerService } from 'vs/platform/opener/common/opener';

Discussion:
The content of the line: Open definition does nothing !
Also happens on Mac with Cmd+Click. Makes it very difficult to navigate my documentation.
I believe this is a result of fixing Markdown has a link provider and a definition provider. However in this case, the definition provider returns since we are not on a reference link
revert of the bad change is up
Change:
/** * A set of file filters that are used by the dialog. Each entry is a human-readable label, <del> * like "TypeScript", and an array of extensions, e.g. </del> <ins> * like "TypeScript", and an array of extensions, for example: </ins> * ```ts * { <del> * 	'Images': ['png', 'jpg'] </del> <ins> * 	'Images': ['png', 'jpg'], </ins> * 	'TypeScript': ['ts', 'tsx'] * } * ```

Discussion:
The examples in the and have a typo. The is missing as object property separator: should be
The API reference is generated from the VS Code product Moving to the VS Code product repo. After these typos are fixed there, the API reference will be updated next release at the beginning of February
Thanks for pointing out the typos! As mentioned above, the API reference will be updated when the 1.86 release goes out early February
Change:
// supported languages languages?: string[]; <ins> enableBreakpointsFor?: { languageIds?: string[] }; </ins> // debug configuration support configurationAttributes?: any;

Discussion:
felix becker php-debug extension php file not set breakpoint
Related
This is fixed, thus closing
Can't also set breakpoints on cpp.
please open a new issue. Use the option from the Help menu to do this so you include plenty of information. Add repro steps including pasted screenshots if you think they can help.
Change:
}); } async run(accessor: ServicesAccessor, resource: unknown) { <del> doWithInstance(accessor, resource)?.rename(); </del> <ins> doWithInstance(accessor, resource)?.rename('triggerQuickpick'); </ins> } });

Discussion:
Testing a terminal tab title setting your terminal to "foo" to set the name to blank string to, but I would expect it to just use my default from 1.
We discussed this and want to require a title.
I don't mean that blank titles should be allowed. I more meant how do I get back to the default I set in settings after I renamed the terminal, I feel I would expect it to let me delete my custom name and then it would use the default
You can reset the setting by clicking on the gear - is that what you mean?
No I meant is there a way to reset the terminal title to be the value of my setting instead of my custom named one?
We currently don't support going backward like that. I'll appropriately rename this issue for more discussion in October because I also wondered about this and discussed it with
Thanks sorry if I wasn't clear . My suggested UX would just be to have that be the default if you were attempt to have a blank name
oh - yes Brigit caught that case and I fixed it. so if it's set to '' or 'any number of spaces', it'll now show the process name. might've misunderstood what you were saying
But shouldn't it show whatever my setting states the default is rather than just the process name?
Sorry, the difference between our issues is she is talking about the setting I'm talking about the terminal title itself and not the setting. I want a blank rename of a terminal to reset to the value of my setting
I thought your setting was set to ''
confused - you can't set it to blank. we don't allow that
!
So my request is if my setting is and I name a terminal "foo". How do I reset "foo" back to the value of . My suggestion was that if you attempted to submit a blank name that would automatically reset to the value of your setting.
yep the name of this issue now reflects that. we'll see what says about that.
and I discussed it and it makes sense to do this
Change:
fireSettingsChange({ outputWordWrap: true, outputScrolling: true }); const inserted = outputElement.firstChild as HTMLElement; <del> assert.ok(inserted.classList.contains('word-wrap') && inserted.classList.contains('scrollable'), </del> <ins> assert.ok(outputElement.classList.contains('word-wrap') && inserted.classList.contains('scrollable'), </ins> `output content classList should contain word-wrap and scrollable ${inserted.classList}`); });

Discussion:
[ ] Notebooks (.ipynb files) [X] Interactive Window and/or Cell Scripts (.py files with #%% markers)Turn on in Turn on in Open an interactive window and run the following code snippet Version: 1.89.0 Commit: Date: 2024-05-01T02:08:25.066Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Linux x64 6.8.0-76060800daily20240311-generic v2024.4.0 Python v3.12.1 No response No response Local
Change:
*--------------------------------------------------------------------------------------------*/ import { reset } from 'vs/base/browser/dom'; <del> import { ActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems'; </del> import { IHoverDelegate } from 'vs/base/browser/ui/iconLabel/iconHoverDelegate'; import { renderIcon } from 'vs/base/browser/ui/iconLabel/iconLabels'; import { ToolBar } from 'vs/base/browser/ui/toolbar/toolbar'; <del> import { Action, IAction } from 'vs/base/common/actions'; </del> <ins> import { IAction } from 'vs/base/common/actions'; </ins> import { Codicon } from 'vs/base/common/codicons'; import { Emitter, Event } from 'vs/base/common/event'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { assertType } from 'vs/base/common/types'; import { localize } from 'vs/nls'; import { createActionViewItem, createAndFillInContextMenuActions, MenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem'; <del> import { IMenuService, MenuId, MenuItemAction } from 'vs/platform/actions/common/actions'; </del> <ins> import { Action2, IMenuService, MenuId, MenuItemAction, registerAction2 } from 'vs/platform/actions/common/actions'; </ins> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; <del> import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; </del> <ins> import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; </ins> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; import * as colors from 'vs/platform/theme/common/colorRegistry';

Discussion:
hitting tab and shift tab to get to the "command center group" and then arrow keys once in that group. !
Change:
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; <del> import { IDebugService, IBreakpoint, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, BreakpointWidgetContext, IBreakpointEditorContribution, IBreakpointUpdateData, IDebugConfiguration, State, IDebugSession, DebuggerUiMessage } from 'vs/workbench/contrib/debug/common/debug'; </del> <ins> import { IDebugService, IBreakpoint, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, BreakpointWidgetContext, IBreakpointEditorContribution, IBreakpointUpdateData, IDebugConfiguration, State, IDebugSession, DebuggerString } from 'vs/workbench/contrib/debug/common/debug'; </ins> import { IDialogService } from 'vs/platform/dialogs/common/dialogs'; import { BreakpointWidget } from 'vs/workbench/contrib/debug/browser/breakpointWidget'; import { IDisposable, dispose, disposeIfDisposable } from 'vs/base/common/lifecycle';

Discussion:
Continuing This is just a flag in Example: In this case, vscode is in control of when and where to show this message.
Is a good name? Drop the ?
If I see some "messages" related to a debugger, I first think of something like DAP messages. I would only use this property to drive some feature in the UI and it feels good to tie it to that. But if feels awkward I don't have a strong opinion.
Change:
public abstract get provider(): LanguageFeatureRegistry<object> | null; public computeStickyModel(textModel: ITextModel, modelVersionId: number, token: CancellationToken): { statusPromise: Promise<Status> | Status; modelPromise: CancelablePromise<T | null> | null } { <del> if (!this.isProviderValid(textModel)) { </del> <ins> if (token.isCancellationRequested || !this.isProviderValid(textModel)) { </ins> return { statusPromise: this._invalid(), modelPromise: null }; } const providerModelPromise = createCancelablePromise(token => this.createModelFromProvider(textModel, modelVersionId, token));

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. --<!-- 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. --I get this sticky scroll exception (note how one of the callers is ): I don't have a better repro steps, sorry. But I have seen this error in other contexts as well, just don't have exact steps. With an editor open, switch between panel views fast. Here's the gif of me doing this https://user-
Thanks for filing the issue, I'll look into it, when I have time.
Change:
}); return new Promise((c, e) => { <del> const waitForInput = new Promise<void>(resolve => once(e => (e.kind === TaskEventKind.AcquiredInput) && e.__task?.getMapKey() === taskKey, this.taskService.onDidStateChange)(() => { </del> <ins> const waitForInput = new Promise<void>(resolve => once(e => (e.kind === TaskEventKind.AcquiredInput) && getTaskKey(e.__task) === taskKey, this.taskService.onDidStateChange)(() => { </ins> resolve(); }));

Discussion:
a debug config like and a task like F5. You're all good the window. Hit F5 again, and observe the terminal with the task gets restored. get this dialog. I don't really want either of these options, it's already a background task that should be in the 'end' state  or restart the task and try to F5 again. This doesn't work either and you have to reload the window to get debugging work again
Did this work until recently?
Also doesn't a pre launch task get run every time one debugs?
I think so... I honestly don't use preLaunchTask's as much as I should due to a history of papercuts, but I definitely haven't seen this notification before. Yea, but if it's a background task that's already running it shouldn't get run again. I'm not sure how much of this issue is in debug vs tasks
The task stops running on reload of the window because the terminal is killed. That's why it has to run again on window reload. Perhaps the solution is to not reconnect (IE restart) prelaunch tasks.
Currently, we persist any background task that has problem matchers.
Should have been fixed with , pls reopen if not
I can still repro in today's Insiders
are you reproducing using the task above?
I'm using a simpler task following the other issue:
works when I use . So has to do with debugging specifically
Change:
import { ITextModelService } from 'vs/editor/common/services/resolverService'; import { ILifecycleService } from 'vs/workbench/services/lifecycle/common/lifecycle'; import { IDialogService } from 'vs/platform/dialogs/common/dialogs'; <ins> import { IEditorService, ISaveAllEditorsOptions } from 'vs/workbench/services/editor/common/editorService'; </ins> const folderName = 'test-folder'; const folderUri = URI.file(`/${folderName}`);

Discussion:
Testing I wonder if we should run the command to save all files (not untitled files) before triggering the "Continue on" fully? I think ensuring that dirty files are saved but also that the data was synced up before opening the workspace elsewhere would be best?
I am not presented with any options after running the command - perhaps we shouldn't show that in the command palette unless there are some or add an action that helps me get some options? !
Should we say here? !
Change:
public runCommand(accessor: ServicesAccessor, args: { cwd: string } | undefined): Promise<void> { const terminalService = accessor.get(ITerminalService); <del> const configurationResolverService = accessor.get(IConfigurationResolverService); const workspaceContextService = accessor.get(IWorkspaceContextService); const historyService = accessor.get(IHistoryService); const activeWorkspaceRootUri = historyService.getLastActiveWorkspaceRoot(Schemas.file); const lastActiveWorkspaceRoot = activeWorkspaceRootUri ? withNullAsUndefined(workspaceContextService.getWorkspaceFolder(activeWorkspaceRootUri)) : undefined; let cwd: string | undefined; if (args && args.cwd) { cwd = configurationResolverService.resolve(lastActiveWorkspaceRoot, args.cwd); } const instance = terminalService.createTerminal({ cwd }); </del> <ins> const instance = terminalService.createTerminal({ cwd: args?.cwd }); </ins> if (!instance) { return Promise.resolve(undefined); }

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.39.2 OS Version: macOS 10.14.3 Steps to Reproduce: the new terminal.newWithCwd command as a new keybinding: to use the new keybinding with an open editor while using VS Code Remote - SSH. Expected Result: New terminal created with the cwd set at ${fileDirname} Actual Result: Error: '${fileDirname}' can not be resolved. Please open an editor. Notes: The keybinding works correctly when working with local directories. The issue only appears over SSH. The Terminal Here extension does work over SSH and accomplishes the same thing, but I would rather use the native feature if possible. The "echo ${fileDirname}" command (run through a task) prints the correct directory over SSH.
is the resolver service being used incorrectly here? seems to resolve fine but not or .
Configuration resolver is owned by hence assigning to him.
that usage seems good. Just make sure you always pass a workspace in. Also note that might be working as expacted ${workspaceFolder} can only be resolved if a folder is opened in VSCode, not in the pruple vscode. ${fileDirname} should always be resolved if there is an open file fyi
Change:
this.statusbarHeight = isStatusbarHidden ? 0 : this.partLayoutInfo.statusbar.height; this.titlebarHeight = isTitlebarHidden ? 0 : this.partLayoutInfo.titlebar.height / getZoomFactor(); // adjust for zoom prevention <ins> const previousMaxPanelHeight = this.sidebarHeight - MIN_EDITOR_PART_HEIGHT; </ins> this.sidebarHeight = this.workbenchSize.height - this.statusbarHeight - this.titlebarHeight; let sidebarSize = new Dimension(sidebarWidth, this.sidebarHeight);

Discussion:
Steps to Reproduce: panel, maximizes the panel out, the panel is no longer maximized but still much larger than usual panel, maximizes the panel
Fixed by