jiebi/CodeConvo huggingface dataset:
Code change:
return; } <del> if (this.size.width >= SearchView.WIDE_VIEW_SIZE) { dom.addClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } else { dom.removeClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } </del> <ins> const actionsPosition = this.configurationService.getValue<ISearchConfigurationProperties>('search').actionsPosition; const useWideLayout = this.size.width >= SearchView.WIDE_VIEW_SIZE && actionsPosition === 'auto'; dom.toggleClass(this.getContainer(), SearchView.WIDE_CLASS_NAME, useWideLayout); </ins> this.searchWidget.setWidth(this.size.width - 28 /* container margin */);

Related discussion:
text: <!-- 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.29-insider OS Version: Windows 10 Version 1809 (OS Build .1000) Steps to Reproduce: Find in files and search for something that will return results over different result lines Badge and Action button (Dismiss) are on the left (aligned to the end of result text) I'm expecting that Dismiss action will have fixed horizontal position (on the right side) that will allow me to easily dismiss several results entries. With current position at the end of result text I have to constantly move mouse to hit Dismiss button. In stable version both count badge (for file) and Dismiss action were aligned at the right side of the viewlet which was convenient. At this moment it is hard to filter out result entries because texts have different length and button shifts for each line. I've found which says that button should always stay on the right side, however this isn't case in v1.28.2 independently from viewlet width (both badge and actions are on the right side). <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <details<summaryScreenshot</summary<div! </div</details
I guess this only applies to the search panel?
Yes, I observe issue in Search panel. UPD. Checked - same behavior when Search: Location is set to sidebar.
You should see the actions on the right when search is narrow, and on the left when it's somewhat wide. The reason is that when the actions are on the right and the text is aligned to the left, it can be hard to associate the two, so it seems more user-friendly to put the actions closer to the actual result. Maybe the threshold could be tweaked, but it doesn't feel good to click an action on the opposite side of the monitor from the actual text. Does this match what you see?
Yes, that match what I see, but makes it harder to use Dismiss action with mouse. For badge with results count - it is good position, since it is visible without hover. On the other hands actions are only visible on hover, when background can clearly indicate what line will be dismissed.
Code change:
return; } <del> if (this.size.width >= SearchView.WIDE_VIEW_SIZE) { dom.addClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } else { dom.removeClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } </del> <ins> const actionsPosition = this.configurationService.getValue<ISearchConfigurationProperties>('search').actionsPosition; const useWideLayout = this.size.width >= SearchView.WIDE_VIEW_SIZE && actionsPosition === 'auto'; dom.toggleClass(this.getContainer(), SearchView.WIDE_CLASS_NAME, useWideLayout); </ins> this.searchWidget.setWidth(this.size.width - 28 /* container margin */);

