jiebi/CodeConvo huggingface dataset:
Change:
import { GoFilter, IHistoryService } from 'vs/workbench/services/history/common/history'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { ICommandService } from 'vs/platform/commands/common/commands'; <del> import { CLOSE_EDITOR_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, ActiveEditorMoveCopyArguments, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, splitEditor, LAYOUT_EDITOR_GROUPS_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, SPLIT_EDITOR, resolveCommandsContext, getCommandsContext, TOGGLE_MAXIMIZE_EDITOR_GROUP, MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID } from 'vs/workbench/browser/parts/editor/editorCommands'; </del> <ins> import { CLOSE_EDITOR_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, ActiveEditorMoveCopyArguments, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, splitEditor, LAYOUT_EDITOR_GROUPS_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, SPLIT_EDITOR, resolveCommandsContext, getCommandsContext, TOGGLE_MAXIMIZE_EDITOR_GROUP, MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID as NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID } from 'vs/workbench/browser/parts/editor/editorCommands'; </ins> import { IEditorGroupsService, IEditorGroup, GroupsArrangement, GroupLocation, GroupDirection, preferredSideBySideGroupDirection, IFindGroupScope, GroupOrientation, EditorGroupLayout, GroupsOrder, MergeGroupMode } from 'vs/workbench/services/editor/common/editorGroupsService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';

Discussion:
Testing I am wondering if there should be a context menu action for this? !
Yeah, I actually decided to do a bit more: Editor Tab Container Context Menu: <img width="447" alt="image" src=""Empty Editor Group Context Menu: <img width="458" alt="image" src="" to open an empty aux window
Change:
<del> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" enable-background="new 0 0 16 16" height="16" width="16"><path fill="#F6F6F6" d="M13 13h-10v-10h10v10z"/><path fill="#424242" d="M12 12h-8v-8h8v8z"/></svg> </del>  No newline at end of file <ins> <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M11 11H3V3H11V11Z" fill="#424242"/> </svg> </ins>  No newline at end of file

Discussion:
Start a long running search, notice the ugly stop icon I feel like somebody took the debug stop and stripped it of its color. Notice how it is too bright compared to the other icons. Also it feels a bit too large / too strong !
Should we use the exact same icon as the "Debug" stop icon maybe?
The Debug stop icon is red though, which aligns with the rest of the debug buttons that are multi-colored. Not sure if red would make sense here though: !
It goes with the redish clear. But still looks too strong and distracting for me. Why do we need a button for that in the end, why doesn't esc simply cancel the search?
I think ESC is not really discoverable and the button only shows up when search is taking a long time (as far as I remember). I don't mind the button there, but I am also not a big fan of the icon we have at the moment.
Typically you see an to cancel/stop progress, but we use that icon for closing items so it feels a bit out of place. Here's a few variations: ! I think an interesting idea is using the loading spinner and placing the stop icon on hover. Though we already have the viewlet progress indicator so it might be a duplication but the icon and interaction feels a little more natural: !
This is right, we used to get a lot of complaints about not being able to cancel a search.
I am not sure I would agree that X is used to stop a running operation, it feels to me the stop button makes more sense. I associate X more with closing something then stopping something.
here's a few examples where X is used to stop a running operation: <img width="50%" src="https://user-"<img width="50%" src="https://user-"<img width="30%" src="https://user-"If we want to keep using the "Stop" icon, we can either make the current one smaller and match the correct color or use an alternate stop icon: !
that icon might work in other apps, but in VSCode every usage of the "X" is for closing something, not stopping something.
agreed, I was just pointing out that other apps also use the X in other ways. What are your thoughts on either stop button?
how did the stop button change in the first screenshot?

It's subtle, I made it smaller by 2px, removed the white border, and used the same gray color as the other icons.
yeah let's try it out in insiders
Yeah without the border it at least looks better. We shuold try it out
Change:
description: commit.authorName, icon: new ThemeIcon('git-commit'), timestamp: commit.authorDate?.getTime(), <del> statistics: commit.shortStat </del> <ins> statistics: commit.shortStat ?? { files: 0, insertions: 0, deletions: 0 }, </ins> }; }));

Discussion:
Testing the commit in the outgoing section Notice the empty square in All Changes <img width="429" alt="image" src=""
Diff statistics badge will always contain the number of files: <img width="474" alt="image" src=""
Change:
return mime.length === 1 && isUnspecific(mime[0]); } <ins> /** * Returns a suggestion for the filename by the following logic: * 1. If a relevant extension exists and is an actual filename extension (starting with a dot), suggest the prefix appended by the first one. * 2. Otherwise, if there are other extensions, suggest the first one. * 3. Otherwise, suggest the prefix. */ </ins> export function suggestFilename(langId: string, prefix: string): string { <del> for (let i = 0; i < registeredAssociations.length; i++) { const association = registeredAssociations[i]; if (association.userConfigured) { continue; // only support registered ones } if (association.id === langId && association.extension) { return prefix + association.extension; } </del> <ins> const extensions = registeredAssociations .filter(assoc => !assoc.userConfigured && assoc.extension && assoc.id === langId) .map(assoc => assoc.extension); const extensionsWithDotFirst = extensions .filter(assoc => strings.startsWith(assoc, '.')); if (extensionsWithDotFirst.length > 0) { return prefix + extensionsWithDotFirst[0]; </ins> } <del> return prefix; // without any known extension, just return the prefix </del> <ins> return extensions[0] || prefix; </ins> } interface MapExtToMediaMimes {

Discussion:
VSCode Version: 1.26.1 My extension provides syntax highlighting for the following files: <img width="147" alt="screen shot 2018-08-29 at 19 48 37" src="https://user-"When saving a new "Todo" file this will be the suggested name: <img width="368" alt="screen shot 2018-08-29 at 19 47 53" src="https://user-"Which doesn't really make sense, IMHO it should work like this: the first extension that starts with a dot, and suggest no extension starts with a dot pick the first one and suggest instead of
I would accept a reasonably small PR to fix this.
Change:
type: 'boolean', default: false }, <ins> [TerminalSettingId.ShellIntegrationDecorationsEnabled]: { restricted: true, markdownDescription: localize('terminal.integrated.shellIntegration.decorationsEnabled', "When shell integration is enabled, adds a decoration for each command."), type: 'boolean', default: true }, </ins> [TerminalSettingId.ShellIntegrationShowWelcome]: { restricted: true, markdownDescription: localize('terminal.integrated.shellIntegration.showWelcome', "Whether to show the shell integration activated welcome message in the terminal when the feature is enabled."),

Discussion:
Currently you can disable them via: But this is not particularly easy and the decorations still end up rendering. We should have a switch that disables them outright, including adding them to xterm.
<img width="1111" alt="Screen Shot 2022-02-23 at 5 04 01 PM" src="https://user-"It is enabled even though shell integration is off... But thanks for the fix, now i can go back to using the integrated terminal! EDIT: the fix doesn't work, guess i'm stuck with iterm2 for now...
they're rectangles so you're probably on a pretty old build (1 week+?), updating will probably fix it for you.
are there any verification steps?
It's still unreleased, but use to disable them.
Change:
}); this.add('eslint-stylish', [ { <del> regexp: /^([^s].*)$/, </del> <ins> regexp: /^((?:[a-zA-Z]:)*[/.]+.*?)$/, </ins> kind: ProblemLocationKind.Location, file: 1 },

Discussion:
VSCode Version: 1.52.1 OS Version: Win10 20H2 Steps to Reproduce: a task to run with the default ("stylish") formatter, using the problem matcher code that trips a linter rule with a multi-line message, such as the task Problems tab has a new problem that points to a file called "ban-types" (in this example), because it matched the rule message as if it were a file path Does this issue occur when all extensions are disabled?: Yes Note that the linked issue has an example of some Typescript source that will trigger the example rule.
If somebody also waits for this fix to be merges, you can temporary override problemMatcher patters directly in the
, any plans to merge this PR soon? I'm using this fix for some time and all looks good.
I missed the PR when it came in . I've posted a comment in the PR.
Change:
collapseByDefault: true, expandOnlyOnTwistieClick: true, multipleSelectionSupport: false, <del> sorter: new OutlineItemComparator(this._getOutlineItemCompareType()), </del> <ins> sorter: this._outlineComparator, </ins> identityProvider: new OutlineIdentityProvider(), keyboardNavigationLabelProvider: new OutlineNavigationLabelProvider(), filter: this._instantiationService.createInstance(OutlineFilter, 'breadcrumbs')

Discussion:
The setting "breadcrumbs.symbolSortOrder" cannot be enabled for a specific language, i.e. "[markdown]": { "breadcrumbs.symbolSortOrder": "position" } is not possible in the settings. It makes sense to sort by position in markdown files to see headers and subheaders as they are. However, one might want to display symbols by type when writing code. Thank you in advance!
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 existing issues . See also our guidelines. Happy Coding!
Actually not a duplicate but should be straight forward to implement as filter-options can already be defined per language
Could you point me towards how to get the current resource from the editor model inside ?
The  has a reference to the text model
to verify, have this setting and a file with this content (symbol should be sorted alphabetically) Now, paste the same content into and make sure symbols are sorted by position
Change:
} } <ins> private setUnfocusedState(): void { this.focusState = this.currentMenubarVisibility === 'toggle' ? MenubarState.HIDDEN : MenubarState.VISIBLE; } </ins> private hideMenubar(): void { this._onVisibilityChange.fire(new Dimension(0, 0)); this.container.style('visibility', 'hidden');

Discussion:
Issue Type: <bBug</bWhen using the custom title bar and the toggled menu bar setting, the menu bar becomes stuck in the toggled on state. This primarily occurs when the active VS Code window becomes inactive while the menu bar is toggled on. When using multiple VS Code windows this makes it difficult to identify the correct window because the title bar's filename information is hidden. Steps to reproduce: the setting to , and setting to VS Code is the active window, hold down the key to show the menu bar the key while still holding the key to switch to another application. The active VS Code window becomes inactive and the menu bar is visible. Alternatively you can click outside of the active VS Code window while the menu bar is being displayed. VS Code version: Code 1.25.0 (, 2018-07-05T13:11:58.697Z) OS version: Windows_NT x64 10.0. <details<summaryExtensions (4)</summaryExtensionVersion ------ classic-asp0.0.4 vscode-icon-theme1.6.2 csharp1.15.2 PowerShell1.8.0 </details<!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.538 --- <!-- score: 0.491 --- <!-- score: 0.483 --- <!-- score: 0.482 --- <!-- score: 0.48 --<!-- potentialduplicatescomment --
Change:
}; } <ins> const ignoredErrors = [ 1108,  /* A_return_statement_can_only_be_used_within_a_function_body_1108 */ 2792, /* Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option */ ]; </ins> export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript', workspace: Workspace): LanguageMode { const jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument(languageId)); const host = getLanguageServiceHost(languageId === 'javascript' ? ts.ScriptKind.JS : ts.ScriptKind.TS); const globalSettings: Settings = {}; return { getId() { return languageId;

