jiebi/CodeConvo huggingface dataset:
Change:
import { IEditorService } from '../../../services/editor/common/editorService.js'; import { INotebookEditorOptions } from '../../notebook/browser/notebookBrowser.js'; import { InlineChatController } from '../../inlineChat/browser/inlineChatController.js'; <ins> import { ReplEditorAccessibilityHelp } from './replEditorAccessibilityHelp.js'; import { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js'; </ins> type SerializedNotebookEditorData = { resource: URI; preferredResource: URI; viewType: string; options?: NotebookEditorInputOptions; label?: string }; class ReplEditorSerializer implements IEditorSerializer {

Discussion:
verification steps: get the latest pre-release for python extension run while focused in the REPL editor, press alt+F1 to open the a11y help view press escape to return focus to the editor
Change:
}; function overrideStyles<T>(override: IStyleOverride<T>, styles: T): any { <ins> const result = { ...styles } as { [P in keyof T]: string | undefined }; </ins> for (const key in override) { const val = override[key]; <del> (<any>styles)[key] = val !== undefined ? asCssVariable(val) : undefined; </del> <ins> result[key] = val !== undefined ? asCssVariable(val) : undefined; </ins> } <del> return styles; </del> <ins> return result; </ins> } export const defaultKeybindingLabelStyles: IKeybindingLabelStyles = {

Discussion:
I see this from time to time, it is not just happening reproducible. I wonder if it could be caused by more CSS getting loaded: !
The CSS rule triggering this seems to be: ! I wonder how that is possible. //cc
Related: ,
While trying to reproduce today, I also came to strange scenarios where the stylesheet for a list would contain rules for the suggest widget list.
Ok, found the problem
Change:
id: 'workbench.action.compareEditor.previousChange', weight: KeybindingWeight.WorkbenchContrib, when: TextCompareEditorVisibleContext, <del> primary: null, </del> <ins> primary: KeyMod.Alt | KeyMod.Shift | KeyCode.F5, </ins> handler: accessor => navigateInDiffEditor(accessor, false) });

Discussion:
I don't use the diff editor much, one of the first things I tried to do when I was learning it better now was to find the command to jump to the next change. I found go to next difference (F7) which is almost what I want: ! F7 goes to the diff chunk: ! I was expecting it to move the cursor/viewport to center around the change in the right editor.
and navigate through the diff hunks, but they do so in an accessible way. i.e. they are the mechanism through which the diff editor is accessible. There are these buttons at the top which allow to jump to the next diff hunk: ! I think we could find out their ID and bind keybindings to them.
Thanks, this is it: They don't have default keybindings.
These keybindings seem to work well for me: Maybe they should default to alt+f5/shift+alt+f5, so it's the same default as when in the diff editor?
^ I would support that. I made a separate issue here, don't know if that was overkill
Btw I'd think that it would be more logical to use modifiers+F7 (next diff change), instead of modifiers+F3 (next search match)
Or.. it's actually more similar to There are so many commands related to the concept of "next change", I'm actually a little confused myself
Alright I have it figured out! These two now have the default shortcuts: The does the exact same thing as , just for diff editor instead of normal editor. So there's absolutely no reason not to overload the and with the same functionality. So all we have to do is add:
Actually the might strictly be unnecessary, but it's good to have there for clarity.
I'd contribute a PR with the above myself, but I have no idea where the default keybindings are in the source
Change:
this._register(this.extensionService.onDidRegisterExtensions(() => this.onDidRegisterExtensions())); <ins> // Cached View Containers Locations should be registered before Cached View Positions // Because View Containers cache should be updated first because View Positions Cache depends on View Containers Cache if views are moved to generated view containers </ins> Registry.as<IProfileStorageRegistry>(Extensions.ProfileStorageRegistry) .registerKeys([{ <del> key: ViewDescriptorService.CACHED_VIEW_POSITIONS, description: localize('cachedViewPositions', "View locations customizations"), }, { </del> key: ViewDescriptorService.CACHED_VIEW_CONTAINER_LOCATIONS, description: localize('cachedViewContainerPositions', "View Container locations customizations"), <ins> }, { key: ViewDescriptorService.CACHED_VIEW_POSITIONS, description: localize('cachedViewPositions', "View locations customizations"), </ins> }]); }

