jiebi/CodeConvo huggingface dataset:
Change:
"noImplicitAny": true, "noImplicitReturns": true, "noUnusedLocals": true, <del> "noUnusedParameters": true </del> <ins> "noUnusedParameters": true, "forceConsistentCasingInFileNames": true </ins> } }

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Enable forceConsistentCasingInFileNames . Spend 1 hour to find out the crash:
Change:
} private setContextKeys(stat: ExplorerItem | null | undefined): void { <del> const isSingleFolder = this.contextService.getWorkbenchState() === WorkbenchState.FOLDER; const resource = stat ? stat.resource : isSingleFolder ? this.contextService.getWorkspace().folders[0].uri : null; </del> <ins> const folders = this.contextService.getWorkspace().folders; const resource = stat ? stat.resource : folders[folders.length - 1].uri; stat = stat || this.explorerService.findClosest(resource); </ins> this.resourceContext.set(resource); <del> this.folderContext.set((isSingleFolder && !stat) || !!stat && stat.isDirectory); </del> <ins> this.folderContext.set(!!stat && stat.isDirectory); </ins> this.readonlyContext.set(!!stat && stat.isReadonly); <del> this.rootContext.set(!stat || (stat && stat.isRoot)); </del> <ins> this.rootContext.set(!!stat && stat.isRoot); </ins> if (resource) { const overrides = resource ? this.editorOverrideService.getEditorIds(resource) : [];

Discussion:
Steps to Reproduce: an extension that registers a readonly file system (e.g. our with some tweaks) a workspace with a folder from that file system that is readonly (memfs does that) = the explorer actions for new file/folder are not disabled and silently fail when clicked !
the memfs extension for me does not start readonly. I can delete and change files. What are the tweaks needed to make it readonly?
when the provider is registered you can set
Actions are still enabled when I click into the empty space though: !
I have looked into a fix and I would prefer to do it start of next week. I have created a PR which is ready to merge. The thing which I plan to change as part of this fix: In a multi root workspace, when the user context menus on the empty space at the bottom that will be like he is acting on the last workspace. I think that makes sense, I just do not want to do it in endgame week.
Change:
this._decorations.onLineMappingChanged(); this.viewLayout.onFlushed(this.getLineCount()); <del> if (this.viewLayout.getCurrentScrollTop() !== 0) { // Never change the scroll position from 0 to something else... restorePreviousViewportStart = true; } </del> this._updateConfigurationViewLineCount.schedule(); }

Discussion:
use autofolding of imports . use a type that is not imported in a TS file use quick fix to add the import the editor scrolls to an incorrect position. I think this is a recent regression, because I've been using both import folding and quick fix for imports since quite a while... maybe starting with the last stable. https://user- Version: 1.72.0-insider Commit: Date: 2022-09-21T05:40:07.654Z Electron: 19.0.17 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: Yes
Un-assigning myself as I don't think this cause by something the JS/TS extension itself is doing
who owns the quick fix UI now?
I own the UI. However it looks like scrolling here happen when the edit from the quick fix is applied. That's why I unassigned myself
It also unfolds if you do "Organize Imports", so seems like any action related with imports unfolds even though setting is
The root cause appears to be the folding ranges change and end up calling . That one does not attempt to maintain the viewport stable in any way.
this issue still exists:
Change:
constructor( private readonly _lineNumber: number, private readonly _widget: DiffEditorWidget, <del> private readonly _diffs: RangeMapping[], </del> <ins> private readonly _diffs: RangeMapping[] | LineRangeMapping, </ins> private readonly _revertSelection: boolean, ) { super();

Discussion:
a change it using the gutter arrow :bug: indentation is lost
Can you share a screenshot/screenrecording and provide context on the document you have? Thanks!
Cannot reproduce: ! Please always try to include as much context as you can.
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Hi Henning I think I can also reproduce this in 1.84.0-insider (MacOS). I believe the preconditions to reproduce is to set (which is also the default) and revert a deleted code chunk. See attached gif. !
Hey this issue might need further attention. you can help us out by closing this issue if the problem no longer exists, or adding more information.
Change:
}, 'scm.alwaysShowRepositories': { type: 'boolean', <del> markdownDescription: localize('alwaysShowRepository', "Controls whether repositories should always be visible in the SCM view."), </del> <ins> markdownDescription: localize('alwaysShowRepository', "Controls whether repositories should always be visible in the Source Control view."), </ins> default: false }, 'scm.repositories.visible': {

Discussion:
Within the UI in VS Code there are differing names for the SCM view depending on whereabouts you are in the UI. Under the "View Menu" there is an entry from "SCM" but everywhere else it is referred to as Source Control. (Hovering over the icon in the activity bar names it Source Control, the view container title says Source Control and in the command palette, the command is listed as "Source Control: Focus on Source Control View".) Then under settings there is a group "Features SCM" For consistency, it would be better to keep with a single (user facing) name that is used in all places.
I don't like using of abbreviations in the program GUI, especially if they are not as much popular and known. It took me a while to understand what is that SCM thing.
fixing this makes sense to me, though I might be missing some historical context.
Yeah the correct term is Source Control. SCM is just an internal name, should not be surfaced.
I've pushed a small PR that should rename this in all the places I could find.
Merged! thank you very much for the contribution!
Change:
// Since we don't select any items, the selected items should be empty assert.strictEqual(quickpick.selectedItems.length, 0); }); <ins> test('activeItems - verify onDidChangeActive is triggered after setting items', async () => { const quickpick = store.add(controller.createQuickPick()); // Setup listener for verification const activeItemsFromEvent: IQuickPickItem[] = []; store.add(quickpick.onDidChangeActive(items => activeItemsFromEvent.push(...items))); quickpick.show(); const item = { label: 'step 1' }; quickpick.items = [item]; assert.strictEqual(activeItemsFromEvent.length, 1); assert.strictEqual(activeItemsFromEvent[0], item); assert.strictEqual(quickpick.activeItems.length, 1); assert.strictEqual(quickpick.activeItems[0], item); }); test('activeItems - verify setting itemActivation to None still triggers onDidChangeActive after selection #207832', async () => { const quickpick = store.add(controller.createQuickPick()); const item = { label: 'step 1' }; quickpick.items = [item]; quickpick.show(); assert.strictEqual(quickpick.activeItems[0], item); // Setup listener for verification const activeItemsFromEvent: IQuickPickItem[] = []; store.add(quickpick.onDidChangeActive(items => activeItemsFromEvent.push(...items))); // Trigger a change quickpick.itemActivation = ItemActivation.NONE; quickpick.items = [item]; assert.strictEqual(activeItemsFromEvent.length, 0); assert.strictEqual(quickpick.activeItems.length, 0); }); </ins> });

Discussion:
Steps to Reproduce: the web UI "Open Folder" in a path that exists on disk and enter <img width="791" alt="image" src=""
This is weird. The in the quick pick don't appear to be getting updated.
Also, not just in web.
Git bisect points to
I don't see anything super obvious in , but here's the behavior I can observe: simple file picker sets the does not get reset. The old behavior is that it would get reset.
Clearing here fixes things, but I don't think that's the right fix:
Change:
return validations; } if (typeof extensionManifest.main === 'undefined' && typeof extensionManifest.browser === 'undefined') { <del> validations.push([Severity.Error, nls.localize('extensionDescription.activationEvents2', "properties `{0}` and `{1}` must both be specified or must both be omitted", 'activationEvents', 'main')]); </del> <ins> validations.push([Severity.Error, nls.localize('extensionDescription.activationEvents2', "property `{0}` should be omitted if the extension doesn't have a `{1}` or `{2}` property.", 'activationEvents', 'main', 'browser')]); </ins> return validations; } }

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. --Version: 1.77.0-insider (Universal) Commit: Date: 2023-03-09T05:22:33.512Z Electron: 19.1.11 Chromium: 102.0.5005.196 16.14.2 V8: 10.2.154.26-electron.0 OS: Darwin arm64 22.3.0 Sandboxed: Yes Steps to Reproduce: . ! Other Notes: fine in v1.76.0, seems like a regression bug. fix this ASAP, as it could break many extensions in the next stable release.
Same happening on some of my extensions, as I embraced (released in v1.74) and the fix in (), but now, are not enabled in Insiders.. Any ETA for the fix, or should I revert my extensions and bring back in the meantime? Thank you
Change:
margin-top: 0; } <del> h2, h3, h4, h5, h6 { font-weight: normal; margin-bottom: 0.2em; </del> <ins> h1, h2, h3, h4, h5, h6 { font-weight: 600; margin-top: 24px; margin-bottom: 16px; line-height: 1.25; </ins> } #code-csp-warning {

Discussion:
Here are our headers (left) compared with GitHub's (right): <img width="649" alt="image" src=""Things to note: H2 still has a bottom border in GitHub, looks great Our H4 feels very much like plain text, GitHub is definitely larger than plain Our H5 is even smaller than plain text, GitHub is at least in bold cc
Agreed. I've wanted to update these for a while now.
Change:
this.commandService.executeCommand(command); this.telemetryService.publicLog2<RemoteStartActionEvent, RemoteStartActionClassification>('remoteStartList.ActionExecuted', { command: command, remoteExtensionId: selectedItem }); <del> quickPick.busy = false; </del> } else { this.commandService.executeCommand(selectedItem); this.telemetryService.publicLog2<RemoteStartActionEvent, RemoteStartActionClassification>('remoteStartList.ActionExecuted', { command: selectedItem }); } <ins> quickPick.dispose(); </ins> } }); <ins> quickPick.onDidHide(() => quickPick.dispose()); </ins> quickPick.show(); } }

