jiebi/CodeConvo huggingface dataset:
Change:
"config.enableCommitSigning": "Enables commit signing with GPG.", "config.discardAllScope": "Controls what changes are discarded by the `Discard all changes` command. `all` discards all changes. `tracked` discards only tracked files. `prompt` shows a prompt dialog every time the action is run.", "config.decorations.enabled": "Controls whether Git contributes colors and badges to the explorer and the open editors view.", <ins> "config.statusBarSync.enabled": "Controls whether Git sync appears in the status bar.", </ins> "config.promptToSaveFilesBeforeCommit": "Controls whether Git should check for unsaved files before committing.", "config.postCommitCommand": "Runs a git command after a successful commit.", "config.postCommitCommand.none": "Don't run any command after a commit.",

Discussion:
There doesn't appear to be an option to hide the git sync icon that appears in the status bar. It's not really a big deal but it would be nice to hide the git sync icon. Personally, coming from Vim I prefer working with the VCS outside of the editor, yet I would still like to see the current branch that is being worked on. This is why I'd like to hide just the sync button and not hide both git status bar items or disable the git extension entirely.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.561 --<!-- potentialduplicatescomment --
I believe this is resolved via
No, hard to revert that change.
/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 existing issues . See also our guidelines. Happy Coding!
Change:
let customEditorLabelDescription = localize('workbench.editor.label.patterns', "Controls the rendering of the editor label. Each __Item__ is a pattern that matches a file path. Both relative and absolute file paths are supported. In case multiple patterns match, the longest matching path will be picked. Each __Value__ is the template for the rendered editor when the __Item__ matches. Variables are substituted based on the context:"); customEditorLabelDescription += 'n- ' + [ localize('workbench.editor.label.dirname', "`${dirname}`: name of the folder in which the file is located (e.g. `root/folder/file.txt -> folder`)."), <del> localize('workbench.editor.label.nthdirname', "`${dirname(N)}`: name of the nth parent folder in which the file is located (e.g. `N=1: root/folder/file.txt -> root`)."), </del> <ins> localize('workbench.editor.label.nthdirname', "`${dirname(N)}`: name of the nth parent folder in which the file is located (e.g. `N=1: root/folder/file.txt -> root`). Folders can be picked from the start of the path by using negative numbers (e.g. `N=-1: root/folder/file.txt -> root`). If the __Item__ is an absolute pattern path, the first folder (`N=-1`) refers to the first folder in the absoulte path, otherwise it corresponds to the workspace folder."), </ins> localize('workbench.editor.label.filename', "`${filename}`: name of the file without the file extension (e.g. `root/folder/file.txt -> file`)."), localize('workbench.editor.label.extname', "`${extname}`: the file extension (e.g. `root/folder/file.txt -> txt`)."), ].join('n- '); // intentionally concatenated to not produce a string that is too long for translations

Discussion:
It seems that works workspace-relative unless an absolute glob pattern is used. I would clarify that from the settings description.
Change:
} } <ins> // TODO @justschen: After migration to Aux Window, switch to dedicated css. </ins> private applyStyles(styles: IssueReporterStyles) { const styleTag = document.createElement('style'); const content: string[] = [];

Discussion:
!
is this in OSS or in insiders?
This was oss
yep, this is a known issue in OSS with the css bundling. it ends up fine in Insiders and stable, but unsure why this has been the case for a while now. same as i believe
They still happen in insiders, just the button width isn't the same for some reason (you could inspect the element in devtools to diff the styles): !
Change:
"name": "keyword.operator.null-coalescing.php" } } <del> } </del>  No newline at end of file <ins> } </ins>

Discussion:
VS Code Version: 1.52.1 Steps to Reproduce: !
at line number 20-23 syntax is wrong
That code runs correctly in PHP 8 ().
The syntax highlight is broken when you use an attribute and write code in the same line (method1) but also is incorrect when you write code in a param (method2) or you use line break (method3).
Noticed that this is better in the latest version of vscode, but they are missing tokens to be fully colored. Filed
Change:
["'", "'"] ], "indentationRules": { <del> "increaseIndentPattern": "^s*((b(else|function|then|do|repeat)b((?!b(end|until)b).)*)|({s*))$", </del> <ins> "increaseIndentPattern": "^((?!(--)).)*((b(else|function|then|do|repeat)b((?!b(end|until)b).)*)|({s*))$", </ins> "decreaseIndentPattern": "^s*((b(elseif|else|end|until)b)|(})|()))" } }