Discussion:
Issue Type: <bBug</bUsually when editing JavaScript files, one can get useful support from TypeScript. However, when editing JavaScript codes in HTML files, this does not work. Repro steps: VSCode like . (<kbd⌘ N</kbd) and set to HTML mode (<kbd⌘ K</kbd→ <kbdM</kbd). the following text: Result: The following problems are detected. of type 'number' is not assignable to parameter of type 'string'. javascript [Ln 4, Col 19] Cannot find module 'lodash'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option? javascript [Ln 6, Col 24] Compare this with (full) JavaScript mode result: of type 'number' is not assignable to parameter of type 'string'. ts(2345) [Ln 3, Col 17] Type 'number' is not assignable to type 'string'. ts(2322) [Ln 7, Col 25] <img width="1392" alt="image" src="https://user-"VS Code version: Code 1.68.1 (, 2022-06-14T12:52:13.188Z) OS version: Darwin x64 20.5.0 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Yes, we do not resolve import (). But there should not be an error.
Change:
"command.showOutput": "Show Git Output", "command.ignore": "Add to .gitignore", "command.revealInExplorer": "Reveal in Side Bar", <ins> "command.rebaseAbort": "Abort Rebase", </ins> "command.stashIncludeUntracked": "Stash (Include Untracked)", "command.stash": "Stash", "command.stashPop": "Pop Stash...",

Discussion:
It's very common to have to resolve merge conflicts during a pull with rebase. You might decide that you want to stop and try something else. There's no way, that I found, through the source control UI or command palette to properly abort a rebase. You can get into a jam trying to abort, though. Like clicking the branch button in the status bar. You can choose your local branch and have the local branch's contents restored, but Code leaves you in a rebase (and that's no good). You're stuck running on the command line. (I'll upload some pics later when I can contrive some examples... sorry, I didn't capture them while I was causing trouble earlier.)
I'd like to work on the implementation. But there are 2 options when a repository is being rebased: continue and abort. I can add two menu items right under "Pull (Rebase)": "Rebase Continue" and "Rebase Abort". Will it work from the UX perspective?
Rebase continue is already implemented: if you try to commit during a rebase, it will run rebase continue instead. All we're missing is the abort action.
So, adding "Rebase Continue" option under the "Pull (Rebase)" will be ok. Am I right?
This is good to know and takes some exploring to figure out. Are there any good patterns to explain this like during your 1st use of the feature? Or in the docs somewhere? This is a problem any time you combine git commands (like Sync).
We could maybe add that to the docs. :+1: Wanna submit a PR on ?
Hey, to this point (), I don't recall anywhere except maybe the Output | Git log that you can tell that the rebase has continued. There's no obvious status that commits are being replayed or that you may need to wait a few seconds for the next merge conflict to render in the source control explorer (if there are more conflicts) or even if the rebase is "done". You end up needing to check the Git status on the command line anyway. I think if you're going to wrap up the workflow by offering "abort", you need to make the entire experience better.
I did some exploration on supporting rebase features, which is related to this.
looks like your implementation covers git abort and my PR is not required anymore. Closing it.
Change:
} else if (typeof command === 'object') { const { title, isCloseAffordance } = command; commands.push({ title, isCloseAffordance: !!isCloseAffordance, handle }); <ins> if (isCloseAffordance) { if (hasCloseAffordance) { this._logService.warn(`[${extension.identifier}] Only one message item can have 'isCloseAffordance':`, command); } else { hasCloseAffordance = true; } } </ins> } else { <del> this._logService.warn('Invalid message item:', command); </del> <ins> this._logService.warn(`[${extension.identifier}] Invalid message item:`, command); </ins> } }

