jiebi/CodeConvo huggingface dataset:
Change:
const folderUri = folder.uri; return fileService.resolve(folderUri) .then(folder => { <del> const files = folder.children ? folder.children.map(child => child.name) : []; </del> <ins> const files = folder.children ? folder.children.map(child => child.name).sort() : []; const file = files.find(file => file.toLowerCase() === 'readme.md') || files.find(file => file.toLowerCase().startsWith('readme')); </ins> <del> const file = files.sort().find(file => file.toLowerCase().startsWith('readme')); </del> if (file) { return joinPath(folderUri, file); }

Discussion:
VSCode Version: 1.49.1 OS Version: Windows 10 Steps to Reproduce: this on VSCode settings: a folder with an and another the folder in VSCode () You'll notice that the file was opened automatically, but the right file would be . <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes It also occurs with VSCode Insiders current version.
Thanks, for pointing out. I made a PR:
Confirmed that it's working as expected in today's build.
Change:
constructor( @ILanguageFeaturesService private readonly languageFeaturesService: ILanguageFeaturesService, @IChatWidgetService private readonly chatWidgetService: IChatWidgetService, <del> @IConfigurationService private readonly configurationService: IConfigurationService, @IProductService private readonly productService: IProductService, </del> ) { super();

Discussion:
We still have the check in place to disable these in the stable build...
Can be verified by code review, or once we have a stable build.
Verifying on 0.11.1 Edit: I see the suggestion is enabled, but the behaviour is off to me. Discussing offline. Edit 2: Discussed. Marking as verified.
Change:
reason: codeActionReason, }); <del> await item.resolve(CancellationToken.None); </del> <ins> await item.resolve(token); if (token.isCancellationRequested) { return; } </ins> if (item.action.edit) { <del> await bulkEditService.apply(item.action.edit, { </del> <ins> const result = await bulkEditService.apply(item.action.edit, { </ins> editor: options?.editor, label: item.action.title, quotableLabel: item.action.title,

Discussion:
re testing select some TS code that can be extracted as const select refactor with preview select extract const select discard :bug: the rename widget still shows... https://user-
I believe fixing this requires some info being returned from the bulk edit service, e.g the service should tell its caller that the change didn't happen so that code actions don't continue the normal flow
Change:
constructor() { super({ id: TestCommandId.ConfigureTestProfilesAction, <del> title: localize('testing.configureProfile', 'Configure Test Profiles'), </del> <ins> title: { value: localize('testing.configureProfile', 'Configure Test Profiles'), original: 'Configure Test Profiles' }, </ins> icon: icons.testingUpdateProfiles, f1: true, category,

Discussion:
a display language e.g. pseudolang for the edit sessions commands or the settings sync: turn on command in English (fyi :bug: commands don't show up This is because all actions which are registered via and which use a pre-localized string for the title instead of only get the localized string displayed in the command palette We probably shouldn't allow the use of here for actions which are contributed to the command palette
---------- The property AND the property should not be set to a and should be set to an :
Here's why.. The edit session ones don't use ILocalizedString so they appear as just pseudolang. The other two do use ILocalizedString so the English string shows up underneath. <img width="499" alt="image" src="https://user-"We do this so users can still use the English command if they find it on StackOverflow or other places.
This is very subtle. I suggest to change to
I am planning on doing that once we get through some of these. It's a little more complicated because only the ones that use need to be an . If you are targeting something else with this action, like the file/edit/view menu, then the doesn't really do much... so I'll have to do some fun stuff with types (which I did in order to generate this list in the first place).
These changes could probable be done with a clever regex. Though I also kind of want a "code transformation notebook" that would let me write a function that operates on the TS AST and is easily applied throughout the codebase.
maybe even a tree-sitter notebook?
Maybe a project for the long weekend if I finally finish building my dining table...
Feel free to cross yourself off and unassign when done.
verification: I've already checked all of the commands except for the one I just fixed... so all you have to do is: wait for tomorrow's insiders change to any language pack seach for in the command palette ensure that it has the translated string and the English string
Change:
})); this.recentlyOpened = workspacesService.getRecentlyOpened(); <ins> this._register(workspacesService.onDidChangeRecentlyOpened(() => { this.recentlyOpened = workspacesService.getRecentlyOpened(); rerender(); })); </ins> } // remove when 'workbench.welcomePage.preferReducedMotion' deprecated

Discussion:
please provide a "Delete Record" button when the "Path does not exist" dialog box pops up in the "Recent" tab of the initial welcome screen
Currently when the path does not exists for the recent folder uri, it gets deleted from vscode state. It will not be shown again. What is actually expected?
It doesn't like what you said. !
I am using version 1.28.2 Which version of vscode you are using?
VS Code version: Code - Insiders 1.29.0-insider (, 2018-10-19T06:58:45.940Z) OS version: Windows_NT x64 10.0.
That page is now gone but issue remains that Getting Started's recent list should be better synced with ctrl+r's.
The open recent list should now be better linked to the getting started screen. So feel free to delete and clear issues there
To verify ensure deleting something from the open recent menu also deletes it from the walkthrough's recent section
Change:
return s.length === 0 ? `""` : s; }; <ins> const hardQuote = (s: string) => { return /[^w@%/+=,.:^-]/.test(s) ? `'${s.replace(/'/g, ''''')}'` : s; }; </ins> if (cwd) { command += `cd ${quote(cwd)} ; `; } <ins> if (env) { command += '/usr/bin/env'; for (const key in env) { const value = env[key]; if (value === null) { command += ` -u ${hardQuote(key)}`; } else { command += ` ${hardQuote(`${key}=${value}`)}`; } } command += ' '; } </ins> for (const a of args) { command += (a === '<' || a === '>' || argsCanBeInterpretedByShell) ? a : quote(a); command += ' ';

Discussion:
See The change that caused this was a standalone fix for a relatively minor bug, so I will back it out for now.
I'm able to debug a JS file on macOS now with nvm and a launch configuration that contains .
Just a FYI - I don't use nvm but experienced this issue. The recent update fixed it for me, thanks!!
Change:
// - and the search string is non-empty // - and we're searching for a regex if (findState.isRevealed && findState.searchString.length > 0 && findState.isRegex) { <del> matches = this._editor.getModel().findMatches(findState.searchString, true, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(EditorOption.wordSeparators) : null, false, Constants.MAX_SAFE_SMALL_INTEGER); </del> <ins> const editorModel = this._editor.getModel(); if (findState.searchScope) { matches = editorModel.findMatches(findState.searchString, findState.searchScope, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(EditorOption.wordSeparators) : null, false, Constants.MAX_SAFE_SMALL_INTEGER); } else { matches = editorModel.findMatches(findState.searchString, true, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(EditorOption.wordSeparators) : null, false, Constants.MAX_SAFE_SMALL_INTEGER); } </ins> } else { this._beginSessionIfNeeded(findController);

Discussion:
This is an extension of It's caused by only checking lineNumber in: Steps to reproduce: the following text in your editor: from 2nd abc to last a find in selection, possibly by pressing <kbdAlt</kbd<kbdl</kbd:arrowleft:. Now the cursor is before 2nd a. 'Select all occurences of find match'. Notice that it selects 2nd to 5th abc, instead of 2nd to 4th: ! Does this issue occur when all extensions are disabled?: Yes VS Code version: Code 1.63.2 (, 2021-12-15T09:39:46.686Z) OS version: Linux x64 5.13.0-22-generic snap Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
When you do . Now the cursor is before 2nd a. don't you lose the selection? Then what is the expected result of if there is no selection but the option is still selected?? I think it should really select all 5 occurrences of . And very oddly, when I do the command (via <kbdCtrl</kbd+<kbdShift</kbd+<kbdL</kbd) it is auto-enabling the and options become enabled. And then, since there is no selection, does select those last four occurrences of - as I think it should - the question is why doesn't it select the first . It is as if the setting is not respected when there is no selection but the option is enabled. [Of course, there really is a selection, but it is empty.]
From what I can tell, the feature (select all occurences of find match in search scope) only works when the find widget is made visible.
unfortunately the issue still persists even when find widget is visible. Find scope never respects selection column, only line. It seems like it was designed to be that way:
Change:
import { IDisposable } from 'vs/base/common/lifecycle'; import { Event } from 'vs/base/common/event'; import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme'; <del> import { IViewDescriptorService, IViewsService, ViewContainerLocation } from 'vs/workbench/common/views'; </del> <ins> import { IViewDescriptorService, IViewsService } from 'vs/workbench/common/views'; </ins> import { IOpenerService } from 'vs/platform/opener/common/opener'; import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity'; import { EditorResourceAccessor, SideBySideEditor } from 'vs/workbench/common/editor';

Discussion:
Does this issue occur when all extensions are disabled?: Yes Version: 1.84.2 (user setup) Commit: Date: 2023-11-09T10:51:52.184Z Electron: 25.9.2 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: WindowsNT x64 10.0. Steps to Reproduce: ! also causes to fail. Related issues: Workarround: call
I cannot reproduce, so you just move views around a bunch until the explorer disappears? Do you have any extension?
Yes, Make Folders appear independently and move Explorer into Folders. I expect view back to Explorer include Folders instead of Explorer eventually disappearing. Explorer disappearing can cause other problems, including but not limited to fail. fail. As I said at the beginning: I can even reproduce it in a completely fresh installation of the macOS version of vscode without any extensions installed. !
Okay so I can see that refresh explorer doesn't work in this case, that's for sure. I cannot get folders to completely disappear
In fact, what disappeared was the label . After the move, Its position is replaced by . The folder tree itself is not affected. As shown in the picture, the MOVIES folder contents can still be browsed, but its label(or button anyway) in activity bar is from to . The view hierarchy relationship changes from: Explorer Folders Open editors timeline outline to: Folders Open editors timeline outline The ability to browse folders itself is not affected, but those commands bound to or target to will be invalid. This is also the root cause of .
It's going to be confusion but "Explorer" is actually the container while "Folders" is what we call the view. So when you move Folders out of the explorer it creates its own container called "Folders" and this is working as intended. is a different root cause, but there's definitely a bug here around refresh and other explorer commands. Thanks for the find!
To verify: the folder view (the file tree structure) somewhere else separate from the explorer view container refresh explorer You should stay on the folder view and not be moved to a different view container. You should also see the refresh properly occur.
Change:
let bestRepository: ISCMRepository | null = null; let bestMatchLength = Number.POSITIVE_INFINITY; <del> for (const repository of this.scmService.repositories) { </del> <ins> for (const repository of repositories) { </ins> const root = repository.provider.rootUri; if (!root) {

Discussion:
Issue Type: <bBug</bI'm working with a multi-root workspace where each project has its own git repository. On startup VSCode restores my last session with all the open files and the tree-view updates correctly, selecting the file which has the focus in the editor. But the SCM status bar does not switch to the right repository, but shows the status of the repository from the first folder in the workspace. Steps to reproduce (or see the attached screencast): VSCode with a (multi-root)-workspace with two projects (projecta, projectb) the focus of files correcly selects the corresponding repository VSCode while the focus is on a file from the second project (projectb) VSCode restores the last session (open editor tabs, tree-view, etc.) correctly SCM status bar stays with the repository projecta, although the file in focus belongs to projectb Expected behaviour: I would expect that when restoring a session, the correct repository to the file that is in focus in the editor would be selected automatically. The problem here is only occurs when restoring the session. As soon as I actively change the focus in the editor, the associated repositories are correctly selected. https://user- VS Code version: Code 1.62.2 (, 2021-11-11T20:51:30.084Z) OS version: Linux x64 5.4.0-54-generic Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (9)</summaryExtensionVersion ------ gitlens11.6.1 vscode-docker1.18.0 python2021.11. vscode-pylance2021.11.1 remote-containers0.205.2 remote-ssh0.66.1 remote-ssh-edit0.66.1 hexeditor1.8.2 material-theme3.13.2 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I think this is just a refresh issue with the SCM status bar. When I open VSCode, the status bar assumes that I am working on the first repository in my workspace. However, all open editors only refer to files from another repository (the file tree is also expanded correctly).

Sometimes for example, the status bar shows a branch that I already deleted a few days ago, but since it assumes the wrong repository, it suggests publishing the "new" branch.
Any updates on this? I'm facing the same issue on Mac and find it quite annoying.
sorry for not getting back to you on this until now. I do have a repro for this, and I have couple of ideas on how to address this problem, though there is some complexity around the way repositories are discovered. I will try to have a fix for this later this week or next week.
<!-- 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!
Change:
import { IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; <del> import { activeContrastBorder, badgeBackground, badgeForeground, contrastBorder, errorForeground, focusBorder } from 'vs/platform/theme/common/colorRegistry'; </del> <ins> import { activeContrastBorder, badgeBackground, badgeForeground, contrastBorder, focusBorder } from 'vs/platform/theme/common/colorRegistry'; </ins> import { attachInputBoxStyler, attachStylerCallback } from 'vs/platform/theme/common/styler'; import { ICssStyleCollector, ITheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { IWorkspaceContextService, IWorkspaceFolder, WorkbenchState } from 'vs/platform/workspace/common/workspace';

Discussion:
In approx 1/4 of my installed themes this badge looks awful: ! Having no-results just doesn't feel like an error. Standard badge color (Like white here on github badge) is fine(because it's usually made for it). P.S. no need for a new color, already too many of them. P.P.S. actually new settings editor doing exactly that: ! So, it just needs to be aligned with the GUI version of settings.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.532 --- <!-- score: 0.51 --- <!-- score: 0.491 --<!-- potentialduplicatescomment --
Change:
const { choice } = await this._dialogService.show(Severity.Info, message, actions.map(a => a[0]), { ...options, cancelId: actions.length - 1 }); return actions[choice][1]; <del> } else if (someUnhandledConflicts) { </del> <ins> } else if (someUnhandledConflicts && !this._storageService.getBoolean(StorageCloseWithConflicts, StorageScope.PROFILE, false)) { </ins> const message = isMany ? localize('workspace.messageN.nonDirty', 'Do you want to close {0} merge editors?', inputModels.length) : localize('workspace.message1.nonDirty', 'Do you want to close the merge editor for {0}?', basename(inputModels[0].resultUri));

Discussion:
a conflict file in 3 way merge the 3 way merge editor Notice dialog ! I do not think we have a need for this dialog any more since we are no longer removing the conflict markers. Thus the user can just close this dialog, there is no data loss? Similarly when the user closes the old editor with conflict markers we do not prompt. fyi
I don't have an opinion about this.
I would leave it for the clarity it creates, however I am open for a "don't ask again" option
"Don't ask again" works for me, especially since I just noticed that when some conflicts get resolved the dialog is "smarter". Would don't ask again write in storage or a setting? I am fine going loco and writing to storage (so users can not revert). Though if all the other "don't ask again" write in settings then I guess I am fine with that.
+1 for "Don't ask again"
Fyi there is a very practical use case for the dialog: if you run with and use VSCode as Git merge editor, you may actually want to resolve the conflicts before closing the editor because Git somewhat expects you to do so. On top of that, given , we currently cannot pass back an exit code to Git, so it helps showing a dialog to avoid returning back to Git with merge conflicts still in the file. Besides, we show a similar dialog when you try to stage a file that has merge conflicts from the SCM view: !
thanks for providing more info, I missed that case. Though I think it does not conflict with our idea to add "Don't Ask Again".
Can we tell the merge editor if it was opened in a modal context (like with --wait)?
Currently not, an editor has no knowledge that it is being utilised for . There is plumbing around the editor where we observe the opened editor for being closed and then delete the wait marker file. Can we get more user feedback on this before jumping onto a conclusion?
Verify that there is an option to not be asked again there is a "Reset Choice for Close with Conflicts" commands in the F1 list <img width="1405" alt="Screenshot 2022-11-25 at 15 24 27" src="https://user-"
Adding verified since this works as expected. Noticed one minor "glitch".

"Don't ask again" Cancel The "Don't ask again" choice will be preserved. It should probably be only preserved if I click on "Close with Conflicts". I am not supper passionate about this, but let me know if you would like me to file an issue
Change:
const range = match.range(); const matchText = match.text().substr(0, range.endColumn + 150); if (replace) { <del> return nls.localize('replacePreviewResultAria', "'{0}' at column {1} replace {2} with {3}", matchText, range.startColumn + 1, matchString, match.replaceString); </del> <ins> return nls.localize('replacePreviewResultAria', "'{0}' at column {1} replace {2} with {3}", matchText, range.startColumn, matchString, match.replaceString); </ins> } <del> return nls.localize('searchResultAria', "'{0}' at column {1} found {2}", matchText, range.startColumn + 1, matchString); </del> <ins> return nls.localize('searchResultAria', "'{0}' at column {1} found {2}", matchText, range.startColumn, matchString); </ins> } return null; }

Discussion:
some text in an editor +shift+f and search for that text screen reader will report that the result is on a column that is actual+2 !
pretty sure this is by design, but can answer that
Thinking about it, it seems to not make much sense to start at 2 (although I see this behavior in areas outside of notebooks). do you see why this should be design? If not, I can go ahead and try to make the columns start at 1 like it does in the editor.
Yeah that sounds good to me thanks

repro: in settings notebook search filter to look at outputs all editors for something that only appears in outputs on the result and wait for the results to convert to rich notebook results list focus has shifted !
Hi - I'm attempting to replicate this bug, but cannot generate the output from a notebook because my build (Code - OSS Dev) crashes when I select a kernel for my notebook with the message . I am getting the extension form How were you able to get the Jupyter notebook running in your build?
I installed the Jupyter extension via the vsix that is in the marketplace install page.
Thank you for the reply! I still run into the same error after installing the extensions from vsix when I select the kernel. Console output
Hmm, I'm not sure why this would happen. Since this is not really related to this issue directly, could you file a new issue?
I believe the issue is related to this line in folderMatch.allDownstreamFileMatches() is returning a set of notebook files that excludes the parent file of the current selection.
Change:
'editor.suggest.showInlineDetails': { type: 'boolean', default: defaults.showInlineDetails, <del> description: nls.localize('suggest.showInlineDetails', "Controls whether sugget details show inline with the label or only in the details widget") </del> <ins> description: nls.localize('suggest.showInlineDetails', "Controls whether suggest details show inline with the label or only in the details widget") </ins> }, 'editor.suggest.maxVisibleSuggestions': { type: 'number',

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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.53.0-Insider OS Version: Windows 10 Steps to Reproduce: Settings (CTRL + , or CMD + ,) for 'sugget' description for 'Setting: Show Inline Details' and you'll find the typo 'sugget' instead of 'suggest' <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No Yes !
Change:
export enum DiagnosticTag { Unnecessary = 1, <ins> Deprecated = 2 </ins> } export enum DiagnosticSeverity {

Discussion:
Now that has been to the API, I would like to support the proposal from to use it for tagging deprecated items. I figure the associated styling might be a strikethrough as proposed in but you guys can work that out separately.
I would be interested in helping out here with this and perhaps even . Without a lot of context, I assume this issue is specifically to add a new enum member here: I could open a PR that adds a member, if that's the case. edit: Looks like more applicable location would be and then opening a similar PR to
Yes, is the way to go. Find your way along usages/implementations of
Thanks, I'll work on that today.
Leaving this open so that we discuss this in the API sync
API has been finalised.