jiebi/CodeConvo huggingface dataset:
Code change:
group: '', title: nls.localize('actions.clipboard.cutLabel', "Cut"), order: 1 <ins> }, { menuId: MenuId.SimpleEditorContext, group: CLIPBOARD_CONTEXT_MENU_GROUP, title: nls.localize('actions.clipboard.cutLabel', "Cut"), when: EditorContextKeys.writable, order: 1, </ins> }] })) : undefined;

Related discussion:
text: re focus SCM input show context menu the is a entry "Command Palette..." which is awkward <img width="703" alt="image" src="https://user-"
Related to this, on my system that context menu also gives me entries that have been contributed by a couple of my extensions.
Same issue on macOS as well
This happens across all our inputs which use the Editor. IMO we should not include all those contributions and should just have , & in that menu. What's the simplest way towards this
The "Command Palette..." should potentially have a better context key for , not :
Thanks! But this is actually only half of the story. As mentions, extension contributed commands show up: ! Should we file issues to these extensions, suggesting to change their clauses?
It might be better/simpler to have another menu id, something like or even something SCM specific
To reproduce, you can use:
Code change:
"type": "array", "markdownDescription": "%config.branchRandomNameDictionary%", "items": { <del> "type": "string" </del> <ins> "type": "string", "enum": [ "adjectives", "animals", "colors", "numbers" ], "enumDescriptions": [ "%config.branchRandomNameDictionary.adjectives%", "%config.branchRandomNameDictionary.animals%", "%config.branchRandomNameDictionary.colors%", "%config.branchRandomNameDictionary.numbers%" ] </ins> }, "default": [ "adjectives",

Related discussion:
text: Testing The description of 'git.branchRandomName.dictionary' could be improved to say that each value represents a segment.
Code change:
"type": "array", "markdownDescription": "%config.branchRandomNameDictionary%", "items": { <del> "type": "string" </del> <ins> "type": "string", "enum": [ "adjectives", "animals", "colors", "numbers" ], "enumDescriptions": [ "%config.branchRandomNameDictionary.adjectives%", "%config.branchRandomNameDictionary.animals%", "%config.branchRandomNameDictionary.colors%", "%config.branchRandomNameDictionary.numbers%" ] </ins> }, "default": [ "adjectives",

Related discussion:
text: Testing Open the settings UI for the settings and add new values. Observe that you can any input (not just , ...) and there is no warning when a value is mistyped. This can be easily improved by adding an enum to the items: This will limit the items to the given values and show as a combo box in the settings UI: !
Code change:
return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

Related discussion:
text: Type: <bBug</bWhen pressing to collapse all nodes in a list view it leaves selection in such a state that you cannot expand nodes with until you do something to change the selection. ! I believe what's happening is is leaving the originally selected node selected. So after executing the command you end up with 2 selections, your original selection plus the last root node in the list. The original selection is the primary selection, and if it has no children does not have anything to expand and is a no-op. As a user it looks like you have the root node selected, which has children to expand, but pressing does nothing. Pressing then expands the list to reveal your original selection and you see that you unexpectedly have multiple selections. The current behavior of appears to be: Leave the originally selected node selected Add a second selection to the last root node in the list The expected behavior here is: Move selection to the root node of your currently selected node Ideally this also retains multiple selection: each selection is moved to the root node of that selection. VS Code version: Code - Insiders 1.76.0-insider (, 2023-02-10T16:22:19.445Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Looking at this again in the File Explorer it looks like the selection highlight is left on the where the original selection was despite the fact that the node is now in a different position. However, the "real" selection is still on the node. This means it looks like one thing is highlighted and pressing opens a different thing.
Just submitted a PR for this. Could you please review it?
What is the behavior supposed to be? Here's what I see: keyboard to focus a tree node that has a parent to collapse all moves to the whole tree and arrow down takes me to the first tree element. Right arrow does nothing.
The current behavior sort-of fixes the issue, insofar as is dodges it by doing something less desirable - moves selection to the whole tree. Imo, selection should remain on the root node(s) of whichever tree branch selection is currently in.
Code change:
return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

Related discussion:
text: I think this is what the previous behavior was trying to do, it just had an issue with leaving selection in a bad state. A couple examples ([x] denotes current selection): Start state End state, after Stat state End state
I agree, feel free to send an issue for it. Your observations are the fixed state. Here's the entire story: Marking it as verified.
Code change:
return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

Related discussion:
text: Testing focus on trusted URI list of items tab to navigate to the X to remove an item. Press to trigger removal nicely gets removed from the list, however focus is lost Focus should be preserved in the list on the neighbour item (example: checkout how Explorer does that when deleting a file). I thought this would be tackled via
The trust editor does a lot of full page re-rendering which I should improve (remove) so I doubt this is an issue with the table widget itself.
Code change:
menu: [{ id: MenuId.ViewTitle, group: 'navigation', <del> order: 3, </del> <ins> order: 2, </ins> when: ContextKeyExpr.and(ContextKeyExpr.equals('view', VIEW_ID), Constants.InTreeViewKey.toNegated()), }] });