Discussion:
Testing I think I am wrongly being asked to install extensions now, but when I do need to install an extension, it would be nice to show a progress bar somewhere while this runs <img width="642" alt="image" src="https://user-"Or if I am going to be waiting for a bit, you might run the progress in a modal dialog or non-modal notification instead of a quickpick
somewhat related: FWIW I did see a progression bar while the extension was installing on Windows

Testing After you click on e.g. Remote Repositories and you don't have the extension installed, the picker is still displayed with the options while the installation is in progress. Because the options there aren't very responsive during installation, maybe it's worth hiding them and only show the "installing" progress bar? !

Testing to... ! to Tunnel... a Tunnel window reloads the window is connecting to that chosen tunnel, click ! the window connects to the tunnel, click again ! (same as last pic) This is different than if I didn't take Step 4. Observe: to... ! to Tunnel... a Tunnel window reloads the window connects to the tunnel, click ! I think I would expect the 2nd and 3rd images to be this ^ as well.

Testing a OSS build without the marketplace in the welcome screen bug ! I see an empty quick pick
Change:
picks.push({ label, type: 'separator', <del> tooltip: description, </del> <ins> description, </ins> buttons: [{ iconClass: ThemeIcon.asClassName(searchOpenInFileIcon), tooltip: localize('QuickSearchOpenInFile', "Open File")

Discussion:
So that we can add full path to Quick Search
Verification: Open from the command palette search for something Notice the folder paths next to the names of the files - that's the description! <img width="623" alt="image" src=""
Change:
``, `[x]: http://example.com` )); <del> assert.strictEqual(links.length, 1); assertRangeEqual(links[0].range, new vscode.Range(7, 5, 7, 23)); </del> <ins> assertLinksEqual(links, [ new vscode.Range(7, 5, 7, 23) ]); </ins> }); test('Should still find links on line with checkbox', async () => {

Discussion:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.61.2 OS Version: macOS Big Sur Steps to Reproduce: a new markdown file. ! But according to it isn't necessary to escape spaces when the text is enclosed in :
Removing help wanted since this is a bit more complicated than anticipated
Thanks!
Change:
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import * as aria from 'vs/base/browser/ui/aria/aria'; import { AnchorAlignment, IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview'; <del> import { getDefaultHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegate'; import { ICustomHover, setupCustomHover } from 'vs/base/browser/ui/iconLabel/iconLabelHover'; </del> import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement'; import { Widget } from 'vs/base/browser/ui/widget'; import { IAction } from 'vs/base/common/actions';

Discussion:
todays insiders - run F1 or cmd+shift+o a hover shows and doesn't go away
Change:
import { createErrorWithActions } from 'vs/base/common/errors'; import { NotificationService } from 'vs/workbench/services/notification/common/notificationService'; import { TestStorageService } from 'vs/workbench/test/common/workbenchTestServices'; <ins> import { timeout } from 'vs/base/common/async'; </ins> suite('Notifications', () => {

Discussion:
https://user- a new codespaces using the vscode repo clicking on the logs link :bug: Unable to click on the link Upon inspecting the DOM, it appears that elements are being /removed/updated every second so that may be blocking the link from being clicked on Codespaces Extension: v0.10.2 Version: 1.57.0-insider Commit: Date: 2021-05-20T05:11:47.260Z Electron: 12.0.7 Chrome: 89.0.4389.128 14.16.0 V8: 8.9.255.25-electron.0 OS: Darwin x64 20.3.0
Following up upstream first...
what do you think about not rerendering the notification message if the content didn't change between calls to report? In the codespaces extension I send fake progress updates quickly to smooth out the progress bar, and you can't click a link if it updates at the moment you are clicking it
good catch, indeed we should not update the DOM when contents have not changed. Is this something you would be interested in doing a PR for? I see to locations that could benefit of a check to not emit change events when nothing changed:   I would think for the latter, a simple check for would be sufficient.
Sure
PR:
It looks like "starting codespace" is no longer a link: 
you have to create a new codespace in order for the build logs to appear, connecting to an existing one just resumes the codespace. I can try to reproduce.
Verified <img width="1024" alt="CleanShot 2021-06-07 at 11 29 00 src="https://user-"
Change:
import { CellKind } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { CodeCellViewModel } from 'vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel'; <del> export const COPY_OUTPUT_COMMAND_ID = 'notebook.cellOutput.copyToClipboard'; </del> <ins> export const COPY_OUTPUT_COMMAND_ID = 'notebook.cellOutput.copy'; </ins> registerAction2(class CopyCellOutputAction extends Action2 { constructor() { super({ id: COPY_OUTPUT_COMMAND_ID, <del> title: localize('notebookActions.copyOutput', "Copy Output to Clipboard"), </del> <ins> title: localize('notebookActions.copyOutput', "Copy Output"), </ins> menu: { id: MenuId.NotebookOutputToolbar, when: NOTEBOOK_CELL_HAS_OUTPUTS

Discussion:
It should be just "Copy Output", the "to Clipboard" is obvious? This then aligns with other copy actions across the product Testing
Change:
} })); } <ins> provideTextContent(resource: URI): Promise<ITextModel | null> | null { return this._getTextModel(resource); } </ins> private _resetContextKeys(): void { this._accessiblityHelpIsShown.reset();

Discussion:
Testing Repro: "getting started with accessiblity features" second step click on blue button to "open accessible view" results in an error in dev console says that "the editor is not accessible at this time" and advises to turn on screen optimized view, but I already have that on as you can see in status bar item. Version: 1.94.0-insider Commit: Date: 2024-09-24T05:04:12.797Z Electron: 30.5.1 ElectronBuildId: Chromium: 124.0.6367.243 20.16.0 V8: 12.4.254.20-electron.0 OS: Darwin arm64 23.6.0
As part of this flow - I was also confused why a new file is opened after I close the Accessible View: !
I'm getting "the editor is not accessible at this time" messages while moving focus to the Python REPL input box or the Copilot Chat input box !
seems like an issue with the walkthrough accessible view?
this looks an issue with the accessible view editor. I'm seeing a similar issue when I open the chat-panel and request the accessible view.
Change:
colors: boolean; badges: boolean; }; <del> incrementalNaming: 'simple' | 'smart'; </del> <ins> incrementalNaming: 'simple' | 'smart' | 'disabled'; </ins> excludeGitIgnore: boolean; fileNesting: { enabled: boolean;

Discussion:
Please add an option to disable incremental naming. By disabling ... the end effect should be to effectively overwrite existing files when pasting. The current options of and are helpful; however, not useful in my context. For myself and those users who commonly do file operations in the host OS file explorer, the expected behavior when copying files/folders in the VSCode explorer is to similarly have these overwritten.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote 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 upvotes 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
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community upvotes 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!
We are open to a PR which adds the option to the setting. Code pointer
To verify set and copy and paste a file to ensure its name isn't changed and if a file of the same name exists in that directory it asks to overwrite the file
Change:
} <del> export function findValidPasteFileTarget(explorerService: IExplorerService, targetFolder: ExplorerItem, fileToPaste: { resource: URI; isDirectory?: boolean; allowOverwrite: boolean }, incrementalNaming: 'simple' | 'smart'): URI { </del> <ins> export function findValidPasteFileTarget(explorerService: IExplorerService, targetFolder: ExplorerItem, fileToPaste: { resource: URI; isDirectory?: boolean; allowOverwrite: boolean }, incrementalNaming: 'simple' | 'smart' | 'disabled'): URI { </ins> let name = resources.basenameOrAuthority(fileToPaste.resource); let candidate = resources.joinPath(targetFolder.resource, name);

Discussion:
Please add an option to disable incremental naming. By disabling ... the end effect should be to effectively overwrite existing files when pasting. The current options of and are helpful; however, not useful in my context. For myself and those users who commonly do file operations in the host OS file explorer, the expected behavior when copying files/folders in the VSCode explorer is to similarly have these overwritten.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote 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 upvotes 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
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community upvotes 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!
We are open to a PR which adds the option to the setting. Code pointer
To verify set and copy and paste a file to ensure its name isn't changed and if a file of the same name exists in that directory it asks to overwrite the file
Change:
let event = new StandardKeyboardEvent(e as KeyboardEvent); // Run action on Enter/Space <del> if (event.equals(KeyCode.Enter) || event.equals(KeyCode.Space)) { this.doTrigger(event); </del> <ins> if (this.isTriggerKeyEvent(event)) { if (!this.options.triggerKeys.keyDown) { this.doTrigger(event); } </ins> event.preventDefault(); event.stopPropagation(); }

Discussion:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !
Change:
} private _reveal(nth: number, minimal: boolean): void { <ins> if (nth < 0 || nth >= this._nodes.length) { return; } </ins> const node = this._nodes[nth]; <del> if (node) { const { width } = this._scrollable.getScrollDimensions(); const { scrollLeft } = this._scrollable.getScrollPosition(); if (!minimal || node.offsetLeft > scrollLeft + width || node.offsetLeft < scrollLeft) { this._scrollable.setRevealOnScroll(false); this._scrollable.setScrollPosition({ scrollLeft: node.offsetLeft }); this._scrollable.setRevealOnScroll(true); } </del> <ins> if (!node) { return; } const { width } = this._scrollable.getScrollDimensions(); const { scrollLeft } = this._scrollable.getScrollPosition(); if (!minimal || node.offsetLeft > scrollLeft + width || node.offsetLeft < scrollLeft) { this._scrollable.setRevealOnScroll(false); this._scrollable.setScrollPosition({ scrollLeft: node.offsetLeft }); this._scrollable.setRevealOnScroll(true); </ins> } }

Discussion:
profile on startup and have a css file opened the registers a fs provider for this somehow ends up causing a dom layout via the breadcrumbs <img width="606" alt="image" src="https://user-"
The trigger is that registering a file system causes a label service change event which causes breadcrumbs to re-render. Tho, we can likely optimise this