jiebi/CodeConvo huggingface dataset:
Change:
//#region viewLayout changeWhitespace(callback: (accessor: IWhitespaceChangeAccessor) => void): void; //#endregion <ins> batchEvents(callback: () => void): void; </ins> } export interface IViewLayout {

Discussion:
I set a 'placeholder' editor decoration here: I noticed that when the chat input had multiple lines of text in it, then the placeholder doesn't show up. Here I show it not working, then working with a single line of text. ! Maybe it's related somehow to the issue we had in I can't debug this on my own, but it reproes 100% of the time for me, happy to help investigate.
This fixes it, but it sucks. it looks like cannot be used when certain events are fired. Looks like the view fires a scroll change event, which causes the event queue to flush, which causes a content change event, which calls the callback that sets the decoration...
AFAIK nothing changed here in the editor recently, so not sure if this is bad enough to add the workaround Henning found for this release on your side. IMHO we need to add proper placeholder API to the editor instead of doing this from the outside with injected text. We now have something like 3 or 4 places implementing placeholder text via injected text, which doesn't make sense to me.
Created for the placeholder API. Feel free to close this one in favor of
The event stack is quite complicated. Below is the stack of where the decoration is set. The core problem is that fires an event and allows event handlers to run immediately: ! Error at eval at at at at at at at at at at at at at at at at at at at at at at func at safeInvokeNoArg at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at
Change:
] }, "dependencies": { <del> "@vscode/extension-telemetry": "0.7.2-preview", </del> <ins> "@vscode/extension-telemetry": "^0.7.4-preview", </ins> "request-light": "^0.6.0", "vscode-languageclient": "^8.1.0-next.2" },