Related discussion:
text: Previously (September and numerous builds before) I was able to put mouse over X and just click (even without looking) several times to remove unnecessary lines. Now it takes more time/attention to do it with mouse, and if next line after dismissed has longer text - it is easy to open file instead of dismissing it. Open editors view (Close editor button), Source control (action buttons for files), Extensions (Manage button) - have static position of actions that are not changed with sidebar width. My cases are 23" monitor with 1920x1080 and Surface Pro 3. Never had problems when action were on the right side. Users with 4k 30+" will have to snipe for X too.
Yes it was broken for a few months, but this was the behavior from before it was broken I see your point but I will leave this open to think about it
thanks!
Putting the dismiss button to the right would also make it less likley that someone presses it by accident which I just did. The middle of a search result might be just above/below the end of another so that clicking just a bit above/below where you intended could lead you to remove the other search result.
Issue 1) The dismiss buttons are too close to the actual text of the search result making it very easy to accidentally dismiss something. Issue 2) The dismiss buttons are invisible until hover/focus. So if you had your focus on another panel or another window and then click on a search result to focus it, it's too easy to click on an invisible button and accidentally dismiss a search result because of issue 1.
Trying to decide whether we should just always right align... but it seems weird to me to have the X really far away from the row content in some cases. Anyway, if someone wants to add a setting to configure this, I would take that PR.
Code change:
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; import { IMessageService, Severity } from 'vs/platform/message/common/message'; import product from 'vs/platform/node/product'; <ins> import IPackageConfiguration from 'vs/platform/node/package'; </ins> function ignore<T>(code: string, value: T = null): (err: any) => TPromise<T> { return err => err.code === code ? TPromise.as<T>(value) : TPromise.wrapError<T>(err);

Related discussion:
text: VSCode Version: 1.19.0 OS Version: openSUSE Tumbleweed (Linux) Steps to Reproduce: "version" in no entry, but should As enhancement it would be nice if the show-all-command would have an entry to display the Visual Studio Code version (I know that I could pass the flag on the command-line). Such a feature exists e.g. in Emacs, where it is possible to enter and get the current Emacs version displayed.
I'd like to take this up. Any pointers? far I though to extend the current to execute and show the result? Or is there a place where we store version globally? we open up the and show the result of there?
No need to execute , that information can be obtained by requiring . Output is good, but a is better.
raised a PR . Currently in the action under . Any better section to add this in?
Code change:
} const extensionsToUninstall: UninstallExtensionInfo[] = [{ extension: extension.local }]; <del> const dependents: IExtension[] = []; for (const local of this.local) { if (local === extension) { continue; </del> <ins> for (const packExtension of this.getAllPackExtensionsToUninstall(extension.local, this.local)) { if (!extensionsToUninstall.some(e => areSameExtensions(e.extension.identifier, packExtension.identifier))) { extensionsToUninstall.push({ extension: packExtension }); </ins> } <del> if (!local.local) { continue; } if (local.dependencies.length === 0) { continue; } if (extension.extensionPack.some(id => areSameExtensions({ id }, local.identifier))) { continue; } if (dependents.some(d => d.extensionPack.some(id => areSameExtensions({ id }, local.identifier)))) { continue; } if (local.dependencies.some(dep => areSameExtensions(extension.identifier, { id: dep }))) { dependents.push(local); extensionsToUninstall.push({ extension: local.local }); </del> <ins> } const dependents: IExtension[] = []; for (const { extension } of extensionsToUninstall) { for (const local of this.local) { if (!local.local) { continue; } if (areSameExtensions(local.identifier, extension.identifier)) { continue; } if (local.dependencies.length === 0) { continue; } if (extension.manifest.extensionPack?.some(id => areSameExtensions({ id }, local.identifier))) { continue; } if (dependents.some(d => d.extensionPack.some(id => areSameExtensions({ id }, local.identifier)))) { continue; } if (local.dependencies.some(dep => areSameExtensions(extension.identifier, { id: dep }))) { dependents.push(local); extensionsToUninstall.push({ extension: local.local }); } </ins> } }

Related discussion:
text: From ! It took me a while to be able to use Copilot again. Here are the steps I took (also captured in the attached video): Reloaded VS Code Clicked "Show Extension" from the toast above, I'm brought to Copilot Chat extension in Extensions view Clicked "Uninstall" for Chat extension, nothing would happen Decided to instead search Copilot in Extensions view (thought maybe I was having issues by trying to uninstall Chat without touching Completions, though I would've expected a toast telling me that) After searching, the Copilot extensions automatically start to update Need to restart just Copilot (not chat), so I click to restart I try to uninstall Copilot Chat again, but nothing happens again Reload VS Code again Search for Copilot again in the Extensions view I can now uninstall Copilot (though I initiated the uninstall from the Copilot extension rather than Chat)
Verification steps are in
Code change:
// Only consider requests for watching that are not // a child of an existing request path to prevent <del> // duplication. </del> <ins> // duplication. In addition, drop any request where // everything is excluded (via `**` glob). </ins> // // However, allow explicit requests to watch folders // that are symbolic links because the Parcel watcher // does not allow to recursively watch symbolic links. for (const request of requests) { <ins> if (request.excludes.includes(GLOBSTAR)) { continue; // path is ignored entirely (via `**` glob exclude) } </ins> if (requestTrie.findSubstr(request.path)) { try { const realpath = realpathSync(request.path);

Related discussion:
text: I'm using to mount a remote Azure Blob storage container into my local file system with FUSE. Once I open up that mount point (say ) in VSCode, network traffic immediately goes up to around 100 kb/s. In the storage provider's API logs I can see many thousand operation requests per second to files located at any hierarchy level inside my storage container, but also files that do not exists (e.g. ). I was assuming this is related to VSCode attempting to watch these files for changes, but can't use inotify on the remote share, so falls back to polling the files with a crazy frequency. However, applying the following settings didn't have any effect: Same issue occurs with or AWS S3 + and I presume also for sshfs, davfs2_ and the like. When killing the sub-process, I can observe a short decline in network usage until the process almost immediately restarts.
In this case I wonder if we should simply not install the file watcher at all if a setting is configured to disable it. I see no other workaround other than maybe addressing this in our external file watcher where we pass on these exclude rules.
Verification: run with and filter dev tools console to to see only file watcher related output configure to have an entry open a folder verify that in the output for the watcher you see no indication that the folder is being watched compare this to how the output looks like when you not have such a setting
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in 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 palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Code change:
import { EDITOR_FONT_DEFAULTS } from 'vs/editor/common/config/editorOptions'; import { DEFAULT_LETTER_SPACING, DEFAULT_LINE_HEIGHT, TerminalCursorStyle, DEFAULT_COMMANDS_TO_SKIP_SHELL, SUGGESTIONS_FONT_WEIGHT, MINIMUM_FONT_WEIGHT, MAXIMUM_FONT_WEIGHT, DEFAULT_LOCAL_ECHO_EXCLUDE } from 'vs/workbench/contrib/terminal/common/terminal'; import { isMacintosh, isWindows, Platform } from 'vs/base/common/platform'; <ins> import { IJSONSchema } from 'vs/base/common/jsonSchema'; const terminalProfileSchema: IJSONSchema = { type: 'object', required: ['path'], properties: { path: { description: localize('terminalProfile.path', 'A single path to a shell executable or an array of paths that will be used as fallbacks when one fails.'), type: ['string', 'array'], items: { type: 'string' } }, args: { description: localize('terminalProfile.args', 'An optional set of arguments to run the shell executable with.'), type: 'array', items: { type: 'string' } } } }; </ins> export const terminalConfiguration: IConfigurationNode = { id: 'terminal',

Related discussion:
text: Testing I'm wondering if there's a way to add a schema so that users can get descriptions on the various fields they can use while creating a new profile. I also realize that the keys represent profile names, so that might make it harder to validate/provide descriptions for them. I guess the description for the keys would go under in that case, though there already is a long description for that field.
this would be nice, looked into it a bit but we're not sure how to set it up for such an object. We essentially want to enforce something like
would you be the right person to ask about schemas for settings?
You can use the property to specify the shape of all properties regardless of the key. An example is the setting: If there are constraints on the key, you can use :
Code change:
if (uri.path[0] === '/') { const root = vscode.workspace.getWorkspaceFolder(this.currentDocument!); if (root) { <del> const fileUri = vscode.Uri.joinPath(root.uri, uri.fsPath); uri = fileUri.with({ scheme: uri.scheme, </del> <ins> const fileUri = vscode.Uri.joinPath(root.uri, uri.fsPath).with({ </ins> fragment: uri.fragment, query: uri.query, }); <ins> // Ensure fileUri is relative by prepending `/` so that it uses the <base> element URI // when resolving the absolute URL uri = vscode.Uri.parse('markdown-link:' + '/' + fileUri.toString(true).replace(/^S+?:/, fileUri.scheme)); </ins> } }

Related discussion:
text: <!-- 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.51.1 OS Version: on both Fedora 32 and Linux Mint 20 Steps to Reproduce: clone issuesvscode1400markdownPreviewRootRelativeImg . doesn't display in ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes This issue had already occurred in past: In the latest insiders vs-code build - it's not fixed as well.
I took a look at this and found that the issue is that the resource vscode-webview-resource uri is invalid, is missing before I was looking how to fix it but I can't find the place where the gets mapped to a can you give me some code pointers?
here is my quick and dirty fix for this issue:
Start by looking in the markdown link normalizer I believe this is passed the raw image links and tries to transform them into url that VS Code can render in the preview
Thanks and after spending some more time looking at this I think I found a proper fix for it
Code change:
} const srcDir = path.join(__dirname, 'src'); <del> const outDir = path.join(outputRoot, 'out'); </del> <ins> const outDir = path.join(outputRoot, 'notebook-out'); </ins> async function build() { await esbuild.build({

Related discussion:
text: Type: <bBug</bipynb notebook bug In dev tools, see: VS Code version: Code - Insiders 1.70.0-insider (Universal) (, 2022-07-26T05:17:37.262Z) OS version: Darwin x64 21.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Looks like the directory is excluded from publish: You likely want to have the notebook code go to a different directory, such as instead of the dir
Just changed that inside esbuild, didn't realize that out wasn't included. I had been having an issue with needing to run while using OSS, could that be related? I'll make a PR to adjust and
Code change:
const items = new Set<ExplorerItem>(this.view.getContext(respectMultiSelection)); items.forEach(item => { <del> if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); </del> <ins> try { if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); } </ins> } <ins> } catch { // We will error out trying to resolve collapsed nodes that have not yet been resolved. // So we catch and ignore them in the multiSelect context return; </ins> } });

Related discussion:
text: <!-- 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.70.0 (Universal) OS Version: Darwin x64 19.6.0 Steps to Reproduce: to delete a file with nested files When you right click and hit "delete", vscode does nothing and the file and its nested files remain. You must open the parent and delete each nested file and then you are able to delete the parent file.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.70.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Also, I think it would be a good idea for an option to rename all nested files when the parent is renamed.
based on the setting description for file nesting, I expected a file I created in a folder to be nested under the that is in that same folder. Is that the wrong expectation here?
That is correct. I'm seeing that here <img width="457" alt="image" src="https://user-"
Code change:
const items = new Set<ExplorerItem>(this.view.getContext(respectMultiSelection)); items.forEach(item => { <del> if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); </del> <ins> try { if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); } </ins> } <ins> } catch { // We will error out trying to resolve collapsed nodes that have not yet been resolved. // So we catch and ignore them in the multiSelect context return; </ins> } });

Related discussion:
text: From : Error: TreeError [FileExplorer] Data tree node not found: ExplorerItem:
Any idea here because there's no explorer stack involved this might be a tree issue
You can try this. Enable fileNesting and select a file with nesting, control+c, the error would appear. The chosen file should be in preview.
third line in the stack frame:
This also happens when you try to open a file with enter or space keys. ! Pressing delete instead of enter will display the same error. (related issue: ) Once the nested files are expanded, this error does not occur until the next window reload, perhaps because the node is to the tree.
Thanks for the repro
Code change:
/** * Stores cell metadata. */ <del> metadata?: Partial<nbformat.ICellMetadata>; </del> <ins> metadata?: Partial<nbformat.ICellMetadata> & { vscode?: { languageId?: string } }; </ins> }

Related discussion:
text: Create an ipynb file (with one Python cell) Save this Verify the entry exists in time line Change the language of the cell to Save this Verify we have an entry Click that item Bug On the left we need On the right there's no such entry in metadata This is incorrect. The ipynb has the above metadata. What seems to be happening is When the language changes, We serialize the ipynb and JSon contains the metadata However the model is not updated with corresponding changes to the ipynb file I.e. model change triggered =ipynb serialize to JSON =Json contains new metadtaa not in model =Missing step is to update the model again If we implement the last step, we could always end up in an infinite loop, Perhaps we should first update the model with metadata when ever we detect chagnes in the model before the save event. E.g. as part of pre-Save (onDidChangeNotebookDocument &/or onWillSaveNotebookDocument) This way, model will always be accurate and upto date when ipynb is serialized.
Easier way to explain the bug Create an ipynb file (with one Python cell) Save this Change the language of the cell to Save this The cell metadata will not contain the new metadata that exists in the ipynb JSON file. (model is not in sync with ipynb json)
Suggested Solution Perform model updates when we're about to save (or when we detect changes to model) When saving, ensure we save the metadata as is, without generating any new content I.e. JSON.stringify the metadata.
/cc
Considering that a serialize operation should not have side effects (ideally), enforcing a "save participant" from ipynb extension makes very good sense to me. We can leverage which support additional async operations, like how we handle attachment clearnup
For such critical metadata change, we might want to handle both auto save and manual save as we want the json and model to be always in sync.
Another simple repro step Create a notebook, and save this Add a new cell The latest entry in timeline will be However there's a difference, one has and the other (current model state) does not have any Again, model does not contain metadta (as this is a new cell) and ipynb JSON contains metadata when serialized.
Code change:
/** * Stores cell metadata. */ <del> metadata?: Partial<nbformat.ICellMetadata>; </del> <ins> metadata?: Partial<nbformat.ICellMetadata> & { vscode?: { languageId?: string } }; </ins> }

Related discussion:
text: <details<summaryInternal Notes</summaryHere's the work flow Add a cell A change event is triggered, undo redo stack is updated Last undo redo is User hits save button Working copy starts to handle the save operation Save participants start We add a save participant and update the model via a work space edit Now a new change event is triggered This results in a whole new undo redo stack The latest (last) undo redo item is Save participants done Working copy keeps track of the last as the entry for Problems Time line does not include , time line shows only I guess this is correct, However from a users perspective, the labels are never going to be meaningful as we'd always say . </details
Code change:
import { ServicesAccessor } from '../../../platform/instantiation/common/instantiation.js'; import { KeybindingWeight } from '../../../platform/keybinding/common/keybindingsRegistry.js'; import { Categories } from '../../../platform/action/common/actionCommonCategories.js'; <ins> import { ICommandService } from '../../../platform/commands/common/commands.js'; import { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js'; </ins> class KeybindingsReferenceAction extends Action2 {

Related discussion:
text: Screen reader and low vision (or other accessibility) users often use our menu items to discover things. We should include a menu item to open the getting started walkthrough under .
and WDYT?
Seems reasonable to me. The title suggests that it could also be a walkthrough, or part of an existing walkthrough. The tradeoff there would be discoverability.
I see an error in the console when opening accessible view from that welcome experience:
Cc
Related: