jiebi/CodeConvo huggingface dataset:
Change:
*/ copySelection(asHtml?: boolean, command?: ITerminalCommand): Promise<void>; <ins> /** * Copies the ouput of the last command */ copyLastCommandOutput(): Promise<void>; </ins> /** * Current selection in the terminal. */

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:
import { ChatEditorInput } from 'vs/workbench/contrib/chat/browser/chatEditorInput'; import { ChatViewPane } from 'vs/workbench/contrib/chat/browser/chatViewPane'; import { CONTEXT_IN_CHAT_SESSION, CONTEXT_PROVIDER_EXISTS } from 'vs/workbench/contrib/chat/common/chatContextKeys'; <ins> import { alert } from 'vs/base/browser/ui/aria/aria'; import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; </ins> export const ACTION_ID_CLEAR_CHAT = `workbench.action.chat.clear`;

Discussion:
Reported by Use or as a SR user. there's no indication that that has succeeded. We could alert with info or use an audio cue
I don't see the chat clear history action in core, so we'd need to do this in the extension. There's a clear input history, though I don't think we want to alert for that case.
Actually, found it
Change:
import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; <del> import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; </del> <ins> import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes'; </ins> import { INotificationViewItem, isNotificationViewItem, NotificationsModel } from 'vs/workbench/common/notifications'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { localize } from 'vs/nls';

Discussion:
Type: <bFeature Request</bBased on my observation in the Program-L listserv and other blind VSCode users, screen reader users prefer to have a quick way to go to the notification area. I recommend adding the following keybinding by default for convenience. It does not matter whether or not VSCode team uses this suggested keybinding, but it would be greatly appreciated if you could consider the default keybinding for and announce the new binding in the release note to be discoverable. VS Code version: Code - Insiders 1.82.0-insider (, 2023-08-30T05:33:47.972Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
A lot of keybindings are taken already, I could only find they key chord:
<!-- 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!
Change:
return (folderpath ? normalizeDriveLetter(folderpath) : '/'); } } <ins> export class RandomBasedVariableResolver implements VariableResolver { resolve(variable: Variable): string | undefined { const { name } = variable; if (name === 'RANDOM') { return Math.random().toString().slice(-6); } else if (name === 'RANDOM_HEX') { return Math.random().toString(16).slice(-6); } return undefined; } } </ins>