Discussion:
Opening a file (running out of sources): Activating extension '' failed: TelemetrySender.sendEventData must be a function.
This isn't fixed in the latest insiders build! I replaced my older .app file with the latest insiders and am now stuck with this error - it's happening for the Python extension, no less! Anyway I can download an older insiders build perhaps?
switching to the "Pre-Release Version" of Python ! solved the issue for me - did you try it?
Confirmed that is right -- switching to pre-release version did fix it for me as well. Thank you!
I don't see the Switch to Pre-Reease Option in here, must I activate something?
My fix to: Activating extension 'ms-' failed: TelemetrySender.sendEventData must be a function. was: pip install pyzmq --upgrade I was working with a remote connection. I also try unistalling everthing in the remote server, switch Jupyter and Python extension to PRE-RELEASE but only updating pyzmq package work. VSCODE version: 1.75.1 JUPYTER extension version: v2023.1. PYTHON extension version: v2023.2.0 Activating extension 'ms-' failed: TelemetrySender.sendEventData must be a function.
Change:
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { XtermLinkMatcherHandler } from 'vs/workbench/contrib/terminal/browser/links/terminalLinkManager'; import { TerminalBaseLinkProvider } from 'vs/workbench/contrib/terminal/browser/links/terminalBaseLinkProvider'; <del> import { normalize } from 'vs/base/common/path'; </del> <ins> import { normalize, isAbsolute } from 'vs/base/common/path'; </ins> import { convertLinkRangeToBuffer, getXtermLineContent } from 'vs/workbench/contrib/terminal/browser/links/terminalLinkHelpers'; import { isWindows } from 'vs/base/common/platform'; <ins> import { IFileService } from 'vs/platform/files/common/files'; import { URI } from 'vs/base/common/uri'; import { Schemas } from 'vs/base/common/network'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; </ins> const MAX_LENGTH = 2000;

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.58.2 OS Version: Linux x64 5.4.0-80-generic Steps to Reproduce: open a vscode window open the embedded vscode terminal any file path to a path that exists, but prepended with the uri 'file:///' prefix (example: file:////home/somedir) ctrl+click on that path error message appears: "Unable to open 'somedir': File is a directory The expected behavior (opening the directory in vscode) works for regular paths (/home/somedir)
+1
duplicate of
Can we get a little explanation of how this is a duplicate? Seems completely unrelated. This is incorrect handling of RFC 8089, RFC 3986 links while the other is failure to handle softlinks while using remote ssh. The issue here is file:// schema is treated as if it can only be a file while on the posix path it detects file vs directory.
Can reproduce the problem, it should say folder not file: ! !
Repros on Windows too. Same thing happens in the editor: ! Above should use 3 slashes:
So the link does work (tried it with multiple folders)... but I guess I expected the underline to include the bit. It's a nit and I don't feel too strongly about it, but thought I'd mention. !
let's wait until is back for that. I'm considering this verified for now
Problem is back, looks a little different though: !
I think the new problem is Windows only
Change:
'BLOCK_COMMENT_START': true, 'BLOCK_COMMENT_END': true, 'LINE_COMMENT': true, <ins> 'WORKSPACE_NAME': true, </ins> }); export class CompositeSnippetVariableResolver implements VariableResolver {

Discussion:
It would be really helpful if a variable with the repository name (workspace name or opened folder) that was available to use in the snippets. In my case, i use the snippets to create copyright messages, and i am using the project name (the same of the repository) as part of this message.
Hey I'd like to work on this. Can I give it a shot? I appreciate if you have any quick guidance.
Snippet variables are implemented and instantiated . add a variable resolver that uses the (like the and ) add a test here
Thanks :)
Change:
import { runWhenIdle } from 'vs/base/common/async'; import { Lazy } from 'vs/base/common/lazy'; import { DEFAULT_ICON } from 'vs/workbench/services/userDataProfile/common/userDataProfileIcons'; <del> import { ThemeIcon } from 'vs/base/common/themables'; </del> export class ViewContainerActivityAction extends ActivityAction {

Discussion:
I wonder if we should not overlay here: ! My understanding is that this is the only place where we show the profile icon but then its always overlayed with the gear which is quite large. I think people can make the connection that the location of the button is for settings.
I tend to agree that the overlay is superfluous, but is an underlay possible as an alternative to be tried?
We are trying to come up with a smaller gear icon for overlay ! ! I am preferring to have gear overlay icon to indicate it is for settings, this will be helpful when there are duplicates like extensions profile icon.
I am thinking to undo the overlay until we have better overlay icon.
At present we do not overlay and show the profile icon as is. Hence closing this.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> import { BugIndicatingError } from 'vs/base/common/errors'; </ins> import { LineRange } from 'vs/editor/common/core/lineRange'; import { Range } from 'vs/editor/common/core/range'; <ins> import { AbstractText, SingleTextEdit } from 'vs/editor/common/core/textEdit'; </ins> /** * Maps a line range in the original text model to a line range in the modified text model.

Discussion:
Type: <bBug</bStep 1: Create a file named with this content: Step 2: create an empty file named Step 3: Move with a terminal in the folder containing the files and run Step 4: Click on the arrow button and see that it doesn't work ! VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (38)</summaryExtensionVersion ------ vscode-nginx-conf0.3.5 swagger-viewer3.1.2 freezed0.9.6 ccs-flutter-color1.2.4 dart-code3.86.0 flutter3.86.0 jquerysnippets0.0.1 es7-react-js-snippets4.4.3 vscode-html-css2.0.9 copilot1.180.0 copilot-chat0.14.1 vscode-github-actions0.26.2 vscode-pull-request-github0.86.1 gc-excelviewer4.2.59 todo-tree0.0.226 vscode-nginx-conf-hint0.3.1 latex-workshop9.20.0 vscode-edit-csv0.9.1 plantuml2.18.1 vscode-peacock4.2.2 dotenv1.0.1 vscode-docker1.29.0 debugpy2024.5. isort2023.13. python2024.5. vscode-pylance2024.4.102 remote-containers0.354.0 cpptools1.19.9 vscode-thunder-client2.21.11 nginx-formatter0.0.13 vscode-xml0.26.1 vscode-yaml1.14.0 scala0.5.7 markdown-preview-enhanced0.8.13 even-better-toml0.19.2 vscode-icons12.7.0 vscode-nginx0.7.2 txt-syntax0.2.2 </details
working on this
Oh wow I did not realize this was fixed. I've been working on it and just submitted a PR for a similar issue.
My solution was also very similar.
sorry! It was tricky to fix though.
Change:
} } <del> if (viewDescriptorsToRegister.length) { viewsRegistry.registerViews(viewDescriptorsToRegister, VIEW_CONTAINER); } </del> if (viewDescriptorsToDeregister.length) { viewsRegistry.deregisterViews(viewDescriptorsToDeregister, VIEW_CONTAINER); } <ins> if (viewDescriptorsToRegister.length) { viewsRegistry.registerViews(viewDescriptorsToRegister, VIEW_CONTAINER); } </ins> mark('code/didRegisterExplorerViews'); }

Discussion:
Open Empty Window Add folder to the Window using command Following error is thrown
It seems you are having same command id to focus explorer/empty view - . So when user add folder to the empty window, you are registering the explorer first - which is causing this error. Empty view is getting deregistered after.
Should I make a second command? It's been this way for awhile , don't want to break previous expectations here. People don't really think of the difference between file and empty view
Safer fix is to flip registering and deregistering order.
Change:
id: `workbench.actions.menubar.focus`, title: { value: localize('focusMenu', "Focus Application Menu"), original: 'Focus Application Menu' }, keybinding: { <del> primary: KeyCode.F10, </del> <ins> primary: KeyMod.Alt | KeyCode.F10, </ins> weight: KeybindingWeight.WorkbenchContrib, when: IsWebContext },

Discussion:
This is a follow up on , which I can no longer comment on. The goal of was to align the shortcuts for stepping in the debugger between wen and electron. For this purpose, I changed the shortcut for web to also be F10 (and kept the old shortcut alt+F10 as a secondary for backwards compatibility). Unfortunately, I overlooked that on web, there is a command that does not exist on electron, which is "Focus Application Menu" ( in ), which also uses F10. Both are installed with the same priority (WorkbenchContrib), but as far as I can tell "Focus Application Menu" always takes precedence (maybe it is loaded earlier?). The good news is that my change () did not make anything worse, because we still have the old binding as secondary, and "Focus Application Menu" works as before because it takes precedence. The bad news is that my change did not have any effect (it did not make F10 work on web for the debugger as intended). I would like to discuss if there is any hope in resolving this conflict though. My understanding is that on Electron, focusing the menu bar is not handled by VSCode because there are platform specific native ways to do this: on Mac one can press on Windows it is of the desired menu item I see three ways forward: somehow increase the priority of F10 during debugging - so that F10 would go to application menu only when not suspended in the debugger - not sure how much many users intend to go to the application menu with F10 while in the debugger. When not suspended in the debugger, it could continue to go to the Application Menu. find new, maybe platform specific shortcuts for going to the Application Menu and free up F10 for stepping in the debugger. For example we could try to do something inspired by how the native shortcuts work, like adding one more modifier and otherwise keep ctrl+F2 and Alt+letter etc. live with Alt+F10 for stepping in the debugger and don't change anything (or rollback , it is mostly a no-op). Sorry for opening this can of worms... you were involved in this so far - any opinions?
Increasing the weight for the debug command should work when debugging
this is from , is it possible to change the keybinding of that command, possibly to alt+F10? Do you think this is a heavily used command?

There are also Jupyter debug commands that will conflict with this and I don't see why we should change it based on mode vs just have consistent keybindings.
here's the usage in past 28 days ! So it seems like folk are using it moderately (maybe some by accident), but I am fine with changing it to .
Thanks all for your input. Should I send a PR to move "Focus app menu" (only available with isWeb) to Alt+F10 and remove "Debug: Step over"'s secondary Alt+F10 to free that up for the "Focus app menu"? Or do you want to make that change yourself?
Alright, we are doing it. Hopefully no torches and pitchforks
Change:
return true; } <del> // with the command center enabled, we should always show if (this.configurationService.getValue<boolean>('window.commandCenter')) { return true; } </del> // if WCO is visible, we have to show the title bar if (isWCOVisible()) { return true;

Discussion:
Issue Type: <bBug</bAs as result, command center and layout control (when enabled) don't appear on fullscreen windows. This prevents me from using these features, as I always fullscreen all windows so I can easily navigate them with my keyboard using macOS Mission Control. VS Code versions: 1.68.1 (, 2022-06-14T12:52:13.188Z) 1.69.0-insider (, 2022-06-24T06:32:01.748Z) OS version: Darwin x64 21.5.0 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --Steps to Reproduce: stable or insiders on macOS these settings: VSCode if needed the window over the title bar at the top edge of the screen Everything working on a normal window: <img width="1680" alt="image" src="https://user-"Missing features on a fullscreen window: <img width="1680" alt="image" src="https://user-"
I think we need to revisit when the title bar is shown. in fullscreen we never need to show on macos, but should we always show if the command center is enabled on macos? or is this just yet another setting?
Note that while the command bar isn't enabled by default, layout controls are (but I wanted to list each setting explicitly). On my Mac, most Electron apps with custom title bars will remove the native title bar's title when fullscreen, but still show the UI outside of the title bar (so you don't have to mouse over the top of the screen to see it). I think VSCode should do this whenever the is set to .
Another thought, it would probably be a good idea to always support showing window controls outside of the title bar, since Linux doesn't have it enabled by default. So best to add UI, rather than have it exclusively in the title bar.
i would like to add that when , the layout control wont show up at all, even in normal view, i found out by pure luck
Change:
} private registerListeners(): void { <del> this._register(this.extensionManagementService.onDidInstallExtensions(async (result) => { for (const ext of result) { const index = this.remoteExtensionMetadata.findIndex(value => ExtensionIdentifier.equals(value.id, ext.identifier.id)); </del> <ins> this._register(this.extensionService.onDidChangeExtensions(async (result) => { for (const ext of result.added) { const index = this.remoteExtensionMetadata.findIndex(value => ExtensionIdentifier.equals(value.id, ext.identifier)); </ins> if (index > -1) { this.remoteExtensionMetadata[index].installed = true; <del> this.remoteExtensionMetadata[index].remoteCommands = await this.getRemoteCommands(ext.identifier.id); </del> <ins> this.remoteExtensionMetadata[index].remoteCommands = await this.getRemoteCommands(ext.identifier.value); </ins> } } }));

Discussion:
The call stack indicates that the ExtensionService failed to find an extension despite having received the onDidInstallExtension event. Is there another service I should be using to fetch an extension right after install or to wait for the extension to be registered and available?
Extension installation and extension loading into extension host are two async things. Extension loading in extension host listens on extension installation event and adds extension to the extension host. Your listener to extension installation is may be called before extension is to extension host. If you want to read the commands from a running extension, I would recommend to listen to the event when extension is to extension host which is
Change:
// Save the pid in the stack and keep looking for children of that child this._childProcessIdStack.push(result[0].pid); return this.refreshShellProcessTree(result[0].pid, result[0].executable); <del> }, error => { return error; }); </del> <ins> }, error => { if (!this._isDisposed) { return error; } }); } public dispose(): void { this._isDisposed = true; if (this._wmicProcess) { this._wmicProcess.kill(); } </ins> } /**

Discussion:
Steps to reproduce: and kill terminal very quickly This can likely happen when the terminal is killed during a call.
I can still repro this with the same stack, I don't think the PR fixes the right issue. It fails on this line, because is null: A null xterm object is passed into the constructor, which implies that the terminal instance was disposed, so I think the problem is the terminalInstance being disposed while is running:
Change:
* Use `text/uri-list` for resources dropped from the explorer or other tree views in the workbench. * * Use `files` to indicate that the provider should be invoked if any {@link DataTransferFile files} are present in the {@linkcode DataTransfer}. <del> * Note that {@linkcode DataTransferFile} entries are only created when dropping content from outside the editor, such as </del> <ins> * Note that {@linkcode DataTransferFile} entries are only created when pasting content from outside the editor, such as </ins> * from the operating system. */ readonly pasteMimeTypes?: readonly string[];

Discussion:
Testing I cloned the vscode-extension-samples repository and tried to return two edits instead of one. Only the first one appears to take effect. I am wondering if this is expected? I guess I was expecting both edits to be applied since it is possible to return an array from the method.
The thought occurred to me that the edits would appear in the paste widget, and I verified this was indeed the case. I guess, by reading the TS docs I didn't catch on that this would happen
Aside from the above comment, on reading the JS Docs, the following thoughts came to mind: For the class , I was looking at the method . Consider the following code: Do the kinds and intersect here? Or is the intersection evaluated per part, so that the above do not intersect but the below kinds do? I noticed the refers to file dropping in its JS Doc. I was wondering if this is intended? The JS Doc above the field says . The same line more-or-less can be found under .
This is expected. Each is one potential way of applying the paste. We only apply one at a time and the first one is auto applied , the kinds are scoped hierarchies of parts. When we talk about intersection, only the second example would return true. The first one would not as the two top level parts and are not the same. I'll add an example in the docs to make this more clear it applies but for pasting files. I'll change the word
Change:
@IContextViewService private readonly _contextViewService: IContextViewService, @IContextKeyService contextKeyService: IContextKeyService, private readonly _state: FindReplaceState = new FindReplaceState(), <del> private readonly _options: IFindOptions </del> <ins> private readonly _options: IFindOptions, private readonly _keybindingService?: IKeybindingService </ins> ) { super();

Discussion:
And instead pass in (or don't) a new option for the type
so the complexity here is that we can't reference the keybinding service within the super call to the constructor and need to do that to provide the options to the find input object that's read only.
the alternative would be to pass in the options from both the terminal view and terminal editor (redundant)
going to pass in an options object and handle the keybinding in simple find widget
Spent awhile on this, don't think we will get to it
Change:
const historyProviderMenu = repositoryMenus.historyProviderMenu; if (historyProviderMenu) { <del> const menuId = historyItemGroup.direction === 'incoming' ? MenuId.SCMIncomingChanges : MenuId.SCMOutgoingChanges; const menu = historyItemGroup.direction === 'incoming' ? historyProviderMenu.incomingHistoryItemGroupMenu : historyProviderMenu.outgoingHistoryItemGroupMenu; </del> <ins> const menu = historyProviderMenu.getHistoryItemGroupMenu(historyItemGroup); const resetMenuId = historyItemGroup.direction === 'incoming' ? MenuId.SCMIncomingChanges : MenuId.SCMOutgoingChanges; </ins> templateData.elementDisposables.add(connectPrimaryMenu(menu, (primary, secondary) => { <del> templateData.toolBar.setActions(primary, secondary, [menuId]); </del> <ins> templateData.toolBar.setActions(primary, secondary, [resetMenuId]); </ins> })); templateData.toolBar.context = historyItemGroup;

Discussion:
Testing I expected the action to appear on an unpublished branch, not the action. I am aware they both do the same. <img width="647" alt="Screenshot 2024-01-24 at 11 37 40" src=""
Change:
bootstrapWindow.load(['vs/code/electron-browser/issue/issueReporterMain'], function (issueReporter, configuration) { issueReporter.startup(configuration); <del> }, { forceEnableDeveloperKeybindings: true }); </del>  No newline at end of file <ins> }, { forceEnableDeveloperKeybindings: true, disallowReloadKeybinding: true }); </ins>

Discussion:
Issue Type: <bBug</bHitting Ctrl+R refresh Issue Report window content and the filled information are lost after refreshing. VS Code version: Code 1.35.1 (, 2019-06-12T14:27:31.086Z) OS version: Linux x64 4.15.0-54-generic <details<summaryExtensions (15)</summaryExtensionVersion ------ githistory0.4.6 es7-react-js-snippets2.3.0 json-tools1.0.2 prettier-vscode1.9.0 composer-support-client0.19.12 golang-tdd0.0.9 solidity0.0.56 vscode-docker0.7.0 python2019.6. cpptools0.24.0 Go0.11.4 sqltools0.19.6 material-icon-theme3.8.0 sass-indented1.5.1 gitblame2.8.1 </details<!-- generated by issue reporter --