jiebi/CodeConvo huggingface dataset:
Change:
// no parsed args, try handle active editor const editor = getEditorFromArgsOrActivePane(accessor); if (editor) { <ins> const selectedCellRange: ICellRange[] = editor.getSelections().length === 0 ? [editor.getFocus()] : editor.getSelections(); </ins> telemetryService.publicLog2<WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification>('workbenchActionExecuted', { id: this.desc.id, from: from }); return this.runWithContext(accessor, { ui: false, notebookEditor: editor, <del> selectedCells: cellRangeToViewCells(editor, editor.getSelections()) </del> <ins> selectedCells: cellRangeToViewCells(editor, selectedCellRange) </ins> }); } }

Discussion:
Testing 1) select a cell 2) cmd+/ -cell commented 3) ESC 4) cmd+/ -nothing 5) arrow-up 6) Cmd+/ -nothing 7) Shift + arrow-up 8) Cmd+/ -two cells commented I don't really understand in which mode I'm in after step 3 and 5. I would expect Cmd+/ to work in those states.

Testing 1) set a selection within a given cell 2) ESC -cell gets focus 3) Cmd+/ -selection from step 1 is lost and all content of the cell is selected 4) Arrow-up or down 5) Cmd+/ -now you have two cells with fully selected content I would expect that the selection from step 1 is retained/restored. And, if I don't have a selection after step 3, no selection would be visible.
It looks like step 2 still causes the selection to be lost and step 3 still comments out everything.
pair verified with
Change:
import { AsyncDataTree } from 'vs/base/browser/ui/tree/asyncDataTree'; import { IAsyncDataSource, ITreeNode, ITreeRenderer } from 'vs/base/browser/ui/tree/tree'; import { timeout } from 'vs/base/common/async'; <ins> import { Iterable } from 'vs/base/common/iterator'; </ins> interface Element { id: string;

Discussion:
If you "refresh" an item (with children) by calling and the item is not expanded, the method still gets called. should not be called until the item is expanded, otherwise potentially expensive operations can be run for no visible reason (since the children are hidden).
This could result in unexpected behavior. If an extension currently relies on to always update the children then there would be out-of-date tree items.
How would this result in unexpected behavior? If the tree item has not loaded its children, why should calling refresh on it force its children to load?
I'm concerned that some extension authors have come to depend on the current behavior to keep their internal tree structure updated. I suppose we can try it and see if there are any complaints.
I think a change like this would need to happen in the , as at the custom tree view level we have no knowledge of whether a node is currently expanded or not. Is this something you'd be interested in doing?
Not sure I follow. What describes is exactly how the AsyncDataTree works: children aren't resolved until the user expands the parent the first time.
I am looking for a way to call on the AsyncDataTree such that if the tree item passed in to is collapsed, it will: "invalidate" the children or the tree item and not actually call on that tree item rerender the tree item instead of: calling for the tree item rerendering the tree item
Oh I guess I was wrong, what I said only applies to the next level. But the first node is called with will always have its be called. We can maybe add an option here, or even change the default behavior as I see no reason for collapsed tree nodes to need a call.
any update here? This issue causes GitLens to request way more data than desired in multiple cases (before the user expands them that is).
Thank you!
Thanks for the nudge!
Maybe it's easier if you verify this one.
will verify.
FYI, I tested GitLens with this change (in today's insiders) and it looks good to me!
Change:
export const enum AccessibilityWorkbenchSettingId { DimUnfocusedEnabled = 'accessibility.dimUnfocused.enabled', DimUnfocusedOpacity = 'accessibility.dimUnfocused.opacity', <del> HideAccessibleView = 'accessibility.hideAccessibleView' </del> <ins> HideAccessibleView = 'accessibility.hideAccessibleView', AccessibleViewCloseOnKeyPress = 'accessibility.accessibleView.closeOnKeyPress' </ins> } export const enum ViewDimUnfocusedOpacityProperties {

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. --In previous versions, with the use of and the extension, I could easily select and copy terminal output content in the "Accessible View" via Vi mode. However, in the update, I noticed a change that "The Accessible View now closes when a user starts typing and focuses the prior element for a smoother work flow.". This change prevents me from using Vi mode to select content in the "Accessible View." Could you please consider providing an option that allows users to choose whether or not this feature is enabled? Alternatively, are there any other solutions to this issue?
Related to
can you take a look at this one? Thanks!
To verify, disable and make sure the view does not close on key press.
Fixed now! Thanks for the quick resolution!
Change:
"foreground": "#3b3b3b", "icon.foreground": "#3b3b3b", "input.background": "#ffffff", <del> "input.border": "#0000001a", </del> <ins> "input.border": "#CECECE", </ins> "input.foreground": "#3b3b3b", "input.placeholderForeground": "#00000079", "inputOption.activeBackground": "#005fb841",

Discussion:
Ref Unchecked and unfocused checkboxes in the Settings editor currently do not have much contrast between the checkbox background colour and the checkbox border colour for both Light+ v2 and Dark+ v2 themes. !
Change:
.extension-editor { height: 100%; overflow: hidden; <ins> display: flex; flex-direction: column; </ins> } .extension-editor .clickable {

Discussion:
Notice the status bar in the bottom of the workbench: !
let me know if investigation suggests you are getting the wrong dimensions somehow
Any reliable repo steps?
This is weird, but surely reproducible. I can reproduce on my Windows 10 VM (running in QEMU/KVM, Linux host), screen resolution set to 1440x1050: Code. Make sure window is full screen. If it isn't, make it fullscreen, close it and launch Code again. to extension viewlet, search for Azure Repos extension and open it. for it to load and close it. it again. !
Not only status bar... <img width="1268" alt="2019-11-2211 45 08" src="https://user-"
My console also disappeared. This only happens when opening extensions with suggestions. <img width="987" alt="normal" src="https://user-"on extension that contains suggestions (Star mark in upper right corner). <img width="987" alt="contains-suggestions" src="https://user-"buttons are overwritten if there is too much suggestions text. <img width="810" alt="console-disappeared" src="https://user-"guess the problem is from div . I open the developer tools. add , can make console buttons reappear. <img width="1445" alt="try-to-fix" src="https://user-"
Reproduced using Visual Studio Code for MacOS System Info:
To repo, just open a recommended extension. This causes the page layout to be off since the recommendation makes the header taller
Change:
import { ThrottledDelayer } from 'vs/base/common/async'; import { compareAnything } from 'vs/base/common/comparers'; import { memoize } from 'vs/base/common/decorators'; <ins> import { isCancellationError } from 'vs/base/common/errors'; </ins> import { Emitter, Event } from 'vs/base/common/event'; import { IMatch } from 'vs/base/common/filters'; import { IMarkdownString } from 'vs/base/common/htmlContent';

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.76.0 Steps to Reproduce: the browser devtools the command palette the items is a lot of errors in the console: !
I'm not seeing this anymore... Can you confirm
Actually I can repro this only in and not odd
Change:
(container: HTMLElement): IDisposable | null; } <del> export interface IBaseDropdownOptions { </del> <ins> interface IBaseDropdownOptions { </ins> label?: string; labelRenderer?: ILabelRenderer; } <del> export class BaseDropdown extends ActionRunner { </del> <ins> class BaseDropdown extends ActionRunner { </ins> private _element: HTMLElement; private boxContainer?: HTMLElement; private _label?: HTMLElement;

Discussion:
These are a few more unused exports which git blame says have been around since Hello Code, based on I removed a few false positives which are indirectly referenced through the public api exported from these files and which therefore should probably remain public for consumers
Change:
{ id: action.id, title: _instantiationService.invokeFunction(getSingleTabLabel, _terminalGroupService.activeInstance, _terminalService.configHelper.config.tabs.separator), <del> tooltip: getSingleTabTooltip(_terminalGroupService.activeInstance, _terminalService.configHelper.config.tabs.separator, configurationService) </del> <ins> tooltip: getSingleTabTooltip(_terminalGroupService.activeInstance, _terminalService.configHelper.config.tabs.separator) </ins> }, { id: TerminalCommandId.Split,

Discussion:
Testing It turns out "Run Recent Command" works both with shell integration disabled and enabled, but I wasn't seeing the shell integration prompt on Windows. I'm using pwsh 7. When I disable shell integration, I see the header that tells me I'm using version 7. When I enable shell integration, I see just the prompt. My profile references the following script:
what do you mean that your profile references that script? could you provide the profile you're using?
also what's the value of your ?
PS1: Init script: Screenshot: ! Edit: I just realized the word prompt isn't what I meant. Changed the issue title.
oh you should see it only on hover of the icon in the tab list.
we changed this so no longer show in the buffer
It doesn't seem to be in the tab list icon hover: !
I think this is working as designed since we hid the message? This is also by design, it's just populating that list that only happens when shell integration is enabled.
Oh it should be on the tab hover though.
not seeing it on mac either
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Change:
if (this._store.isDisposed) { return; } <del> this._currentTitle = ptyProcess.process; </del> <ins> // HACK: The node-pty API can return undefined somehow https://github.com/microsoft/vscode/issues/222323 this._currentTitle = (ptyProcess.process ?? ''); </ins> this._onDidChangeProperty.fire({ type: ProcessPropertyType.Title, value: this._currentTitle }); // If fig is installed it may change the title of the process const sanitizedTitle = this.currentTitle.replace(/ (figterm)$/g, '');

Discussion:
Connect to my mac with Remote-SSH See these errors from the server in the log (Remote-SSH output channel) doesn't seem to cause a problem but it's noisy and looks like an issue
could you point me at which line this is? Our stack beautifier doesn't work on server code afaik
I don't know which line it is, I only have that stack
It's this line: Somehow node-pty can return undefined for Doesn't seem like it should be possible considering or are the fallbacks for :
I'm seeing this on my own machine so could do some debugging if you want to add logs or something
Change:
let p = 'scheme:/**/*.md'; assertGlobMatch(p, URI.file('super/duper/long/some/file.md').with({ scheme: 'scheme' }).toString()); }); <ins> test('expression fails when siblings use promises (https://github.com/microsoft/vscode/issues/146294)', async function () { let siblings = ['test.html', 'test.txt', 'test.ts']; let hasSibling = (name: string) => Promise.resolve(siblings.indexOf(name) !== -1); // { "**/*.js": { "when": "$(basename).ts" } } let expression: glob.IExpression = { '**/test.js': { when: '$(basename).js' }, '**/*.js': { when: '$(basename).ts' } }; const parsedExpression = glob.parse(expression); assert.strictEqual('**/*.js', await parsedExpression('test.js', undefined, hasSibling)); }); </ins> });

Discussion:
While reviewing some code in I noticed potential issues: and Will wrongly stop the loop when the result is a even when that result resolves to . Would be good to have a test case for this too.
I think you the support for for the expression matching via , do we really still need this? I feel this makes glob matching overly complicated. Checking on usages, I think search component uses it to lazily resolve children...
PR:
Are you suggesting to resolve children before doing the glob matcher? It would be a lot faster to avoid matching children until you need them. I don't like the flexible typing of this though. It should be explicitly sync or not.
Change:
["(", ")"], [""", """], ["'", "'"] <del> ] } </del>  No newline at end of file <ins> ], "indentationRules": { "increaseIndentPattern": "^s*.*(:|-) ?(&amp;w+)?({[^}"']*|([^)"']*)?$", "decreaseIndentPattern": "^s+}$" } } </ins>

Discussion:
Type: <bBug</bCreate and write then press enter. No tab or spaces inserted. Here is . <details<summarySettings</summary</detailsVS Code version: Code 1.85.1 (Universal) (, 2023-12-13T09:48:06.308Z) OS version: Darwin arm64 23.2.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (8)</summaryExtensionVersion ------ codespaces1.16.5 vscode-docker1.28.0 python2023.22.1 vscode-pylance2023.12.1 remote-ssh0.107.1 remote-ssh-edit0.86.0 remote-explorer0.4.1 hardhat-solidity0.7.3 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
import * as vscode from 'vscode'; import * as path from 'path'; import TelemetryReporter from 'vscode-extension-telemetry'; <ins> import DocumentLinkProvider from './documentLinkProvider'; </ins> interface IPackageInfo { name: string;

Discussion:
It is possible to follow local links for the markdown? For example, I have two splits for a markdown file: one for editing, and the other one for previewing. If I have a local link . When clicking this link in the preview split, is it possible for both the two splits automatically switch to Further, is it possible to sync two scroll bars for the preview split and the edit split?
That would be nice for docs written in Markdown.
VSCODE 1.7.1 on Windown 8.1 Currently the links are working in the preview Pane, but can not be followed from editor with like it is possible for normal links !
I just checked in a fix to support identifying links in the markdown editor . will tackle clicking local links in the preview itself. Please give it a try in the next insiders build
Tried the insiders build, works as expected. Great work, thanks Update: Spaces in the file names are not recognized
Change:
OpenFileLink = 'workbench.action.terminal.openFileLink', OpenWebLink = 'workbench.action.terminal.openUrlLink', RunRecentCommand = 'workbench.action.terminal.runRecentCommand', <ins> CopyLastCommand = 'workbench.action.terminal.copyLastCommand', </ins> GoToRecentDirectory = 'workbench.action.terminal.goToRecentDirectory', CopySelection = 'workbench.action.terminal.copySelection', CopySelectionAsHtml = 'workbench.action.terminal.copySelectionAsHtml',

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 awesome shell integration makes it really easy to rerun commands and copy the output from those commands. However, it seems one can only copy the output if the line the command was executed from is still within the scroll limit of the terminal. For some very long runs this is inconvenient. It would be really nice to be able to: output of last command from a terminal output of any command in the history of that terminal, if it is available to be copied Both without having to scroll to the point the command was executed.
Once there is too much data we no longer have access to it. Sounds like you probably want to increase the size of your scrollback. This is what I use: All the memory for the buffer gets reserved ahead of time for performance reasons so this will increase RAM usage by a fixed amount per terminal you have open. I like the idea of having a command for copying the output of the last command that you could hook up to a keybinding
You can also get the output from a command via and then click the output/document icon <img width="644" alt="Screen Shot 2022-06-14 at 12 31 30 PM" src="https://user-"These are only stored for the session, but might help you. I don't believe we get rid of commands that are outside of the scrollback, do we?
I don't think so but we do lose access to their output
I wonder if the command name should change makes you think the command would be copied but instead this is to copy the output
Change:
// Run save participants unless save was cancelled meanwhile if (!saveCancellation.token.isCancellationRequested) { <del> await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT }, saveCancellation.token); </del> <ins> this.ignoreSaveFromSaveParticipants = true; try { await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT }, saveCancellation.token); } finally { this.ignoreSaveFromSaveParticipants = false; } </ins> } } catch (error) { this.logService.error(`[text file model] runSaveParticipants(${versionId}) - resulted in an error: ${error.toString()}`, this.resource.toString());

Discussion:
This is a follow-up from and describes the problem that save participants causing a save operation
reproduced when undoing some fixes (applying the fix below)
fyi
Change:
return Promise.resolve<Task[]>([]); } <del> return this._getGroupedTasks(filter, true).then((map) => this.applyFilterToTaskMap(filter, map)); </del> <ins> return this._getGroupedTasks(filter, true, true).then((map) => this.applyFilterToTaskMap(filter, map)); </ins> } public taskTypes(): string[] {

Discussion:
a repo in :bug: see this !
This is expected if the repo that you open has tasks that run on . Could you pls provide me with a repo for which this happens that doesn't have those?
seeing this dialog when I just open a folder, so wondering if something with workspace trust has changed recently. No changes with tasks recently could explain this. !
Doesn't repro in , repros in : Bad: Good:
found these task PRs in that time frame: ,
found it also happens in an empty window on desktop
Still seeing this in (and also RemoteHub on desktop) with the changes in !
This is coming from -here. perhaps we don't want to do that for the or only do that in trusted workspaces? !
Change:
connection.console.error(`Unhandled exception ${e}`); }); <del> startServer(connection); </del> <ins> startVsCodeServer(connection); </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 was testing the server on neovim. I noticed the requires a lot from the client. Would it be possible to bundle default implementations of and all other custom requests to make the server self-contained?
I'd take a PR that does this (likely using service injection) but the current design is deliberate lets the client bring their own parser versionThe custom file messages means the server is not restricted to working with local files. Ideally the LSP would also include this functionality but right now it does not
I can make a PR. Wouldn't it be simpler to add a setting for a custom tokenizer? Then call with or make a request?
makes this easier to use the server as a library. For a client that doesn't want to implement the custom messages we use, you'd instead want to use the new version of which lets you pass in your own parser and workspace implementations
Change:
import { parentOriginHash } from 'vs/workbench/browser/webview'; export interface IWebWorkerExtensionHostInitData { <ins> readonly autoStart: boolean; </ins> readonly allExtensions: IExtensionDescription[]; readonly myExtensions: ExtensionIdentifier[]; }

Discussion:
When running a web worker extension on vscode desktop, the error appears. To reproduce, you can use the following extension: : :
Change:
}); } <del> async run(accessor: ServicesAccessor, context?: { id: string, extension: string; }): Promise<boolean> { </del> <ins> async run(accessor: ServicesAccessor, context?: { id: string, extension: string, ui?: boolean, notebookEditor?: NotebookEditorWidget }): Promise<boolean> { </ins> const notebookKernelService = accessor.get(INotebookKernelService); const editorService = accessor.get(IEditorService); const quickInputService = accessor.get(IQuickInputService); const labelService = accessor.get(ILabelService); const logService = accessor.get(ILogService); <del> const editor = getNotebookEditorFromEditorPane(editorService.activeEditorPane); </del> <ins> const editor = context?.notebookEditor ?? getNotebookEditorFromEditorPane(editorService.activeEditorPane); </ins> if (!editor || !editor.hasModel()) { return false; }

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.58.0-insider OS Version: Windows 10 Steps to Reproduce: a text editor open in editor group 1 a notebook into editor group 2 focus to text editor on kernel selector kernel picker quickpick does not appear focus to notebook editor kernel selector now puts up the kernel picker quickpick This is because clicking on command buttons in the notebook editor does not set focus to the active editor, but the command assumes that focus is on the notebook editor when handling the command. This also affects the interactive window because the interactive toolbar inherits the same action. I suspect this is the reason why the kernel picker sporadically appears 'stuck': ! /cc
Quick update--this is actually because returns undefined when focus is not on the notebook editor. But the run context contains the . We should be using that to resolve the target editor.
Change:
if (state.conflicting) { result.push( <del> command(localize('resetToBase', "$(error) Reset to base"), async () => { </del> <ins> command(localize('resetToBase', "Reset to base"), async () => { </ins> transaction((tx) => { model.setState( modifiedBaseRange,

Discussion:
Testing I think the merge editor CodeLens actions are the only examples I've seen of icons being used—not sure they are obvious/big enough to really be of much value here. Is there any prior art for using them? <img width="269" alt="CleanShot 2022-09-27 at 11 42 19 src="https://user-"<img width="244" alt="CleanShot 2022-09-27 at 11 43 33 src="https://user-"
I can remove them. Personally I like them, as they give a non-textual clue about what is going to happen.
Why don't we start with the minimal text and then we can always choose to add them (or something else) back. Harder to remove things once they are in.