jiebi/CodeConvo huggingface dataset:
Code change:
if (searchView.shouldShowAIResults()) { if (searchView.model.hasAIResults) { <del> viewer.expandAll(); </del> <ins> await forcedExpandRecursively(viewer, undefined); </ins> } else { <del> await viewer.expand(searchView.model.searchResult.plainTextSearchResult, true); </del> <ins> await forcedExpandRecursively(viewer, searchView.model.searchResult.plainTextSearchResult); </ins> } } else { <del> viewer.expandAll(); </del> <ins> await forcedExpandRecursively(viewer, undefined); </ins> } } } <ins> /** * Recursively expand all nodes in the search results tree that are a child of `element` * If `element` is not provided, it is the root node. */ export async function forcedExpandRecursively( viewer: WorkbenchCompressibleAsyncDataTree<SearchResult, RenderableMatch, void>, element: RenderableMatch | undefined ) { if (element) { if (!viewer.hasNode(element)) { return; } await viewer.expand(element, true); } const children = viewer.getNode(element)?.children; if (children) { for (const child of children) { if (child.element instanceof SearchResult) { throw Error('SearchResult should not be a child of a RenderableMatch'); } forcedExpandRecursively(viewer, child.element); } } } </ins> function clearSearchResults(accessor: ServicesAccessor) { const viewsService = accessor.get(IViewsService); const searchView = getSearchView(viewsService);

Related discussion:
text: to search, then click the that expands the results. :bug: does not expand. Looking into this more, it is because the call for the node isn't working.
I've also seen the same thing with not working. Unsure if this is related, but the repro is the same, but between step 2 and 3, expand the AI results.
This seems to also happen in when in tree mode.
It could be very expensive if expand all would actually expand all tree nodes in an async data tree. It's possible to have infinite deep async trees so in those cases this method would crash. My recommendation would be to create your own implementation for this in the search view. If that does not work the way you would like it to, we could consider alternatives. I think the bulk edit pane has a similar behaviour here:
Code change:
*/ globalFindClipboard?: boolean; /** <del> * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found </del> <ins> * Controls whether the search result and diff result automatically restarts from the beginning (or the end) when no further matches can be found </ins> */ loop?: boolean; }