Discussion:
Issue Type: <bBug</bIn Lua, when comment contains "function", like: -- blah blah function then type Enter, the next line will auto indent for one tab, but it shoud not auto indent. VS Code version: Code - OSS 1.27.2 (, 2018-09-14T00:41:55.375Z) OS version: Linux x64 4.18.16-arch1-1-ARCH <details<summarySystem Info</summary </details<details<summaryExtensions (5)</summaryExtensionVersion ------ vscode-language-pack-zh-hans1.27.2 python2018.10.1 cpptools0.20.1 Go0.7.0 markdown-all-in-one1.7.0 </details<!-- generated by issue reporter --
Introduced by
Change:
// tests already encompass their children. if (!test) { // no-op <del> } else if (!test.item.uri) { queue.push(test.children.values()); continue; } else if (ident.extUri.isEqualOrParent(test.item.uri, uri)) { </del> <ins> } else if (test.item.uri && ident.extUri.isEqualOrParent(test.item.uri, uri)) { </ins> yield test; <del> } else if (ident.extUri.isEqualOrParent(uri, test.item.uri)) { </del> <ins> } else if (!test.item.uri || ident.extUri.isEqualOrParent(uri, test.item.uri)) { </ins> if (test.expand === TestItemExpandState.Expandable) { await testService.collection.expand(test.item.extId, 1); }

Discussion:
If I open a Dart project, right-click on a folder in the explorer and then "Run Tests", I see: ! However if I open the test explorer tree first and then try again, everything works. It appears that "Run Tests" from explorer does not trigger the to allow initial test discovery. ( I presume this is a bug and not intended?)
even after I've shown the explorer tree and triggered discovery, it seems like "Run Tests" now works on the "tests" folder, but not on an individual test file (even though I've confirmed the URI for that file is being set when creating the test tree item). Is there something else I need to do besides having the URI on the test file node?
Does this reproduce on Insiders for you? It should be fixed with
looks like that fix handles the second issue above (running the file now works), however the original issue above is still an issue - if I don't trigger discovery of the tests before using it, it reports no tests found.
Fix works for me, thanks! :) /verified
Change:
<ins> sudo: false language: node_js node_js: - "0.12" addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-4.9 - g++-4.9 - gcc-4.9-multilib - g++-4.9-multilib - zip - libgtk2.0-0 before_install: - export CXX="g++-4.9" CC="gcc-4.9" install: - ./scripts/npm.sh install - gulp electron compile </ins>