Discussion:
[use case] generate a simple random string as a quick debug flag [feature request] add a $RANDOM varible to snippet or support JS expression as ES6 did e.g. ${().toString(36).slice(-6)}`
, I can take this up but need some starter and code pointers for this :) I just need some more understanding as we can do something like this (,$1);
Is this still open? Can I take this?
Go for it. Code pointer:
Duplicate of Alka
Change:
this._register(this._themeService.onDidColorThemeChange(theme => this._updateTheme(theme))); this._updateTheme(); <del> this._findWidget.focusTracker.onDidFocus(() => this._terminalContainer.classList.add(FIND_FOCUS_CLASS)); this._findWidget.focusTracker.onDidBlur(() => this._terminalContainer.classList.remove(FIND_FOCUS_CLASS)); </del> <ins> this._findWidget.focusTracker.onDidFocus(() => this._terminalContainer.classList.add(CssClass.FindFocus)); this._findWidget.focusTracker.onDidBlur(() => this._terminalContainer.classList.remove(CssClass.FindFocus)); </ins> this._attachEventListeners(parentElement, this._terminalContainer); this._terminalGroupService.onDidChangePanelOrientation((orientation) => { this._panelOrientation = orientation; <ins> if (this._panelOrientation === Orientation.VERTICAL) { this._terminalContainer.classList.add(CssClass.ViewIsVertical); } else { this._terminalContainer.classList.remove(CssClass.ViewIsVertical); } </ins> }); this._splitView = new SplitView(parentElement, { orientation: Orientation.HORIZONTAL, proportionalLayout: false });

Discussion:
Testing !
We'll need to repro on mac and look at the sequences to verify whether this is an issue or we're going the right thing.
I think this is working as designed since it's just padding on the top, however we could check the location of the terminal view and if it's on either side, top align the terminal instead of bottom aligning it.
Change:
return translateKernelLanguageToMonaco(jupyterLanguage || defaultLanguage); } <ins> const textDecoder = new TextDecoder(); </ins> function translateKernelLanguageToMonaco(language: string): string { language = language.toLowerCase(); if (language.length === 2 && language.endsWith('#')) {

Discussion:
Issue Type: <bBug</bI was working on a notebook with lots of print output for debugging. 10min in, I could not save and got a notification of "Maximum call stack size exceeded". ! The kernel script was still running and printing hefty objects in a loop. I remember once crashing VS Code with long notebook output, so maybe this is related. Console log: Extension version: 2021.8. VS Code version: Code - Insiders 1.59.0-insider (, 2021-07-22T05:13:00.851Z) OS version: Darwin x64 20.5.0 Restricted Mode: No Remote OS version: Linux x64 5.10.25-linuxkit Fetching remote diagnostics for 'dev-container+7b22686f737450617468223a222f55736572732f64696769746172616c642f7265706f732f6465766469762d6d6574726963732d616e642d616e616c79736573222c2273657474696e6773223a7b22636f6e74657874223a226465736b746f702d6c696e7578227d7d' timed out. <details<summarySystem Info</summary Fetching remote diagnostics for 'dev-container+7b22686f737450617468223a222f55736572732f64696769746172616c642f7265706f732f6465766469762d6d6574726963732d616e642d616e616c79736573222c2273657474696e6773223a7b22636f6e74657874223a226465736b746f702d6c696e7578227d7d' timed out. </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Saving while logging long print statements worked fine now.
Change:
return; } else if (isSCMActionButton(e.element)) { this.scmViewService.focus(e.element.repository); <ins> this.actionButtonRenderer.focusActionButton(e.element); </ins> return; }

Discussion:
This should not be a valid state: ! It should automatically switch to this: ! is how the SCM Input does it.
I am seeing this state when I am navigating using up/down buttons. Is it expected? ! !
That is probably unexpected, but I will let confirm that.
Yeah, just like the text box. The list doesn't support completely disabling it at the model layer. We can only disable it at the click operation.
Change:
export const enum TestExplorerViewSorting { ByLocation = 'location', ByStatus = 'status', <ins> ByDuration = 'duration', </ins> } export const enum TestExplorerStateFilter {

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. --It would be ideal if the Testing user interface would allow to sort/filter based on duration. Use case: I have a large number of tests in my project and they're slow, I want to sort by duration to identify long running tests. !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.595 --- <!-- score: 0.493 --<!-- potentialduplicatescomment --
I want to work on this shall I give it a try ?
Can I get a little help here ? I think I am not able to find the UI in the app. Is this screen capture same as above ? (Left panel) ! I made two tests locally, but I am not seeing the time it took to run the tests ?
You'll need to use to make the Test Explorer use the native experience.
Hey admin, i have just started my open source contribution journey. Can you assign this task to me? so that i can start working on it.
Feel free to submit a PR
Hey Conor, can I work on this issue
, I found that following changes will be needed adding a class to adding to export const enum TestExplorerViewSorting { ByLocation = 'location', ByStatus = 'status', } inside the file
The TestExplorerView is where it happens. You can do a "find all references" on and that'll give you a good indication of places to update
There is such a line for sort ByLocation , but not there for ByStatus , why is it so
What changes should be made to this file , please help me out
Have a pull request for this:
Change:
return workspaceStorageURI; } <ins> if (this._environment.skipWorkspaceStorageLock) { this._logService.info(`Skipping acquiring lock for ${workspaceStorageURI.fsPath}.`); return workspaceStorageURI; } </ins> const workspaceStorageBase = workspaceStorageURI.fsPath; let attempt = 0; do {

Discussion:
In some cases, when the extension host is unresponsive, a window reload can lead to the new extension host process not being able to acquire the lock for workspace storage, since it is still held on by the old (unresponsive) extension host process (). There are even greater concerns that the current way to resolve lock contention (i.e. generating a fresh workspace storage folder e.g. ) is problematic if extensions store very important data in these folders. e.g. suppose a lock cannot be acquired, the workspace storage folder is changed to , the extension writes very important data to , VS Code is closed and reopened the next day, when the extension will end up using as the workspace storage folder, missing out on the data written in (). As a low-risk band-aid, we can limit the acquiring of locks to only the remote extension host, where we have initially observed problems with multiple extension hosts sharing a single workspace storage folder, bringing the local extension host behavior back to what it was in 1.57.x and in the past.
To verify: open a remote window. look at the local extension host log and check that it says look at the remote extension host log and check that it says
The remote extension host log does not say , but instead . I guess that counts too. The local extension host reads .
Change:
import { IWorkingCopyIdentifier } from 'vs/workbench/services/workingCopy/common/workingCopy'; import { NotebookProviderInfo } from 'vs/workbench/contrib/notebook/common/notebookProvider'; import { NotebookPerfMarks } from 'vs/workbench/contrib/notebook/common/notebookPerformance'; <del> import { AutoSaveMode, IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; </del> <ins> import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService'; </ins> import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { localize } from 'vs/nls'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';

Discussion:
Filing this issue here to keep in mind and planned for the current iteration.
good call - custom editors do not get saved if they are closed <1s after an edit, so I'll just revert that change. Notebooks do get saved tho, and we have reduced to only a simple provider now, so it's probably taken care of through the working copy service. I can keep looking to make sure we're not trying to dispose of it early tho
For notebooks, it looks like an extra reference is held to the working copy while it is dirty, so it isn't disposed until after it is saved and becomes non-dirty. So, this looks safe for notebooks from what I can see, but let me know if there's still something else I should be looking at.
yes, that piece is critical and should be sufficient from a working copy perspective. Working copies are meant to be somewhat independent from the editors they are edited in. For example, you can change working copies and save them all without any opened editor. We do this for example in text files to support workspace edits over many files, such as search/replace. For notebook working copies, the key question is whether there is anything setup/disposed during the lifecycle of a notebook editor that is required for the save to function? In other words, is there any kind of disposal happening when a notebook editor closes that is required to implement the methods that the working copy needs for saving? Essentially, does method work (cc
oh, I forgot one other case: it is possible for the save operation to fail. In that case, we force reopen the file (at least as far as I can remember). So the additional test to make is whether this works: auto save is on notebook is changed and quickly closed save fails (something we probably can best test running out of sources, for example throwing in  for certain paths) does the notebook reopen? how does the user deal with the error now? Implementation for text files is here: Edit: just tested this and it seems the notebook is not immediately reopened, though you get an error notification.
I played around with this myself and I'm planning to revert because: after the save fails, the file no longer shows dirty at all - there is no error state for the notebook editor, so it always claims that it is just about to save. That makes it hard to understand that there are unsaved changes.
Change:
} else if (!statDirname.isDirectory) { this.filePickBox.validationMessage = nls.localize('remoteFileDialog.validateNonexistentDir', 'Please enter a path that exists.'); return Promise.resolve(false); <del> } else if (statDirname.readonly || statDirname.locked) { </del> <ins> } else if (statDirname.readonly) { </ins> this.filePickBox.validationMessage = nls.localize('remoteFileDialog.validateReadonlyFolder', 'This folder cannot be used as a save destination. Please choose another folder'); return Promise.resolve(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 <!-- 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.90.0-insider Commit: OS Version: Windows 11 Pro Insider Preview Version: 24H2 OS build: .5000 Steps to Reproduce: a new folder (ex.: ) click on it in Explorer, and select "Properties" the "Customize" tab the "Change icon..." button in the "Folder icons" group at the bottom, and select an icon. (this creates a file within the folder, setting the custom icon): ! Notice the folder now has the read-only attribute checkbox in an "indefinite" state: ! Also the command reports the directory as read-only (shows the flag): ! (AFAIK for the icon from the to show up in explorer) set to in VSCode a file in VSCode via or to save it into the folder via or a file name (with the path in said folder) and press "OK". however, saving this way is &raquo; not working as expected &laquo;, as The SimpleDialog in VSCode reports: ! Notes: Creating a new file - when having the folder in the workspace - by left clicking under the folder in the project explorer and selecting : works as expected Saving into the same folder with set to (ie.: the native save dialog): works as expected Opening, editing and then saving already existing files in the folder: works as expected
Change:
options.minimap = { enabled: false }; const outputConfig = this.baseConfigurationService.getValue('[Log]'); <del> if (outputConfig && outputConfig['editor.minimap.enabled']) { options.minimap = { enabled: true }; </del> <ins> if (outputConfig) { if (outputConfig['editor.minimap.enabled']) { options.minimap = { enabled: true }; } if ('editor.wordWrap' in outputConfig) { options.wordWrap = outputConfig['editor.wordWrap']; } </ins> } return options;

Discussion:
<!-- Do you have a question? Please ask it on --- VSCode Version: 1.9.1 OS Version: Win 7/64 Home Premium SP 1 Please introduce a setting (ideally changeable via API) to allow an output window (panel) to NOT word-wrap. Reason: I've modified the TODO Parser extension () to write its output in tabular form, which is more concise length-wise. However, the unavoidable word wrapping in the output window usually messes up the formatting. In such cases, it would be preferable for an extension to be able to open an output window that DIDN'T word wrap, and allowed the user to scroll horizontally if required. This suggestion was mentioned as an aside at
This should be possible using language specific settings "[Log]": { "editor.minimap.enabled": false }
I think this issue was closed in error. It is not about the minimap, and changing minimap settings does not affect the output window's wrapping. This doesn't make any difference either: "[Log]":{"editor.wordWrap": "off"} Here's an image of the output window as it currently behaves with a single long line of text. I'd like the option to have this displayed as one line with scrollbar. !
Thanks for reopening. :)
Change:
"optionalDependencies": { "windows-foreground-love": "0.1.0", "windows-mutex": "^0.2.0", <del> "windows-process-tree": "0.2.0" </del> <ins> "windows-process-tree": "0.2.1" </ins> } }

Discussion:
After updating the module to support getting memory, cpu, and command line for each process on windows (), the module can be used in more places within VSCode [x] Update existing version of the module that's being used in the terminal [x] Use the module in place of the PowerShell script in
Change:
this.isBogous = true; } <del> if (marker.name === 'CLIPBOARD') { this.needsClipboard = true; </del> <ins> switch (marker.name) { case 'CLIPBOARD': this.needsClipboard = true; break; case 'SELECTION': case 'TM_SELECTED_TEXT': this.usesSelection = true; break; </ins> } } else {

Discussion:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.
Change:
const heads = refs.filter(ref => ref.type === RefType.Head) .filter(ref => ref.name || ref.commit) <del> .map(ref => new MergeItem(ref as Branch)); </del> <ins> .map(ref => new MergeItem(repository, ref as Branch)); </ins> const remoteHeads = (includeRemotes ? refs.filter(ref => ref.type === RefType.RemoteHead) : []) .filter(ref => ref.name || ref.commit) <del> .map(ref => new MergeItem(ref as Branch)); </del> <ins> .map(ref => new MergeItem(repository, ref as Branch)); </ins> return [...heads, ...remoteHeads]; };

Discussion:
Type: <bBug</b! VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-29T02:35:06.500Z) OS version: Windows_NT x64 10.0. Modes:
I will prepare a PR. Ideas for what to put in description: Commit ID (short format) ! Nothing, which is what Rebase does for most of its entries (exception being the upstream entry): ! Last commit timestamp: !
Change:
* Find the html elements that are at a specific pixel offset on the page. */ export function getLineElementsAtPageOffset(offset: number, documentVersion: number): { previous: CodeLineElement; next?: CodeLineElement } { <del> const lines = getCodeLineElements(documentVersion); </del> <ins> const lines = getCodeLineElements(documentVersion).filter(x => x.isVisible); </ins> const position = offset - window.scrollY; let lo = -1; let hi = lines.length - 1;

Discussion:
Thanks for the quick turnaround on preserving the open attribute! I'm still a little curious about the scrolling sync: I don't see anything in that looks like it would address the issue I'm seeing "scrolling past" a collapsed block where the code cursor makes the preview act as if it's much further down, seemingly by about as much as the length of the expanded . I can now leave my expanded to re-enable sync'd scrolling, but I was wondering if the intent was to not change the behavior when they're closed? Or, would it be helpful if I broke that part out into a new issue? Originally posted by in
Thanks. I've extracted this to it's own issue and will push a fix shortly
<!-- 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!