Related discussion:
text: <!-- 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. --Setting to stop at the bottom (or top) when navigating in the diff view through the changes with "next change" and reaching the last change. Like did in
Can I provide a PR for this feature
Go ahead.
Thanks a lot for implementing this. But what is the setting to enable this?
Looks like this behavior got to the "" setting
No, does not affect this unfortunately.
Code change:
abstract renderChanges(response: ReplyResponse): Promise<Position | undefined>; abstract hasFocus(): boolean; <del> abstract needsMargin(): boolean; </del> } export class PreviewStrategy extends EditModeStrategy {

Related discussion:
text: I think we used to indent inline chat to the indentation level of the line: ! Steps: have an indented line press enter to be on an empty line (still indented) press to bring up inline chat
Code change:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== <ins> fs-extra@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" universalify "^2.0.0" </ins> github-from-package@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= <del> graceful-fs@4.2.11: </del> <ins> graceful-fs@4.2.11, graceful-fs@^4.1.6, graceful-fs@^4.2.0: </ins> version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==

Related discussion:
text: a folder in WSL and show logs the error log !
Are things broken in this case or just a bad stack trace. I'll take a look to see if I missed a module include somewhere
Just a bad stacktrace from what I see, though I didn't intentionally go test things thoroughly
Code change:
value: that.userDataProfileService.getShortName(profile), title: localize('change short name', "Change Short Name..."), validateInput: async (value: string) => { <del> if (profile.shortName !== value && !ThemeIcon.fromString(value) && charCount(value) > 2) { </del> <ins> if (profile.shortName === value) { return undefined; } const themeIcon = ThemeIcon.fromString(value); if (themeIcon) { if (Codicon.getAll().some(c => c.id === themeIcon.id)) { return undefined; } return localize('invalid codicon', "Invalid codicon. Please use a valid codicon id."); } if (charCount(value) > 2) { </ins> return localize('invalid short name', "Short name should be at most 2 characters long."); } return undefined;

Related discussion:
text: I don't know the codicons by heart. So I went with . Here's what I see: ! ! Can you validate if is valid? Or somehow show a better default? I'd prefer validation though. Testing
Code change:
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { MenuRegistry } from 'vs/platform/actions/common/actions'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; <ins> import { commandsExtensionPoint } from 'vs/workbench/api/common/menusExtensionPoint'; </ins> export class KeyboardMapperFactory { public static readonly INSTANCE = new KeyboardMapperFactory();

Related discussion:
text: contribute command that uses enablement assign a keybinding, via :bug: enablement isn't honoured
When users configure keybindings we allow them to change preconditions as well, e.g rename requires an editable document so I don't plan to have a different strategy for contributed commands
I don't see the nice "Command 'Hello World' is not enabled in the current context." info toast when I try the keybinding though. I only see that message when I try to run it from the command palette. The command correctly doesn't run when not enabled though.
Yeah, that's the design. Keybindings don't show messages
Code change:
} /** <del> * Splits a recent label in name and parent path, supporting both '/' and '' and workspace suffixes </del> <ins> * Splits a recent label in name and parent path, supporting both '/' and '' and workspace suffixes. * If the location is remote, the remote name is included in the name part. </ins> */ <del> export function splitRecentLabel(recentLabel: string) { </del> <ins> export function splitRecentLabel(recentLabel: string): { name: string; parentPath: string } { </ins> if (recentLabel.endsWith(']')) { // label with workspace suffix const lastIndexOfSquareBracket = recentLabel.lastIndexOf(' [', recentLabel.length - 2); if (lastIndexOfSquareBracket !== -1) { const split = splitName(recentLabel.substring(0, lastIndexOfSquareBracket)); <del> return { name: split.name, parentPath: split.parentPath + recentLabel.substring(lastIndexOfSquareBracket) }; </del> <ins> const remoteNameWithSpace = recentLabel.substring(lastIndexOfSquareBracket); return { name: split.name + remoteNameWithSpace, parentPath: split.parentPath }; </ins> } } return splitName(recentLabel);

Related discussion:
text: <!-- 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.81.1 OS Version: win10 Steps to Reproduce: new version vscode after 1.78.2 remote connection before vscode 1.78.2 in win 10 right click win10 taskbar show remote connect like ! but recently I update my vscode to 1.81.1, the information for remote node disapear. ! This bug is quite inconvenience when I have many projects with the same name in different remote nodes.
Same Issue Here
Do you own this part of the label service Aware of any changes?
Code change:
protocol: true } : undefined; <del> this._proxy.$setTunnelProvider(tunnelFeatures); </del> <ins> this._proxy.$setTunnelProvider(tunnelFeatures, !!provider.tunnelFactory); </ins> } } else { this._forwardPortProvider = undefined;

Related discussion:
text: Type: <bBug</bvscode with wsl: or similar tool to monitor CPU usage when vscode is idle or minimized to the taskbar. Expected: CPU usage for vscode's remote server should stay around 0% at idle conditions. Actual: CPU usage stays between 2-10 % VS Code version: Code 1.91.1 (, 2024-07-09T22:06:49.809Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 6.6.36.3-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (10)</summaryExtensionVersion ------ remote-wsl0.88.2 material-icon-theme5.6.0 vim1.27.3 markdown-checkbox0.4.0 gitlens15.2.0 prettier-vscode10.4.0 hexeditor1.10.0 advanced-new-file1.2.2 vscode-fileutils3.10.3 even-better-toml0.19.2 </details<!-- generated by issue reporter --
I had earlier opened the issue at where I provided more in-depth issue description. I'm just going to put the same description here. I recently noticed high CPU usage and faster battery drain (intel cpu) when working with any project under WSL. To find out what's taking so much cpu time (even when I'm doing nothing, apart from staring at the screen), I used to list processes in the order of cpu usage: ! Looked like vscode's remote server running inside wsl is taking CPU. So, I went a little further to profile the running instance of the remote server and I found: ! ! from is being called at a regular interval with a small delay (~1000ms). : ! I was able to trace back to : ! And I finally found where it is being called repeatedly: ! Now, why is it a bug? Because I've disabled all related settings in my config, yet the tunnel monitoring service is running in the background. I expect the service to not be running when or related configs are disabled. The service is currently always running.
Wow, great job, thanks for tracking down the problem!
I'm having trouble understanding this: Is WSL going to end up being a ?
Code change:
protocol: true } : undefined; <del> this._proxy.$setTunnelProvider(tunnelFeatures); </del> <ins> this._proxy.$setTunnelProvider(tunnelFeatures, !!provider.tunnelFactory); </ins> } } else { this._forwardPortProvider = undefined;

Related discussion:
text: I don't think we actually want to show the ports view in WSL even if the Tunnels extension isn't installed.
I agree. For non-managed remote authorities created just via the in the workbench, how did we determine whether or not to show the ports view? We should apply the same logic here...
The ports view is controlled by a context key getting set. It gets set in two ways: an extension that wants the ports view. This is what dev containers does. a tunnel factory getting . Since the tunnel factory is always now, we're always enabling it. I should be able to add a check if the tunnel factory is coming from an extension and only do 2 if that's the case.
Looks like we also show the ports view when there's an extension with an actiation event: Is this perhaps no longer needed with the work you did for tunnels I don't remember exactly why I it.
I've moved the check to happen when there's been a port forwarded.
Looks like this was actually a feature: You can set to disable this. I'm also going to try to improve the description of and .
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
To verify: the descriptions of and . Verify that you can understand what the settings do and how they're related. (These settings may be a bit confusing. We should consider deprecating and only have ) . to or if it isn't already. the WSL extension, connect to a WSL remote. the log level to Trace for the Remote Extension Host. the output for the Remote Extension Host. Verify that you see a steady stream of log lines that say "candidate" coming in. This means that port discovery is on. to and to . Reload. sure that the log level of the Remote Extension Host is still set to Trace the output for the Remote Extension Host. Verify that you DO NOT see a steady stream of log lines that say "candidate" coming in.
Code change:
protocol: true } : undefined; <del> this._proxy.$setTunnelProvider(tunnelFeatures); </del> <ins> this._proxy.$setTunnelProvider(tunnelFeatures, !!provider.tunnelFactory); </ins> } } else { this._forwardPortProvider = undefined;

Related discussion:
text: In the WSL workspace, I don't see any log lines that say "candidate" even after starting a Python HTTP server.
I can't repro this. Do you have an old version of WSL installed?
I verified that on my machine the work.
I haven't checked with Insider, but in stable I can confirm 'candidate' logs are not visible after Step 6 of the verification steps. Thanks. I also want to point out that it's not clear from the description that there's a process monitoring service running in the background, and that it can be disabled using . Should the default option be instead of ?
Thanks for trying it out If we set it to , then we might end up not showing any ports in the Ports view. In insiders, I updated the text of the setting: Sets the source from which ports are automatically forwarded when is true. When is false, will be used to find information about ports that have already been forwarded. On Windows and macOS remotes, the process and hybrid options have no effect and output will be used. It still doesn't explicitly say there will be process monitoring, but it should be clearer.
Code change:
this.focus(); } <del> getContextMenuActions(): IAction[] { </del> <ins> getContextMenuActions(viewDescriptor?: IViewDescriptor): IAction[] { </ins> const result: IAction[] = []; <ins> if (viewDescriptor) { result.push(<IAction>{ id: `${viewDescriptor.id}.removeView`, label: localize('hideView', "Hide"), enabled: viewDescriptor.canToggleVisibility, run: () => this.toggleViewVisibility(viewDescriptor.id) }); } </ins> const viewToggleActions = this.viewsModel.viewDescriptors.map(viewDescriptor => (<IAction>{ id: `${viewDescriptor.id}.toggleVisibility`, label: viewDescriptor.name,

Related discussion:
text: insiders, install remote SSH extension the Remote view container all the views via context menu menu on the title -the views are not there and they can not be brought back -the views are back -I would expect the hidden state to be preserved fyi !
Assigning to as remote viewlet has special treatment.
Original decision was that none of the views in the filter-view should be hide-able. Looks like I missed a spot!
Code change:
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; import { IMarkerData, IMarkerService } from 'vs/platform/markers/common/markers'; <del> import { IInlineChatService, IInlineChatSessionProvider } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; </del> <ins> import { ChatAgentLocation, IChatAgent, IChatAgentData, IChatAgentService } from 'vs/workbench/contrib/chat/common/chatAgents'; </ins> import { CellDiagnostics } from 'vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticEditorContrib'; import { CodeCellViewModel } from 'vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel'; import { CellKind, NotebookSetting } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { ICellExecutionStateChangedEvent, IExecutionStateChangedEvent, INotebookCellExecution, INotebookExecutionStateService, NotebookExecutionType } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService'; import { setupInstantiationService, TestNotebookExecutionStateService, withTestNotebook } from 'vs/workbench/contrib/notebook/test/browser/testNotebookEditor'; <ins> import { nullExtensionDescription } from 'vs/workbench/services/extensions/common/extensions'; </ins> suite('notebookCellDiagnostics', () => {

Related discussion:
text: There are some parts in notebook land that depend on . This service and its provider are deprecated and should be removed. As of today the following dependencies must be cleaned up first: , , The should be used instead, it will allow you to know if a agent per location exists or not
Code change:
withTestCodeEditor( [ <ins> 'camel from words', 'from_snake_case', 'from-kebab-case', 'alreadyCamel', 'ReTain_any_CAPitalization', 'my_var.test_function()', 'öçş_öç_şğü_ğü' ], {}, (editor) => { const model = editor.getModel()!; const camelcaseAction = new CamelCaseAction(); editor.setSelection(new Selection(1, 1, 1, 18)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(1), 'camelFromWords'); editor.setSelection(new Selection(2, 1, 2, 15)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(2), 'fromSnakeCase'); editor.setSelection(new Selection(3, 1, 3, 15)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(3), 'fromKebabCase'); editor.setSelection(new Selection(4, 1, 4, 12)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(4), 'alreadyCamel'); editor.setSelection(new Selection(5, 1, 5, 26)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(5), 'ReTainAnyCAPitalization'); editor.setSelection(new Selection(6, 1, 6, 23)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(6), 'myVar.testFunction()'); editor.setSelection(new Selection(7, 1, 7, 14)); executeAction(camelcaseAction, editor); assert.strictEqual(model.getLineContent(7), 'öçşÖçŞğüĞü'); } ); withTestCodeEditor( [ </ins> '', '   ' ], {}, (editor) => {

Related discussion:
text: <!-- 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. --There is Title Case, Snake Case, Lowercase, Uppercase, but no Camel Case. It would be nice to transform: -
It would be a great feature. You could use that extension: until then. I also think that they should work on the to exclude articles and even custom words. instead of which is not accaptable in many academic organizations.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -c9e0-7adb-d31b- --:slightlysmilingface: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our . Happy Coding!
Up for a PR anyone?
I to do this. I have more details in the PR description about how different use cases should be handled. I don't really have a strong opinion on it. I wrote a personal extension long ago that has it's own set of rules, so I probably will keep using that over the one I implemented in the PR.
Code change:
id: 'workbench.action.toggleZenMode', title: { value: localize('toggleZenMode', "Toggle Zen Mode"), <del> mnemonicTitle: localize('miToggleZenMode', "Zen Mode"), </del> <ins> mnemonicTitle: localize({ key: 'miToggleZenMode', comment: ['&& denotes a mnemonic'] }, "Zen Mode"), </ins> original: 'Toggle Zen Mode' }, category: Categories.View,

Related discussion:
text: Issue Type: <bBug</bGo to menu affichage apparence afficher la barre latérale secondaire L'item indique ceci " afficher la bar&re latérale secondaire" Un petit And & se balade Have a nice day VS Code version: Code 1.67.1 (, 2022-05-06T12:37:03.389Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (3)</summaryExtensionVersion ------ copilot1.20.5902 vscode-pull-request-github0.42.0 vscode-language-pack-fr1.67.3 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
the translation lacks an extra ampersand to turn this into a mnemonic <img width="501" alt="image" src="https://user-"
can you ensure there's a comment that says "don't touch the ampersand"? Additionally, you can add another comment in the form of: to ensure that they do not get "translated". See this example:
I have the same comment in 275 places across the code base And this is the string
Best I can do is ask for the string to be updated manually to ensure is not translated... but that won't prevent this from happening in the future due to human error. better is using a locked comment like the one above... could also have the be a runtime string instead... but really we need language-aware mnemonics where the position of the changes based on the language but I'm not sure if there's a process for that. do you know?
so I add? what kind of enforcement does this do? does it just force that a mnemonic exists? its not really required that a translation contains a mnemonic even if the original does
I believe it forces that it exists, though or are experts here.
I know a little bit more... this does basically "fail the string" until it meets the criteria of "there should be a somewhere in the string and a translator looks at this. did you get the chance to add this to the comments?