Discussion:
Currently seems to not set the extension tests path properly.
There are two issues: the environment attribute 'extensionTestsPath' needs to be passed properly. when running VS Code in the web UI or in a remote setup, the value of the attribute must be a valid path that exists in the filesystem. This is a problem because for historical reasons the path generated by yeoman is which does not exist in the filesystem (because it lacks the file extension ). When running tests locally, the non-existing path is not an issue because mocha will find the tests anyway. The first problem has been fixed in VS Code. The second problem requires a change in "node-debug2": we have to cope with paths that lack a ".js" extension. I've created to address this. Without the second fix a workaround is needed in order to run extension tests in the Web or remote scenarios successfully: just append the ".js" extension to the path.
Verification: open a hello world extension in the web and run its unit tests.
One issue left: the tab where the VS Code instance runs the tests is not closed automatically at the end. See bug .
I hadn't published node2 with the fix. Doing that now, we can reverify this tomorrow.
Verification is trivial: open a hello world extension in the web and run its unit tests.
Verified using and running the tests.
Change:
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; <del> import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey } from '../common/extensions'; </del> <ins> import { IExtensionsWorkbenchService, IExtensionsViewPaneContainer, VIEWLET_ID, CloseExtensionDetailsOnViewChangeKey, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, AutoCheckUpdatesConfigurationKey, OUTDATED_EXTENSIONS_VIEW_ID } from '../common/extensions'; </ins> import { InstallLocalExtensionsInRemoteAction, InstallRemoteExtensionsInLocalAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions'; import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement'; import { IWorkbenchExtensionEnablementService, IExtensionManagementServerService, IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';

Discussion:
Testing Maybe a button to the right of the view header: !
Lets have action in the view header like below <img width="341" alt="image" src="https://user-"
Change:
open(providerId?: string, options?: IQuickChatOpenOptions): void { if (this._input) { if (this._currentChat && options?.query) { <ins> this._currentChat.focus(); </ins> this._currentChat.setValue(options.query, options.selection); if (!options.isPartialQuery) { this._currentChat.acceptInput(); } <ins> return; </ins> } return this.focus(); }

Discussion:
Originally posted by in
Marking this as debt since we'll likely be removing that command after terminal moves onto a different one in I'll change to bug if we're keeping it.
Repro: Set Hit ctrl+i in terminal, type something ctrl+` to focus terminal (don't close quick chat) ctrl+i type something is deleted
Change:
}; MenuRegistry.addCommand(FocusSearchListCommand); <del> const FIND_IN_FOLDER_ID = 'filesExplorer.findInFolder'; CommandsRegistry.registerCommand({ id: FIND_IN_FOLDER_ID, handler: (accessor, resource?: URI) => { const listService = accessor.get(IListService); const viewletService = accessor.get(IViewletService); const panelService = accessor.get(IPanelService); const fileService = accessor.get(IFileService); const resources = getMultiSelectedResources(resource, listService, accessor.get(IEditorService)); return openSearchView(viewletService, panelService, true).then(searchView => { if (resources && resources.length) { return fileService.resolveFiles(resources.map(resource => ({ resource }))).then(results => { const folders: URI[] = []; results.forEach(result => { if (result.success) { folders.push(result.stat.isDirectory ? result.stat.resource : dirname(result.stat.resource)); } }); searchView.searchInFolders(distinct(folders, folder => folder.toString()), (from, to) => relative(from, to)); </del> <ins> const searchInFolderCommand: ICommandHandler = (accessor, resource?: URI) => { const listService = accessor.get(IListService); const viewletService = accessor.get(IViewletService); const panelService = accessor.get(IPanelService); const fileService = accessor.get(IFileService); const resources = getMultiSelectedResources(resource, listService, accessor.get(IEditorService)); return openSearchView(viewletService, panelService, true).then(searchView => { if (resources && resources.length) { return fileService.resolveFiles(resources.map(resource => ({ resource }))).then(results => { const folders: URI[] = []; results.forEach(result => { if (result.success) { folders.push(result.stat.isDirectory ? result.stat.resource : dirname(result.stat.resource)); } </ins> }); <del> } return void 0; }); } </del> <ins> searchView.searchInFolders(distinct(folders, folder => folder.toString()), (from, to) => relative(from, to)); }); } return void 0; }); }; const FIND_IN_FOLDER_ID = 'filesExplorer.findInFolder'; KeybindingsRegistry.registerCommandAndKeybindingRule({ id: FIND_IN_FOLDER_ID, weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.and(ExplorerFolderContext, ResourceContextKey.Scheme.isEqualTo(Schemas.file)), // todo@remote primary: KeyMod.Shift | KeyMod.Alt | KeyCode.KEY_F, handler: searchInFolderCommand </ins> }); CommandsRegistry.registerCommand({

Discussion:
When I press Cmd/Ctrl+Shift+F and a focus is currently on some folder in the Explorer sidebar, it would be nice to automatically scope the search to that folder. It's currently achievable by putting this to : but I think it would be a nice little improvement to do that automatically.
I think cmd+shift+f should just focus the viewlet in that case. Imagine if you press cmd+shift+e, then cmd+shift+f - you would be stuck searching in a folder, unless you grab the mouse to move the focus off a folder. But, I would take a PR that adds this keybinding for cmd+alt+f (or something else reasonable) and something reasonable for windows.
, can i work on this ? If yes then some starter points would be helpful :)
There is already a PR in progress, see just above your comment.
Change:
return { suggestions: justAgents.concat( agents.flatMap(agent => agent.slashCommands.map((c, i) => { <del> const { label: agentLabel, isDupe } = getAgentCompletionDetails(agent, agents, this.chatAgentNameService); </del> <ins> const { label: agentLabel, isDupe } = this.getAgentCompletionDetails(agent); </ins> const withSlash = `${chatSubcommandLeader}${c.name}`; return { label: { label: withSlash, description: agentLabel, detail: isDupe ? ` (${agent.publisherDisplayName})` : undefined },

Discussion:
I removed this to move over to using the agent, which required setting . Chatted with and I should add another agent to support the agent in both places, only making it the default for the terminal location. fyi
Verified that is available in panel chat.
Change:
return false; } } <ins> if (compound.stopAll) { options = { ...options, compoundRoot: new DebugCompoundRoot() }; } </ins> const values = await Promise.all(compound.configurations.map(configData => { const name = typeof configData === 'string' ? configData : configData.name;

Discussion:
Ever since I started using the new JS debugger, when running our top level target and then manually closing the code-oss window, the and targets remain: ! Eventually, maybe 1 minute later, the goes away, but the other one stays, I always have to manually disconnect from it. ! cc
This is because is set for the shared process and extension host, which allows them to reconnect when vscode is reloaded. Eventually js-debug in extension host gives up, but the shared process is using the previous Node debugger which doesn't give up. Both these are working as designed, this is kind of a downside of the compound launch configs in that there's no "compound stop".
Yeah, would actually LOVE a compound stop. Could this be a feature of compounds, & Meaning, if something like was set in the compound, all targets would share the same action, and I would see no actions.
We could add a attribute to the compound, however how would that work? Clicking stop on any of the compound sessions would send stop to all sessions? And it would never be rendered as dicsonnect?
Maybe compound launch configs could have a pseudo-root, which has a "stop" action that affects all individual configs? ` The compound config could have an option whether sessions can be stopped individually, or whether stopping one session is treated as stopping the whole set of configuration.
ok makes somewhat sense, the flaw of my proposel is that once compound starts 4 sessions those sessions are not related in any way. So adding a pseudo root might be smart. The pseudo root would not be rendered, and the pseudo root would remember the attribute. Here are code pointers for a PR. We should add the attribute and to the schema . Code pointer for the debug session to add the pseudo root stopAll smartness
I like both options.
This bug has been fixed in to the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command pallette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Please let's have the bot not do this for ourselves.
BTW, the bot's wording sounds wrong: in to the latest...
Much better, and I this attribute to our compound config. But the behavior partly confuses me and I opened
Change:
}); } <del> return new vscode.CompletionList(newItems); </del> <ins> return new vscode.CompletionList(newItems, true); </ins> }); } }

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. --- VS Code Version: 1.75.0-insider OS Version: Windows 11 (21H2, .1455) Steps to Reproduce: editor with CSS/SCSS syntax CSS block e.g. to use Emmet CSS completion with abbreviation of more than 1 character that no Emmet completions are provided Emmet completions seem to only be provided for single-character abbreviations: ! For multi-character abbreviations, I am not getting any results from Emmet at all: ! A of the issue suggests that it was introduced in commit as part of More testing shows some weird behaviour when providing completions, with them showing sometimes but not always when expected: Type - text is - Emmet suggests Type - text is - no suggestions Type - text is - no suggestions Type - text is - Emmet suggests Backspace - text is - Emmet suggests Backspace - text is - Emmet suggests
Change:
import { IMessageService, IMessageWithAction, IConfirmation, Severity, CancelAction, IConfirmationResult } from 'vs/platform/message/common/message'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { getCodeEditor } from 'vs/editor/browser/services/codeEditorService'; <del> import { IEditorViewState } from 'vs/editor/common/editorCommon'; </del> <ins> import { IEditorViewState, IModel } from 'vs/editor/common/editorCommon'; </ins> import { IBackupFileService } from 'vs/workbench/services/backup/common/backup'; import { IWindowsService } from 'vs/platform/windows/common/windows'; import { withFocusedFilesExplorer, revealInOSCommand, revealInExplorerCommand, copyPathCommand } from 'vs/workbench/parts/files/browser/fileCommands'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; <del> import { ITextModelService } from 'vs/editor/common/services/resolverService'; </del> <ins> import { ITextModelService, ITextModelContentProvider } from 'vs/editor/common/services/resolverService'; </ins> import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; import { once } from 'vs/base/common/event'; <ins> import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; import { IModeService } from 'vs/editor/common/services/modeService'; import { IModelService } from 'vs/editor/common/services/modelService'; </ins> export interface IEditableData { action: IAction;

Discussion:
when i want to compare a local file with a online resource file, i need to save the online file in project folder, and then do compare. it's a little inconvenient. It'll be great if i can copy the content of the online file, and right-click the local file, and choose "compare with clipboard".
An extension would be ideal for a feature like this.
fyi
It would be great too if also is allowed to compare selection with clipboard.
It would be great if we could compare unsaved files...
I would be open to a PR here, I think it is not a lot of work. Some pointers: register a new text document content provider to be able to open the left hand side of the diff editor to be the contents of the clipboard (pointers: ) register a new action to diff the current editor with the resource that can be handled with from the text document content provider (similar to ) Due to sensitivity of data inside the clipboard it would probably make sense to ask the user for confirmation that the clipboard is accessed. Related to
Has someone taken up this issue? I am a complete beginner to the VSCode codebase, would I be able to contribute to this issue?
not yet, but it seems has started a similar PR in which could be used as input to this one. The difference is that the contents of the left hand side are coming from the clipboard instead of the file on disk.
Change:
const childNodes: INotebookVariableElement[] = []; if (parent.indexedChildrenCount > variablePageSize) { <del> // TODO: improve handling of large number of children const indexedChildCountLimit = 100000; const limit = Math.min(parent.indexedChildrenCount, indexedChildCountLimit); for (let start = 0; start < limit; start += variablePageSize) { let end = start + variablePageSize; if (end > limit) { end = limit; </del> <ins> const nestedPageSize = Math.floor(Math.max(parent.indexedChildrenCount / variablePageSize, 100)); const indexedChildCountLimit = 1_000_000; let start = parent.indexStart ?? 0; const last = start + Math.min(parent.indexedChildrenCount, indexedChildCountLimit); for (; start < last; start += nestedPageSize) { let end = start + nestedPageSize; if (end > last) { end = last; </ins> } childNodes.push({

Discussion:
viewing a very long list in the variables viewer will not show all entries. debug variables view handles this with nested groups: <img width="231" alt="image" src=""
verification steps: the notebook variable view with the cell the variable view in the debug sideview check that the children of the variable are accurate