Discussion:
Import following settings profile Timeline and Outline views are not updated. Refreshing the window updates the views. Expected that Timeline and Outline views shall be moved together into sidebar as a separate viewlet
Reopening this and making this a dup of because this is not completely fixed.
/duplicate
Change:
if (options.triggeredOnType && !this.searchConfig.searchOnType) { return; } if (!this.pauseSearching) { <ins> const delay = options.triggeredOnType ? options.delay : 0; </ins> this.triggerQueryDelayer.trigger(() => { this._onQueryChanged(options.preserveFocus, options.triggeredOnType); <del> }, options.delay); </del> <ins> }, delay); </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. --When the user has a high debounce delay and changes the files to include/exclude text fields it can take a couple of seconds for the search results to update. This could be fixed by giving the user the option to skip this delay by pressing enter. This already happens with the search text field. It seams like calling triggerQueryChange(); after the user presses enter in one of the fields would fix this problem. Maybe somewhere in setSearchParameters (line 1,329) at
I'll try to fix this
Change:
border-width: 1px; border-style: solid; border-top: none; <ins> border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; </ins> padding: 2px; }

Discussion:
Source control warning not aligned on the right hand side with the input field: <img width="473" alt="image" src="https://user-"
Draft PR here but I feel that there is a better way. For whatever reason the editor within SCM input is not as wide as the input it is rendered in—or something like that. Open to ideas!
Here is the updated layout: <img width="567" alt="image" src="https://user-"
Change:
} private _setCurrentResult(hoverResult: HoverResult | null): void { <ins> if (this._currentResult === hoverResult) { // avoid updating the DOM to avoid resetting the user selection return; } </ins> if (hoverResult && hoverResult.messages.length === 0) { hoverResult = null; }

Discussion:
I was trying to copying a new setting in the problems hover and it was extremely painful to do so: https://user-
This is editor hover and hence assigning to
FWIW this works fine for me on Windows.
Change:
/** * Create a trusted types policy (same API as window.trustedTypes.createPolicy) */ <del> createTrustedTypesPolicy( </del> <ins> createTrustedTypesPolicy?( </ins> policyName: string, policyOptions?: ITrustedTypePolicyOptions, ): undefined | ITrustedTypePolicy;

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. --A change was made in which the method to the Monaco (see ). Given that the rest of the properties and methods on the are optional, I believe that should be as well. There is already a , and it would be helpful for type-checking when creating a new .
/duplicate
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for . See also our . Happy Coding!
Change:
private readonly uninstalledPath: string; private readonly uninstalledFileLimiter: Queue<any>; <del> private _onDidRemoveExtension = new Emitter<ILocalExtension>(); readonly onDidRemoveExtension = this._onDidRemoveExtension.event; </del> constructor( <ins> private readonly beforeRemovingExtension: (e: ILocalExtension) => Promise<void>, </ins> @ILogService private readonly logService: ILogService, @IEnvironmentService private readonly environmentService: INativeEnvironmentService, @IProductService private readonly productService: IProductService,

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.46.0 OS Version: Windows 10/macOS Catalina 10.15.4 VS Code 1.46 no longer executes the Attached test extension (rename file extension to .vsix) which creates a file on uninstall in the user's home directory. Using VS Code 1.45.1 the file is created on both Windows and macOS. Using VS Code 1.46 no file is created. Steps to Reproduce: attached extension extension VS Code VS Code again file is created <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: This is an extension management problem
Change:
{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "watch-clientd",

Discussion:
Type: <bBug</bCC When I type something in terminal Accessible View, the first letter simply distroys the open Accessible View and it is not passed onto terminal. Instead, the second letter typing is passed to the terminal. VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-20T05:34:58.027Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (93)</summaryExtensionVersion ------ android-dev-ext1.3.2 aiprm-lang0.0.2 Bookmarks13.4.2 openscad1.2.2 spellright3.0.118 zoterolatex0.4.1 mermaid-markdown-syntax-highlighting1.5.3 doxdocgen1.4.0 vscode-markdownlint0.52.0 vscode-eslint2.4.2 vscode-quick-select0.2.9 vscode-deno3.26.0 gitlens14.4.0 EditorConfig0.16.4 prettier-vscode10.1.0 vscode-google-translate1.4.13 codespaces1.16.0 copilot1.128.504 copilot-chat0.9. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.74.0 overleaf-workshop0.3.1 cslpreview0.2.2 easy-snippet0.6.3 path-autocomplete1.25.0 latex-workshop9.14.1 lilypond-syntax0.1.1 scheme0.2.0 better-cpp-syntax1.17.2 vscode-bard0.0.10 google-search0.0.1 vscode-lua-format1.3.8 lilypond-formatter0.2.3 lilypond-pdf-preview0.2.8 lilypond-snippets0.1.1 vslilypond1.7.3 zotero0.1.10 git-graph1.30.0 vscode-docker1.27.0 black-formatter2023.5. flake82023.8.0 isort2023.11. python2023.19.

vscode-pylance2023.10.41 jupyter2023.10. jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.318.0 remote-ssh0.107. remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.24.0 azure-repos0.38.0 cmake-tools1.15.31 cpptools1.17.5 cpptools-extension-pack1.3.0 js-debug-nightly2023.10.1717 powershell2023.9.5 remote-explorer0.5. remote-repositories0.40.0 vscode-github-issue-notebooks0.0.130 vscode-selfhost-test-provider0.3.19 vscode-serial-monitor0.10.0 vsliveshare1.0.5883 autodocstring0.6.1 pandocciter0.10.3 shiny-python0.1.5 shinyuieditor0.5.0 quarto1.105.0 r-debugger0.5.4 java1.23.0 vscode-xml0.26.1 r2.8.2 multi-command1.6.0 vscode-deepl1.0.6 abc-music0.4.0 lua3.7.0 latex-utilities0.4.10 cmake0.0.17 errorlens3.14.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-arduino0.6.0 vscode-java-debug0.54.0 vscode-java-dependency0.23.1 vscode-java-pack0.25.14 vscode-java-test0.40.0 vscode-maven0.42.0 markdown-all-in-one3.5.1 grammarly0.22.1 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for reporting!
Change:
) ); export const unhandledConflictMinimapOverViewRulerColor = registerColor( 'mergeEditor.conflict-unhandled.minimapOverViewRuler', {

Discussion:
I really like how I can see the word-level change per line now in the merge editor, but shouldn't the colors be identical to the diff editor? !
I agree the new color needs to be tweaked. Would you also use the green background?
I think making this look as close as a diff editor if possible would be nice because I am so used at looking at diffs with their color coding. //cc
Change:
}); } <del> private basicMessage(tunnel: RemoteTunnel) { return nls.localize('remote.tunnelsView.automaticForward', "Your application running on port {0} is available.  ", </del> <ins> private async basicMessage(tunnel: RemoteTunnel) { const properties = await this.remoteExplorerService.tunnelModel.getAttributes([{ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }], false); const label = properties?.get(tunnel.tunnelRemotePort)?.label; return nls.localize('remote.tunnelsView.automaticForward', "Your application{0} running on port {1} is available.  ", label ? ` (${label})` : '', </ins> tunnel.tunnelRemotePort); }

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. --With any port forwarding command, the devcontainer launches the output that looks similar to: <img width="448" alt="Port forwarding notification" src=""Hidden under the "ports" tab is the label associated with the forwarded application, e.g. <img width="609" alt="Example of Port forwarded name" src=""This yields a moment of confusion as to what "your application" is. Thus, it would be great if the name in could be specified in place of . So, the proposal is if the following entry in is present: We would want the notification panel to show the value in the field instead of : <img width="442" alt="Display RStudio name in notification panel associated with port forwarding" src=""
<!-- -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!
I don't know that all labels will make sense as a substitute for "Your application...". I will change it to be "Your application (RStudio)..."
thank you so much for working on the issue and submitting a fix! :)
Change:
command.arguments[0] = { ...command.arguments[0], autoSend: false }; } } <del> try { this._lightBulbWidget.value?.hide(); await this._applyCodeAction(actionItem, false, false, ApplyCodeActionReason.FromAILightbulb); } finally { actions.dispose(); } </del> <ins> await this._applyCodeAction(actionItem, false, false, ApplyCodeActionReason.FromAILightbulb); </ins> return; } await this.showCodeActionList(actions, at, { includeDisabledActions: false, fromLightbulb: true });

