jiebi/CodeConvo huggingface dataset:
Change:
if (otherHost) { return mapHasTunnel(map, otherHost, port); } <ins> return false; </ins> } return true; }

Discussion:
Issue Type: <bBug</b! VS Code version: Code - Insiders 1.50.0-insider (, 2020-09-12T00:56:22.923Z) OS version: Darwin x64 19.4.0 Remote OS version: Linux x64 4.19.76-linuxkit <details<summarySystem Info</summary </details<!-- generated by issue reporter --
This is the order that it's contributed in. Do you think that the settings UI should sort them alphabetically like they are in the suggest widget, or leave them in contribution order, in case that is important? Looking through some enum settings, some seem to order the options in an intentional way, like with the default first, or the simpler options first. Some are random or are sorted. I think I am inclined to display them in contributed order to keep this an option (and we can sort the encodings manually), but I'm not sure, what do you think?
It should be this order, same as the picker: ! The encodings are not sorted by name intentionally. But they are grouped by type and I guess that is not very visible in the settings editor.
Oh, got it. I've seen a few of these cases where it would make sense to display the enumDescription in the dropdown instead of the actual value. It doesn't make sense in general but it would be cool to provide an option for settings to opt into that, what do you think?
Yeah I think it would make a lot of sense in this case
I think we should add an option to the schema contribution for this but I have no clue what to call it
If the dropdown list will now display the enumDescriptions, should the description footer on the list show the value to be set? Should the collapsed dropdown control show the selected value or its enumDescription?
Yes, I'd say just swap them I think it should show the enumDescriptioni
I'll start working on this issue. Thanks for your help.
Now this will show with the key in the description area in square brackets. But it would look much nicer to match the editor encoding picker, so I opened for that.
Change:
{ "comments": { "lineComment": "#", <del> } </del> <ins> }, "autoClosingPairs": [ { "open": "{", "close": "}" }, { "open": "[", "close": "]" }, { "open": "(", "close": ")" }, { "open": "'", "close": "'", "notIn": ["string", "comment"] }, { "open": """, "close": """, "notIn": ["string"] }, { "open": "`", "close": "`", "notIn": ["string", "comment"] }, { "open": "/**", "close": " */", "notIn": ["string"] } ] </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. --I noticed some files like , etc. don't allow wrapping content with quotes: ! While a plain file allows that: ! Can we add the option to enable all files with this feature?
For that the quotes need to be ad autoClosingPairs in git language configurations files at (If it makes sense)
Can we do that in the or must via an extension?
This can't be done in settings. The feature request for that is:
I've submitted a PR for it:
Verification steps: the latest VS Code Insiders a folder/workspace that contains a git repository a change to a file, and press the "Commit" button (do not enter a commit messages) will open the COMMIT_EDITMSG file in a word, select it, and type Confirm that the word has been wrapped in
Verified.
Change:
static readonly InlineCompletionsActions = new MenuId('InlineCompletionsActions'); static readonly NewFile = new MenuId('NewFile'); static readonly MergeToolbar = new MenuId('MergeToolbar'); <ins> static readonly MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar'); static readonly MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar'); </ins> /** * Create or reuse a `MenuId` with the given identifier

Discussion:
Theirs / Yours title area is currently quite empty. We should consider to add an action bar for "Compare with Base" action. The title area should also have additional Git information in the future fyi !
I don't see a branch or commit id in your screenshot. Is that configured somehow? <img width="533" alt="CleanShot 2022-06-28 at 10 00 52 src="https://user-"In any case, we could introduce a toolbar somewhat like the editor. Icons are placeholder, but an example could look like: <img width="1032" alt="CleanShot 2022-06-28 at 10 05 06 src="https://user-"
Unsure what was seeing there but with the normal git flow we do show the branch names and commits in question. There is also different issue for the toolbar and since today an icon in front of the commit it
To verify open a merge editor verify that it has menus with yours/theirs
Change:
registerEditorContribution(TypeHierarchyController.Id, TypeHierarchyController, EditorContributionInstantiation.Eager); // eager because it needs to define a context key // Peek <del> registerAction2(class extends EditorAction2 { </del> <ins> registerAction2(class PeekTypeHierarchyAction extends EditorAction2 { </ins> constructor() { super({

Discussion:
Testing <img width="497" alt="image" src=""<img width="667" alt="image" src=""
same is true for "Peek Type Hierarchy"
Hi Rob and Johannes, Would you mind if I took a crack at this issue? I am just starting open source, and I think this would be a great learning experience to do!
I stand in line
Hey have you started working on this issue?
Yes I have! I have already wrote code for this issue, just haven't made a pr yet :)
Hey can you take a little time and help me if you have resolved this issue how you did it? just a brief, also where is your pr I want to take a look at it!
It's been quite a while that no updates about the fix is coming out, so I've committed mine in .
To verify: open a TS file, wait the language service to be ready select F1 and type Peek Call Hierarchy
Change:
setTimeout(() => this._refreshSelectionContextKey(), 0); })); <del> this._register(dom.addDisposableListener(xterm.raw.textarea, 'focus', () => { this._terminalFocusContextKey.set(true); this._onDidFocus.fire(this); })); this._register(dom.addDisposableListener(xterm.raw.textarea, 'blur', () => { this._terminalFocusContextKey.reset(); this._onDidBlur.fire(this); this._refreshSelectionContextKey(); })); </del> <ins> this._register(dom.addDisposableListener(xterm.raw.textarea, 'focus', () => this._setFocus(true))); this._register(dom.addDisposableListener(xterm.raw.textarea, 'blur', () => this._setFocus(false))); this._register(dom.addDisposableListener(xterm.raw.textarea, 'focusout', () => this._setFocus(false))); </ins> this._initDragAndDrop(container);

Discussion:
https://user- As shown in the recording, when I tried to paste in the editor The terminal paste command is matched, meaning that the terminal is still "focused" based on the context keys The terminal shows a context menu for paste. We are not seeing this in the editor, the terminal should handle in the same way
As long as the terminal is opened once, I have to reload the window to get it fixed.
I think this means that this isn't happening on safari for some reason
This gets hit even when I click in the editor area !
Still reproduced on latest codespace with VS Code insider bits.
Had a call, we believe it's happening because we set when hiding the panel which caused the blur/focusout events to not fire. We also noticed this happens in terminal editors as well. So to fix we need to reset or refresh the state of the context key when the terminal panel/view is hidden as well as when the terminal editor is hidden. Something to verify when these changes are made is to make sure if you have a single terminal editor and a single terminal in the panel, toggling the panel should still keep because the terminal editor will now be focused (ie. the panel hide context key reset should happen before the terminal editor focus is handled).
Change:
} } <ins> registerAction2(class extends Action2 { constructor() { super({ id: 'commandCenter.help', title: localize('all', "Show Search Modes..."), icon: Codicon.chevronDown, menu: { id: MenuId.CommandCenter, order: 100 } }); } run(accessor: ServicesAccessor): void { accessor.get(IQuickInputService).quickAccess.show('?'); } }); </ins> // --- theme colors // foreground (inactive and active)

Discussion:
hitting tab and shift tab to get to the "command center group" and then arrow keys once in that group. !
Change:
if (options.compact) { this._hover.containerDomNode.classList.add('workbench-hover', 'compact'); } <ins> if (options.skipFadeInAnimation) { this._hover.containerDomNode.classList.add('skip-fade-in'); } </ins> if (options.additionalClasses) { this._hover.containerDomNode.classList.add(...options.additionalClasses); }

Discussion:
Native browser tooltips and many custom ones (Figma, Discord, Edge tabs) keep the tooltip element visible when moving between elements. Would be nice to do the same, to make mouse exploration even snappier. Discord icon bar: ! macOS dock: !
cc as this discussion was spawned off cc as owner of the hover widget cc as we talked about this a few times and he brought it up most recently in the team chat
fyi I'm the main hover widget person This seems doable, needs some thinking on how this would be exposed in the API. It's also a feature of native browser tooltips when hovering from one element with to another.
Thanks for confirmation :)
Change:
metadataClb(meta: string): void; } <ins> registerThemingParticipant((theme: ITheme, collector: ICssStyleCollector) => { const borderColor = theme.getColor(IMAGE_PREVIEW_BORDER); collector.addRule(`.monaco-resource-viewer.image img { border : 1px solid ${borderColor ? borderColor.toString() : ''}; }`); }); </ins> /** * Helper to actually render the given resource into the provided container. Will adjust scrollbar (if provided) automatically based on loading * progress of the binary resource.

Discussion:
See for context
, I will take a look at this. Adding border to image as suggested in the other issue.
Change:
matchWholeWord?: boolean; useExcludeSettingsAndIgnoreFiles?: boolean; onlyOpenEditors?: boolean; <ins> showIncludesExcludes?: boolean; </ins> } //#endregion

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/No <!-- 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.89.0 OS Version: Windows 10.0. Steps to Reproduce: Create a keybinding to with the argument set to . The search sidepanel appears but if the includes and excludes fields were shown from a prior search they are still visible. The same happens even though the includes and excludes are cleared:
Hmm, that isn't currently an option in . But it can be . You can see the existing fields here:
<!-- -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!
To verify, try binding a keyboard shortcut like this: And verify that setting to true and false correctly shows the and fields in the search view. !
Change:
allKeysAreBoolean, editPresentation: prop.editPresentation, order: prop.order, <del> defaultValueSource, </del> <ins> nonLanguageSpecificDefaultValueSource: defaultValueSource, </ins> isLanguageTagSetting, categoryLabel, categoryOrder

Discussion:
On Insiders, for in the Settings editor. an HTML language filter to that setting. A default override indicator shows up for the setting that indicates that the default setting value of the extension has been overridden by the HTML Languages extension. remove the language filter from the search query in the search bar. :bug: The default override indicator still remains, even though we are back to the non-language-specific scope.
Change:
} const file = folder.with({ path: path.posix.join(folder.path, 'package.json') }); try { <del> const document = await workspace.openTextDocument(file); return parseTree(document.getText()); </del> <ins> const fileContents = await workspace.fs.readFile(file); // #174888 return parseTree(this.textDecoder.decode(fileContents)); </ins> } catch (err) { return undefined; }

Discussion:
Type: <bBug</bClose all editor windows/processes In any arbitrary directory that does not contain , start vscode to create , e.g. Objserve that an empty tag named is also opened. VS Code version: Code 1.75.1 (, 2023-02-08T21:32:34.589Z) OS version: WindowsNT x64 10.0. Modes: Restricted Sandboxed: No <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This originates from here: The editor just makes sure that dirty documents are made visible.
Change:
// }, { id: 'problems', <del> arrow: '&larrpl;', </del> <ins> arrow: 'u2939', // &larrpl; </ins> label: localize('welcomeOverlay.problems', "View errors and warnings"), command: 'workbench.actions.view.problems' },

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. --The next step in resolving . The Trusted Types violation here is setting an HTMLElement’s text content by assigning it to . Because in all of the cases the HTMLElement is already created with function, the idea is to pass the text as its argument. That is to replace: with .
Change:
}); } <del> function changeActive(value) { </del> <ins> function setActive(value) { isActive = value; </ins> if (value) { <del> container.classList.add('zoom-in'); consumeClick = true; </del> <ins> if (isMac ? altPressed : ctrlPressed) { container.classList.remove('zoom-in'); container.classList.add('zoom-out'); } else { container.classList.remove('zoom-out'); container.classList.add('zoom-in'); } </ins> } else { ctrlPressed = false; altPressed = false;

Discussion:
Repo an image to the side of a text editor with the text editor focused click into the image editor to focus it Bug The first click ends up zooming the image. Clicking should only zoom when the editor is already focused
Here's the relevant code about click handling in the image preview:
If focus is required for zoom, then the cursor when hovering over the image preview should be the default arrow cursor when unfocused, currently it is the zoom-in cursor. Also zooming with the mouse wheel should not be allowed when unfocused. Thoughts?
Fixed by
I'm still seeing the first click zoom. Steps: a typescript file. a gif gif to the right so that both typescript and gif are visible and side by side in typescript. in gif Expected: no zoom Actual: it zooms on the click in the gif in (5).
I'm not able to reproduce. Have tried on both insiders 1.40.0 and OSS. Does this only occur with gifs for you?
I can repo this. You may need to click back and forth multiple times trigger the error
I'm still not able to. Will try more tomorrow. A possible cause might be that the event is fired before the event on the first click. This could be tested by checking the order of execution for the corresponding event handlers in . I'll do it if I manage to reproduce the bug.
Change:
this._cwd = e; this._xtermOnKey?.dispose(); this.refreshTabLabels(this.title, TitleEventSource.Config); <ins> this._instantiationService.invokeFunction(getDirectoryHistory)?.add(e, null); </ins> }); } else if (e === TerminalCapability.CommandDetection) { this.capabilities.get(TerminalCapability.CommandDetection)?.onCommandFinished(e => {

Discussion:
We should not sync this Should this be per terminal instance? No We should persist similar to recent commands as well Should persisted entries work across different shells? Probably We should invalidate entries similar to commands Let's support removing entries, using a icon that shows only on active and hovered item Let's not use the x for failed, we can improve visualizing errors later on
Change:
const shiftDown = e.browserEvent instanceof KeyboardEvent && e.browserEvent.shiftKey; if (selection.length === 1 && !shiftDown) { // Do not react if user is clicking on explorer items which are input placeholders <del> if (!selection[0].name) { </del> <ins> if (!selection[0].name || selection[0].isDirectory) { </ins> // Do not react if user is clicking on explorer items which are input placeholders <del> return; } if (selection[0].isDirectory) { if (e.browserEvent instanceof KeyboardEvent) { this.tree.toggleCollapsed(selection[0]); } </del> <ins> // Do not react if clicking on directories </ins> return; }

Discussion:
Issue Type: <bBug</bVS Code version: Code - Insiders 1.32.0-insider (, 2019-02-27T21:19:19.351Z) OS version: Windows_NT x64 10.0.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.572 --- <!-- score: 0.463 --- <!-- score: 0.453 --<!-- potentialduplicatescomment --
To verify make sure that windows and linux enter collapses / expands folders mac cmd + down collapses / expands folders
Change:
export function buildReplaceStringWithCasePreserved(matches: string[] | null, pattern: string): string { if (matches && (matches[0] !== '')) { <ins> const containsHyphens = validateSpecificSpecialCharacter(matches, pattern, '-'); const containsUnderscores = validateSpecificSpecialCharacter(matches, pattern, '_'); if (containsHyphens && !containsUnderscores) { return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '-'); } else if (!containsHyphens && containsUnderscores) { return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '_'); } </ins> if (matches[0].toUpperCase() === matches[0]) { return pattern.toUpperCase(); } else if (matches[0].toLowerCase() === matches[0]) { return pattern.toLowerCase(); } else if (strings.containsUppercaseCharacter(matches[0][0])) { <del> const containsHyphens = validateSpecificSpecialCharacter(matches, pattern, '-'); const containsUnderscores = validateSpecificSpecialCharacter(matches, pattern, '_'); if (containsHyphens && !containsUnderscores) { return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '-'); } else if (!containsHyphens && containsUnderscores) { return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '_'); } else { return pattern[0].toUpperCase() + pattern.substr(1); } </del> <ins> return pattern[0].toUpperCase() + pattern.substr(1); </ins> } else { // we don't understand its pattern yet. return pattern;

Discussion:
, Replace string functionality in search does not work properly for hyphen and underscore separated variables , Initially figured it out from this Example: Replacingto with preserve case turned on replaces correctly to Replacing to with preserve case turned on replaces incorrectly to instead of PS : Additional Info from the code I found out there is a bug in function. The whole idea to call the replacement function again at was to reuse the already existing replacement logic ( First char capital , full caps and full small) but there was a bug as the hyphens and underscores were not even called because of wrong ordering in the condition checking logic.
Thanks for the PR, can you please phrase this issue in the form of a bug report (ie describe what to do, what happens, what is supposed to happen)
Change:
optionalDependencies: fsevents "~2.1.2" <ins> chokidar@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.0.tgz#458a4816a415e9d3b3caa4faec2b96a6935a9e65" integrity sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q== dependencies: anymatch "~3.1.1" braces "~3.0.2" glob-parent "~5.1.0" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" readdirp "~3.5.0" optionalDependencies: fsevents "~2.3.1" </ins> chokidar@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.0.tgz#5fcb70d0b28ebe0867eb0f09d5f6a08f29a1efa0"

Discussion:
Steps to Reproduce: on Apple SI a folder in devtools:
Related failing unit test:
Chokidar v3.5.0 was just released that takes in fsevents universal build , we can update to it.
yep this required compiling fsevents as universal binary
Change:
import { LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID } from 'vs/workbench/contrib/extensions/common/extensions'; const BANNER_RESTRICTED_MODE = 'workbench.banner.restrictedMode'; <del> const BANNER_VIRTUAL_WORKSPACE = 'workbench.banner.virtualWorkspace'; const BANNER_VIRTUAL_AND_RESTRICTED = 'workbench.banner.virtualAndRestricted'; </del> const STARTUP_PROMPT_SHOWN_KEY = 'workspace.trust.startupPrompt.shown'; const BANNER_RESTRICTED_MODE_DISMISSED_KEY = 'workbench.banner.restrictedMode.dismissed'; <del> const BANNER_VIRTUAL_WORKSPACE_DISMISSED_KEY = 'workbench.banner.virtualWorkspace.dismissed'; const infoIcon = registerCodicon('workspace-banner-warning-icon', Codicon.info); </del> /* * Trust Request via Service UX handler

Discussion:
The recently remote indicate tooltip helps users to learn about the limited extension functionality when in virtual workspaces. That allows us to reserve the banner for information on the restricted mode and avoid the complicated sentences when restricted mode and virtual workspaces are on at the same time. While it is interesting information that is limited extension functionality when in virtual workspaces, it's IMO not that crucial to warrant a banner. Also there's nothing the user can do about it.
FYI
Change:
Remote } <ins> export function extensionHostKindToString(kind: ExtensionHostKind): string { switch (kind) { case ExtensionHostKind.LocalProcess: return 'LocalProcess'; case ExtensionHostKind.LocalWebWorker: return 'LocalWebWorker'; case ExtensionHostKind.Remote: return 'Remote'; } } </ins> export interface IExtensionHost { readonly kind: ExtensionHostKind; readonly remoteAuthority: string | null;

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. --Add telemetry at the startup of an extension host to know that the startup was begun. Add telemetry when the extension host is successfully started. Add telemetry when the extension host failed to start. This enables determining the success/failure rate of extension host startup as well as grouping of failure reasons to debug issues in the field.