Related discussion:
text: Those who are used to having the collapse button on the far right might accidentally hit the search tree toggle. <img width="502" alt="image (2)" src="https://user-"Ideally, move this icon to the other side to prevent confusion. cc
To clarify: I think any new position will have an impact to someones muscle memory, that is probably hard to avoid. For me personally the collapse action was heavily used in search results. maybe for guidance, I also feel like we have quite exhausted the number of actions for the viewlet, maybe about time to think about introducing a "..." and move some there?
That's true, it is getting a little crowded. What else would be in the ? Might seem odd if we don't have plans for anything else in there?
For reference, the button is here for source control (outside of the ) so I wonder if people will expect it to be an actual button with an icon in search? <img width="241" alt="image" src="https://user-"
Yeah I like the idea of keeping this in sync with other views, though we probably missed out on keeping some of the buttons in sync, like the refresh button...
Should we remove the "Open Search Editor" action? it is duplicate, there is a link action also from the results: !
cc
Eh, I think you might want to open a search editor before doing a search in the sidebar too.
! I did some thinking and I think it should go here because: shouldn't go in the far left or right because people probably have muscle memory as refresh/collapse as side-most buttons. shouldn't go on either side of because the icon for that and are too similar, may cause misclicks. So, by process of elimination, it ends up where I placed it in the photo. Any opinions?
I created to move it to the place that I mentioned, but I'm open to other options in the future. Just seems that the new position should be better than what we have now, so I wanted to merge it into insiders at least.
Thanks!
Code change:
} picker.contextKey = descriptor?.contextKey; picker.filterValue = (value: string) => value.substring(descriptor ? descriptor.prefix.length : 0); <del> if (descriptor?.placeholder) { picker.ariaLabel = descriptor?.placeholder; } </del> // Pick mode: setup a promise that can be resolved // with the selected items and prevent execution

Related discussion:
text: cc: Type: <bBug</bSteps to reproduce: at least 2 files in VSCode. orca. ctrl+tab to switch to the next open file. In my environment orca announces something similar to the following: Is this the expected behavior? VS Code version: Code - Insiders 1.78.0-insider (, 2023-04-06T05:21:17.374Z) OS version: Linux x64 6.2.8-200.fc37.x8664 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (42)</summaryExtensionVersion ------ doxdocgen1.4.0 vscode-markdownlint0.49.0 vscode-eslint2.4.0 EditorConfig0.16.4 copilot1.79. rest-client0.25.1 better-cpp-syntax1.17.2 docomment1.0.0 azure-pipelines1.208.0 vscode-docker1.24.0 csharp1.25.4 vscode-dotnet-runtime1.6.0 vscode-kubernetes-tools1.3.11 remote-containers0.289.0 remote-ssh0.101. remote-ssh-edit0.84.0 azure-account0.11.3 cmake-tools1.13.45 cpptools1.15.1 cpptools-extension-pack1.3.0 makefile-tools0.6.0 powershell2023.3.3 remote-explorer0.5. vsliveshare1.0.5834 oracledevtools21.5.0 fabric8-analytics0.3.6 java1.17. vscode-xml0.25. vscode-yaml1.12.2 sonarlint-vscode3.16.0 cmake0.0.17 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 vscode-boot-dev-pack0.2.1 vscode-spring-boot1.45.0 vscode-java-debug0.49. vscode-java-dependency0.21. vscode-java-pack0.25. vscode-java-test0.38. vscode-maven0.41.
Code change:
} picker.contextKey = descriptor?.contextKey; picker.filterValue = (value: string) => value.substring(descriptor ? descriptor.prefix.length : 0); <del> if (descriptor?.placeholder) { picker.ariaLabel = descriptor?.placeholder; } </del> // Pick mode: setup a promise that can be resolved // with the selected items and prevent execution

Related discussion:
text: vscode-spring-boot-dashboard0.12.0 vscode-spring-initializr0.11.2 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This is happening because of the fix for I think it is behaving as designed, though will leave that with
That's a bit weird. Since experience does not visually render a placeholder. So I would not expect it gets read out.
Question is, should it say nothing, or is the aria-label for not correct and it should be ? I'm leaning "nothing" because otherwise they might have to hold down until the actual quick pick option highlighted is read out.
I have a fix out with the "nothing" idea... but would love to know what you folks think before I merge.
In version 1.77, when I press ctrl+tab, orca informs me that the focus has moved to a list box and the name of the next file is read. Imagining the following scenario: two files, a.js and b.js. start editing the a.js file. press ctlr+tab. My screen reader reads the following information: List Box, b.js. In my view this behavior would be sufficient.
It is fixed, thanks.
Code change:
if (configuration.enableTsServerTracing) { if (tsServerTraceDirectory) { <del> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory}`); </del> <ins> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory.fsPath}`); </ins> } else { this._logger.error(`<${kind}> Could not create trace directory`); }