Discussion:
We'd been having a bug report where some of our dialogs in our extension were not showing the buttons correctly. Digging through, we realized this was a regression caused by Our extension was mistakenly setting isCloseAffordance on all buttons to be displayed. Before the above PR, all the buttons would work, and it would just be the last one passed that would be set as the cancel button. However after that PR, due to any buttons that had isCloseAffordance set to true wouldn't be to the buttons list, and instead would just overwrite the single cancel button. I'd be nice if we could get some release notes about this regression, and maybe a change to spit out a warning in the debugger if multiple buttons with isCloseAffordance are to a dialog. Currently its very hard to debug if this is occurring, because the buttons just don't show up, and its not clear why.
Change:
} try { itemOrItems = Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]; <del> await Promise.all(itemOrItems.map(element => { return tree.expand(element, false); })); </del> <ins> for (const element of itemOrItems) { await tree.expand(element, false); } </ins> } catch (e) { // The extension could have changed the tree during the reveal. // Because of that, we ignore errors.

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. --<!-- 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.79.0-insider OS Version: macOS 12.6.3 I am working on a file explorer tree view extension and doesn't work properly if is 2 or 3. When expand is 3 only the first level 3 folder expands. I have checked and doesn't get called for the rest of the level 3 folders. If I call again with the rest of the level 3 folders expand. When I use with 2 or 3 on a large folder (hundreds of items) the promise never fulfills even though the folder expands (at least up to level 2). I don't get any error in any of the two cases.
can you share a minimal example that reproduces this issue?
Sure thing, here you have it:
Thank you for the repro repo!
No problem, thanks for the fix!
Change:
} if (validateLocation) { <del> rootNode = parseDocument(document, false); currentNode = getNode(rootNode, position, true); if (isStyleAttribute(currentNode, position)) { </del> <ins> const lsDoc = TextDocument.create(document.uri.toString(), 'html', 0, document.getText()); const parsedLsDoc = this.htmlLS.parseHTMLDocument(lsDoc); const positionOffset = document.offsetAt(position); const node = parsedLsDoc.findNodeAt(positionOffset); if (node.tag === 'script') { return; } if (node.tag === 'style') { </ins> syntax = 'css'; validateLocation = false; } else { <del> const embeddedCssNode = getEmbeddedCssNodeIfAny(document, currentNode, position); if (embeddedCssNode) { currentNode = getNode(embeddedCssNode, position, true); syntax = 'css'; </del> <ins> if (node.attributes && node.attributes['style']) { const scanner = this.htmlLS.createScanner(document.getText(), node.start); let tokenType = scanner.scan(); let prevAttr = undefined; while (tokenType !== TokenType.EOS && (scanner.getTokenEnd() <= positionOffset)) { tokenType = scanner.scan(); if (tokenType === TokenType.AttributeName) { prevAttr = scanner.getTokenText(); } } if (prevAttr === 'style') { syntax = 'css'; validateLocation = false; } </ins> } } } } const extractAbbreviationResults = helper.extractAbbreviation(document, position, !isStyleSheet(syntax));

Discussion:
Issue Type: <bFeature Request</bI'm not talking about the editor's horizontal scroll is a very thin scroll bar between the tabs and editor,that's what i'm talking about. When you open too many tabs,some tabs are invisible so you need scrolling horizontally. There's a scrollbar to scroll the tabs,but it's too thin. Of course,this wasn't a big bug or what,and I can use "Ctrl+Tab" to switch tabs. maybe this bar should be bigger or even disappear considering it's not helpful. VS Code version: Code 1.32.3 (, 2019-03-14T23:43:35.476Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.49 --<!-- potentialduplicatescomment --
Duplicate of
Oops, tagged wrong issue.