Discussion:
Type: <bBug</bI'm not completely sure if this is caused by VSCode or Rust-Analyzer but I think it's VSCode. Whenever I try to open the imports menu from quick fixes, it instantly closes. It should wait for me to pick an import. This feature broke sometime within the last couple weeks. VS Code version: Code - Insiders 1.87.0-insider (Universal) (, 2024-02-16T16:39:24.006Z) OS version: Darwin arm64 23.2.0 Modes: Remote OS version: Linux x64 6.7.4-arch1-1 <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ better-comments3.0.2 vscode-nginx-conf0.3.2 postcss1.0.9 codespaces1.16.10 fluent-icons0.0.18 dotenv1.0.1 jupyter-keymap1.1.2 remote-ssh0.109. remote-ssh-edit0.86.0 remote-explorer0.5. rust-analyzer0.3.1839 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
tyler did some bisecting to one of my PRs, could be related. im assuming this quick fix is supposed to open a quick pick?
Yes it is.
Change:
"include": [ "typings/require.d.ts", "typings/thenable.d.ts", <del> "typings/lib.array-ext.d.ts", </del> "vs/css.d.ts", "vs/monaco.d.ts", "vs/nls.d.ts",

Discussion:
What is the reasoning behind not allowing via the Monaco standalone editor checks? It seems to be valid ES6 when I look at where it is defined:
idk - requires at least edge 14, unsure what our edge minimum version is:
Looking at the compat tables, I think it should be safe to use it. I guess it must have been a left-over from the IE era. I don't remember adding any rule like this, so I don't know where to begin looking to remove it. Leaving it to you .
I opened to do this and it has the advantage that we can get rid of another file in our folder () which actually even seems to have the wrong signature compared to TS. According to , Edge 13 has very low usages and Edge 14 is out since 2016: !
Unsure how and are connected. Or is this two clean-ups in one? I have the latter because for the longest time there was a TS bug which would remove type info from arrays after checking E.g If that's now fixed, I am very happy with removing
ah good to know, I just checked both in our code and the playground and I see that this no longer seems to be the case: ! I will go ahead and merge my PR then.
it
Change:
private updateBranchProtectionMatcher(): void { const scopedConfig = workspace.getConfiguration('git', Uri.file(this.repository.root)); <del> const branchProtectionGlobs = scopedConfig.get<string[]>('branchProtection')!.map(bp => bp.trim()).filter(bp => bp !== ''); </del> <ins> const branchProtectionConfig = scopedConfig.get<unknown>('branchProtection') ?? []; const branchProtectionValues = Array.isArray(branchProtectionConfig) ? branchProtectionConfig : [branchProtectionConfig]; const branchProtectionGlobs = branchProtectionValues .map(bp => typeof bp === 'string' ? bp.trim() : '') .filter(bp => bp !== ''); </ins> if (branchProtectionGlobs.length === 0) { this.isBranchProtectedMatcher = undefined;

Discussion:
Add the following user setting: . Open a folder/workspace that contains a git repository and the SCM view fill up with multiple instances of the same repository.
Change:
const { scheme, path, query, fragment } = resource; let promise: TPromise<any>; <del> if (scheme === Schemas.http || scheme === Schemas.https) { // open http dom.windowOpenNoOpener(resource.toString(true)); </del> <ins> if (scheme === Schemas.http || scheme === Schemas.https || scheme === Schemas.mailto) { // open http or default mail application dom.windowOpenNoOpener(resource.toString(true)); </ins> } else if (scheme === 'command' && CommandsRegistry.getCommand(path)) { // execute as command let args: any = [];

Discussion:
VSCode Version: Code 1.17.2 (, 2017-10-16T13:47:41.889Z) OS Version: Darwin x64 17.0.0 Extensions: ExtensionVersion ------ vscode-markdownlint0.10.1 beautify1.1.1 quokka-vscode1.0.72 path-intellisense1.4.2 vscode-svgviewer1.4.3 vscode-eslint1.3.2 python0.7.0 prettier-vscode0.24.0 flow-for-vscode0.7.2 markdown-shortcuts0.8.1 color-highlight2.3.0 javascript-typescript0.0.5 vscode-todo-highlight0.5.11 Steps to Reproduce: a mailto link in markdown file . markdown with and click on link. 't open mail client with email address and error notification pops up . Reproduces without extensions: Yes
I'd like to take a look at this issue if no one is on it yet.
Great! While the error is thrown in Take a look at how http and https links are being handled in there. We should probably handle mailto links similarly to http and https links
Thank you for the heads up! I'll take a look into the code :)
Change:
if (!this.isVisible) { return; } const widgetWidth = this.$el.clientWidth; <ins> const currentWindow = dom.getWindow(this.layoutService.activeContainer); const isMainWindow = currentWindow === mainWindow; </ins> if (x === undefined) { <del> const positionPercentage = this.storageService.get(DEBUG_TOOLBAR_POSITION_KEY, StorageScope.PROFILE); x = positionPercentage !== undefined ? parseFloat(positionPercentage) * mainWindow.innerWidth : (0.5 * mainWindow.innerWidth - 0.5 * widgetWidth); </del> <ins> const positionPercentage = isMainWindow ? Number(this.storageService.get(DEBUG_TOOLBAR_POSITION_KEY, StorageScope.PROFILE)) : this.auxWindowCoordinates.get(currentWindow)?.x; x = positionPercentage !== undefined ? positionPercentage * currentWindow.innerWidth : (0.5 * currentWindow.innerWidth - 0.5 * widgetWidth); </ins> } <del> x = Math.max(0, Math.min(x, mainWindow.innerWidth - widgetWidth)); // do not allow the widget to overflow on the right </del> <ins> x = clamp(x, 0, currentWindow.innerWidth - widgetWidth); // do not allow the widget to overflow on the right </ins> this.$el.style.left = `${x}px`; if (y === undefined) { <del> y = this.storageService.getNumber(DEBUG_TOOLBAR_Y_KEY, StorageScope.PROFILE, 0); </del> <ins> y = isMainWindow ? this.storageService.getNumber(DEBUG_TOOLBAR_Y_KEY, StorageScope.PROFILE) : this.auxWindowCoordinates.get(currentWindow)?.y; </ins> } <del> this.setYCoordinate(y); </del> <ins> this.setYCoordinate(y || 0); </ins> } private setYCoordinate(y = this.yCoordinate): void {

Discussion:
So that you know that you are debugging. //cc
I'm not sure on this, personally I would find it kind of annoying to have the toolbar on all windows. Maybe it's a setting, or can be dragged between windows? (Is there reusable cross-window drag logic yet?)
To clarify: not visible on all windows at the same time, but visible on the window that has focus maybe? Otherwise, it will be quite hard to step through a file using mouse in floating windows?
I think having it appear in the active window (when in floating mode) is good.
We solved this issue for quick open where we also want to appear it at the window that has focus. For that, there is which will always be the right container to put global UI elements and is derived from the currently active window. There is a event that can be used to reparent the UI element live.
Thanks!!!
Verification: Start debugging, and drag an editor out to an aux window Make sure the debug toolbar appears on whichever window has focus The debug toolbar should reappear in the same place per-window as you focus it
Change:
return nls.localize('emptyFileNameError', "A file or folder name must be provided."); } <ins> // Relative paths only if (name[0] === '/' || name[0] === '') { return nls.localize('fileNameStartsWithSlashError', "A file or folder name cannot start with a slash."); } </ins> const names: string[] = name.split(/[/]/).filter(part => !!part); const analyzedPath = analyzePath(parent, names);

Discussion:
Testing Have a file in a folder : Like this: ! Right click and rename Type Observe the message: ! That message is wrong, because pressing Enter will create a folder and then move file into it.
I think the message can be improved but the behavior is by design
Yeah, that's what I'm trying to say, that the help message is wrong

Testing Have a folder hierarchy Create a new file and type The help message reads: Pressing Enter will create a file in The help message hints that would be a folder, but will be a file. I suggest something like: in this case ! !