Related discussion:
text: Type: <bBug</btypescript server keeps crashing after the latest update VSCODE ! I can reproduce this with all the extensions disabled. LOG: ! VS Code version: Code - Insiders 1.76.0-insider (, 2023-02-03T05:23:17.202Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ ng-template15.1.0 atlascode3.0.1 vscode-markdownlint0.49.0 vscode-eslint2.2.6 githistory0.6.19 gitlens13.2.0 prettier-vscode9.10.4 vscode-yaml1.11.0 sonarlint-vscode3.14.0 code-spell-checker2.16.0 vscode-stylelint1.2.3 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please try collecting the TS Server log from the crashed instance: VS Code and reproduce the problem the section of the output panel the very top, find the first line that prints to path to the semantic error log file. It should look something like: That file contains the typescript logs. Look through that log file for the first error or stack trace you see. If you can share the log, I can also take a look to see if anything stands out
, for some reason the log file location is shown as [Object object] (as pointed out by the pink arrow), I checked in the folder pointed out by the red arrow and the folder is empty. ! I have checked this for multiple folder I could see in the log prompt but all of them are empty.
a Microsoft member created same/duplicate issue , in case this could help with the debugging
Confirming that I also see when using verbose setting and all the log files are empty for me, which is also noted and shown on microsoft/vscode.
For me the directory under the object object is also empty, is that the case with you?
Yes, same.
should be fixed in the next insider release: microsoft/vscode
the object object issue is resolved, however, the file pointed by the log still does not exist. can you give it a try if you can see the logs?
Code change:
if (configuration.enableTsServerTracing) { if (tsServerTraceDirectory) { <del> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory}`); </del> <ins> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory.fsPath}`); </ins> } else { this._logger.error(`<${kind}> Could not create trace directory`); }

Related discussion:
text: i did some commenting in the file and found that commenting out setting stops the repeated crash. Note: I am not sure why I have /enabled this setting in the first place.
Oh wow, exactly the same for me. I also do not remember ever setting , but it was in my and removing it fixes the crash for me too!
Also confirming that with latest update is fixed but log directories are still empty. I've closed my bug as a duplicate of this one since it's pretty clear these are the same issue now. Are you able to repro using is Also do you know if this would ever have been set on user's behalf, which could impact the severity here if lots of people would have this in their settings?
Thanks and I can confirm that enabling cause the server to crash on windows. Oddly I don't see it on Mac. The server is likely crashing before logging can start too, which is why the log files don't exist I'm not sure how this setting got enabled for you. It's only meant for detailed performance investigations and should never be turned on automatically
Yay, thank you and
Code change:
VSCODE_CLI_TARGET: aarch64-unknown-linux-gnu VSCODE_CLI_ARTIFACT: vscode_cli_linux_arm64_cli VSCODE_CLI_ENV: <ins> CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc </ins> OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux/lib OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux/include

Related discussion:
text: The stage is now a bottleneck to having the platform specific stages run: ! Each job compiles each target serially. We could further parallelize all targets across different jobs. !
Code change:
}); } <del> async withNotebookDataProvider(resource: URI): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> { const [first] = this._notebookProviderInfoStore.getContributedNotebook(resource); if (!first) { </del> <ins> async withNotebookDataProvider(resource: URI, viewType?: string): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> { const providers = this._notebookProviderInfoStore.getContributedNotebook(resource); // If we have a viewtype specified we want that data provider, as the resource won't always map correctly const selected = viewType ? providers.find(p => p.id === viewType) : providers[0]; if (!selected) { </ins> throw new Error(`NO contribution for resource: '${resource.toString()}'`); } <del> await this.canResolve(first.id); const result = this._notebookProviders.get(first.id); </del> <ins> await this.canResolve(selected.id); const result = this._notebookProviders.get(selected.id); </ins> if (!result) { <del> throw new Error(`NO provider registered for view type: '${first.id}'`); </del> <ins> throw new Error(`NO provider registered for view type: '${selected.id}'`); </ins> } return result; }

Related discussion:
text: Verifying Version: 1.55.0-insider Commit: Date: 2021-03-25T16:24:13.227Z clone and open in vscode add a to F5 to run the extension Open an untitled file In the editor's tab, choose from the context menu, pick ! a different notebook is opened, no console log statement printed !
Are you able to open markdown notebooks without issue on non untitled files?
Yes, that works. I also tried to open a GitHub issue notebook on an untitled file and while a notebook seems to open which has a 'Github Issues' cell, the function in the GitHub issue notebook source seems not be called. So I'm a bit confused
I did some investigation with this and I can't reproduce it out of sources. When I select it through the reopen with dialog the notebook service receives the correct viewtype, although it always fails to open with the error . I'm not sure why it is failing as the inputs get created correctly and everything seems to be passing through the right way. Let me know if you want to investigate together.
Code change:
const icon = alwaysPrompt ? '$(lock)' : alwaysCommitToNewBranch ? '$(git-branch)' : undefined; // Tooltip (default) <del> let tooltip = !alwaysCommitToNewBranch ? l10n.t('Commit Changes') : l10n.t('Commit Changes to New Branch'); </del> <ins> const branch = this.repository.HEAD?.name; let tooltip = alwaysCommitToNewBranch ? l10n.t('Commit Changes to New Branch') : branch ? l10n.t('Commit Changes on '{0}'', branch) : l10n.t('Commit Changes'); </ins> // Tooltip (in progress) if (this.repository.operations.isRunning(OperationKind.Commit)) {

Related discussion:
text: <!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --In the source control, after changes are staged and a commit message is provided, it's no more possible to see easily the current branch name to commit to: ! The validation button displays a pop-up message, but this does not really add value: ! I propose to display the current branch name in this pop-up: ! This would dispel any doubts about the branch on which one commits. By the way, the same is possible for the "Publish Branch" button. Is it the right idea?
I'll submit a PR for this.
Whoaww, great, thanks. I had a look on it, mostly for curiosity, but I am very far from vsc dev currently... I will review with pleasure.
It's ready for review.
It looks so easy! Thanks. Do you think the 'Publish Branch' popup should be relooked too? The branch name appears in the commit textfield, but depending of the sidebar size it's not always visible. !
~That makes sense. I'll update the PR.~ I first thought this was stated in the issue description too, but it wasn't. So, we should hear from on this.
It is, at the end:
I guess I have to compile the whole vscode if I want to live test?...
Yes. If it's your first time, I suggest using GitHub Codespaces or dev containers, instead of compiling/running it on your plain OS environment.
I've updated the PR to include the branch name on the "Publish Branch" button, too.
Ok perfect! I first thought the screenshots were from my issue, just as an illustration... But it's yours in live, so I guess it's ok. I will investigate for a dev container, it may be useful for next PR... Thx for that.
Code change:
const icon = alwaysPrompt ? '$(lock)' : alwaysCommitToNewBranch ? '$(git-branch)' : undefined; // Tooltip (default) <del> let tooltip = !alwaysCommitToNewBranch ? l10n.t('Commit Changes') : l10n.t('Commit Changes to New Branch'); </del> <ins> const branch = this.repository.HEAD?.name; let tooltip = alwaysCommitToNewBranch ? l10n.t('Commit Changes to New Branch') : branch ? l10n.t('Commit Changes on '{0}'', branch) : l10n.t('Commit Changes'); </ins> // Tooltip (in progress) if (this.repository.operations.isRunning(OperationKind.Commit)) {

Related discussion:
text: Verification steps: Commit action button Open a folder/workspace that contains a git repository using VS Code Insiders Make a change to a file, and save the file Switch to the "Source Control" view and hover over the "Commit" action button Confirm that the tooltip of the action read Publish Branch action button Open a folder/workspace that contains a git repository using VS Code Insiders Create a new branch Switch to the "Source Control" view and hover over the "Publish Branch" action button Confirm that the tooltip of the action read
Hi, Both verification steps are working. Thanks. Version: 1.75.0-insider Commit: Date: 2023-01-20T05:23:42.626Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Linux x64 6.0.0-0..6-amd64 Sandboxed: Yes
Do we need to submit a PR to include this in the release notes?
Thanks for the nudge. Added
Code change:
} export function regExpLeadsToEndlessLoop(regexp: RegExp): boolean { <ins> // Exit early if it's one of these special cases which are meant to match // against an empty string if (regexp.source === "^" || regexp.source === "^$" || regexp.source === "$") { return false; } </ins> // We check against an empty string. If the regular expression doesn't advance // (e.g. ends in an endless loop) it will match an empty string. var match = regexp.exec(''); return (match && <any>regexp.lastIndex === 0); }

Related discussion:
text: Using regex expressions am unable to find empty lines. Tried both the end of line sequence. Copying the same text in sublime simple n finds all the blank lines.
That has been an issue for me for quite a while. Never really checked again if it's already working because I started to automatically open notepad++ again whenever I needed to replace newlines.
This problem could manifest if the lines are being split before searching as opposed to doing a full text search. Interesting side note; seems to work in find in files (Ctrl+Shift+F), just not in the find dialog (Ctrl+F).
Couldn't even find empty lines with ^$ (in case they were being split without EOL).
Looked at the code, it does indeed look at each line individually. I'm created a new issue for multi-line matching