jiebi/CodeConvo huggingface dataset:
Change:
return; } this.input1View.editor.revealLineInCenter(firstConflict.input1Range.startLineNumber); <ins> transaction(tx => { /** @description setActiveModifiedBaseRange */ viewModel.setActiveModifiedBaseRange(firstConflict, tx); }); </ins> })); }

Discussion:
Testing It would seem to make sense to start at the first unhandled conflict (currently starts at the top of the file).
This would also help a first-time user understand what they are looking at. Without a conflict being highlighted, it is easy to get confused over all the filled and unfilled rectangles: <img width="2060" alt="image" src="https://user-"With the first conflict selected this is less the case because the 3 unfilled rectangles stand out: <img width="2061" alt="image" src="https://user-"
But the first conflict is revealed automatically, right?
Change:
*/ export function getShellIntegrationInjection( shellLaunchConfig: IShellLaunchConfig, <del> options: ITerminalProcessOptions['shellIntegration'], </del> <ins> options: Pick<ITerminalProcessOptions, 'shellIntegration' | 'windowsEnableConpty'>, </ins> env: ITerminalEnvironment | undefined, logService: ILogService, productService: IProductService

Discussion:
Type: <bBug</b. After my PC hung and rebooted the VSCode suddenly starts output weird text in integrated terminal and beep each time when command is started/ended. The output looks like: I tried all suggested anwsers on SO, restarting VSCode after each attempt, but nothing worked: I tried to reinstall PowerShell 7 is . I tries to set it to I tried to install PowerShell extension and run both PowerShell: Disable ISE Mode (restore to defaults) and PowerShell: Enable ISE Mode When I run , none of that weird text appeared. I have nothing of those files: VS Code version: Code 1.70.3 (, 2022-08-31T08:03:55.990Z) OS version: WindowsNT x64 6.1.7601 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ rainbow-brackets0.0.6 better-comments3.0.2 numbered-bookmarks8.3.1 asciidoctor-vscode2.9.8 better-toml0.3.2 xml2.5.1 todo-tree0.0.215 reg1.1.0 rainbow-csv2.4.0 vscode-language-pack-ru1.70. python2022.14.0 vscode-pylance2022.9.10 jupyter2022.7.

jupyter-keymap1.0.0 jupyter-renderers1.0.9 cpptools1.12.4 hexeditor1.9.8 autodocstring0.6.1 peggy-language2.3.0 java1.10.0 vscode-commons0.0.6 vscode-yaml1.10.1 rust0.7.8 scala0.5.6 crates0.5.10 pegjs-language1.0.4 vscode-fileutils3.5.0 code-spell-checker2.7.2 code-spell-checker-russian2.0.6 vscodeintellicode1.2.25 hg2.0.5 vscode-java-debug0.44.0 vscode-java-dependency0.21.0 vscode-java-pack0.25.1 vscode-java-test0.37.1 vscode-maven0.38.0 vscode-todo-highlight1.0.5 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.71.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I cannot install 1.71.0 because I'm on Windows 7 and support of Windows 7 was dropped in 1.71.0
setting to false should fix this for you
Thank you!!! That works!
Looks like this is Windows 7, so I don't think shell integration works using winpty. Reopening as we should disallow shell integration injection when conpty is not being used.
What is the best way to verify this?
This is probably best to do via an extra code review. If you have access to a Windows 7 machine, you can enable the shell integration setting, open pwsh and make sure the sequences don't show up.
But how to do that on Windows 7 considering that VSCode is no longer updated on Windows 7?
good point, Windows 8 or a old version of Windows 10 would also work. Any version before we support conpty (= build )
ممكن حل
Change:
constructor( @IEditSessionsStorageService private readonly editSessionsStorageService: IEditSessionsStorageService, <del> @IContextKeyService private readonly contextKeyService: IContextKeyService </del> <ins> @IContextKeyService private readonly contextKeyService: IContextKeyService, @IWorkspaceContextService private readonly workspaceContextService: IWorkspaceContextService, @IFileService private readonly fileService: IFileService, </ins> ) { this.editSessionsCount = EDIT_SESSIONS_COUNT_CONTEXT_KEY.bindTo(this.contextKeyService); }

Discussion:
! In the edit sessions when I click on the file it should show the compare view in between changes with the current head change Right now I have explicitly have to hit the refresh button to show all edit sessions and also the syntax highlighting is missing. It is just showing the white text. I think it would be much better if you provide git stash similar functionality for edit sessions ! Thank you! Appreciate your work
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our . Happy Coding!
Verification steps: vscode repo some changes to a file command from command palette changes the node corresponding to the changes you just stored on the tree item for the file you changed in step 2 should open a diff for the file
Change:
}); template.context = dataElement; <ins> template.elementDisposables.add(toDisposable(() => { template.objectDropdownWidget!.cancelEdit(); })); </ins> template.onChange = (v: Record<string, unknown> | undefined) => { onChange(v); renderArrayValidations(dataElement, template, v, false);

Discussion:
On Linux: the settings editor type out "cellToolbarLocation" way through, when the setting comes up, focus is stolen by the "item" in the table !
Yikes. I wonder if you could look at this
I'm unable to repro this on both Windows and Mac. It takes me a double-click to manually change the first row of that setting into edit mode, after it shows up. Do we have any OS-specific code for the settings editor If not, I wonder if this might be an Electron issue.
I did not repro on Windows either, only in Linux
I can on mac, if I have multiple rows on the setting. Or maybe I had to interact with the setting in that editor previously. I can't remember whether there is some code on the list setting widget that tries to restore focus after a change. I just called you out because I thought you might have seen that recently
Ok, reproduced the issue on Mac but not Windows with your hint there: -click the first item in the cell toolbar location setting to get it into edit mode. of pressing the OK or Cancel button, close the setting editor. the setting editor again, and slowly type . :bug: The setting shows up with the first item in edit mode, and that seems to steal focus away.
In , there are some areas where gets called. I think a solution to this approach would be to call whenever the user focuses back onto the main search bar, or if the settings editor tab is closed. Otherwise, on all OSes, when the user focuses back onto the search bar, and tries to search a new setting, the focus is stolen back to the item in edit mode.
Change:
private readonly _participants: IEditorHoverParticipant[]; <del> private readonly _widget = this._register(this._instantiationService.createInstance(ContentHoverWidget, this._editor)); </del> <ins> private readonly _widget: ContentHoverWidget; </ins> getWidgetContent(): string | undefined { const node = this._widget.getDomNode();

Discussion:
Testing !
I think the minimum size should me much bigger: !
Currently the minimum height is the line height plus 8 pixels, and the minimum width is 4/3 times the minimum height. Do you think the minimum width should be larger or perhaps dynamic and depending on the current width?
I think a min width of 150px could work
To verify: a hover and make sure that the hover can be sized down to a minimum width of 150px provided that the hover width is naturally above 150px a small hover with a natural width smaller than 150px, verify it can not be sized down to a smaller width than its initial width
Change:
listener.dispose(); repo = pick?.repo; <ins> isPrivate = pick?.isPrivate ?? true; </ins> if (repo) { try {

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. --As noted in , the lack of an option to create a public repository is by design rather than a bug. In that issue, gave the following reason for omitting the option: I would argue that: two quickpick options instead of one would not significantly complicate the UI. process of making a private repository public is not straightforward, especially when the alternative is to just create it as public in the first place. For reference, here are the required steps: Select "Publish to GitHub private repository" from quickpick and open the repo when finished. <img width="643" alt="Screen Shot 2020-07-12 at 11 26 12 AM" src="https://user-"- <img width="471" alt="Screen Shot 2020-07-12 at 11 27 26 AM" src="https://user-"- Open repository settings on GitHub. <img width="988" alt="Screen Shot 2020-07-12 at 11 34 14 AM" src="https://user-"- Scroll all the way to the bottom of the page (to the "Danger Zone") and click "Change visibility." <img width="942" alt="Screen Shot 2020-07-12 at 11 28 27 AM" src="https://user-"- In the modal, select the "Make public" radio option. Type the full repo name and click "I understand, change repository visibility." <img width="488" alt="Screen Shot 2020-07-12 at 11 28 51 AM" src="https://user-"For me and many others whose primary work is done in public repos, these steps would be completely eliminated if there were an option to create the repo as public in the first place. I don't believe it would be very difficult to implement this feature. Here's a simple solution:
OK sure, feel free to submit a PR.
Will do, thanks!
Change:
"vscode-ripgrep": "0.0.25", "vscode-textmate": "^3.1.5", "winreg": "1.2.0", <del> "xterm": "Tyriar/xterm.js#vscode-release/1.15", </del> <ins> "xterm": "Tyriar/xterm.js#vscode-release/1.16", </ins> "yauzl": "2.8.0" }, "devDependencies": {

Discussion:
Upstream issue: Please verify this on Linux by opening tmux in mouse mode and ensuring regular mouse selection triggers "tmux selection" and shift+mouse selection triggers the regular terminal selection.
I thought I verified this last month?
this was Mac only last month, needs verification on Linux.

Scrolling within the integrated terminal doesn't scroll curses interfaces such as , , , etc. <!-- Use Help Report Issues to prefill these. --- VSCode Version: Version 1.15.0 OS Version: Arch Linux Shell: ZSH (oh-my-zsh) the integrated terminal ( ``) a curses style pager interface (e.g. , , , ) the mouse scrollwheel to try and scroll the pager happens, using keyboard commands to scroll works fine (, , , , arrow keys, etc) a seperate terminal (e.g. or ) step 2 & 3 above as expected; pager scrolls <!-- Launch with to check. --Reproduces without extensions: Yes
This should be fixed in the next version. Note that this only applies to applications that launch the alt buffer however, so it does not apply to . Upstream issue:
Sounds like the upstream issue might be a different one to this. It appears to be about the alternative buffer being rendered twice after a scroll. This is about passing scroll events to pager style programs, such as less and git log.
The reason scroll isn't making it to the terminal app is because the scrollbar is grabbing the event and not passing it to the terminal. When there is no scrollback it gets sent to the terminal correctly.
It works in tmux fine now but not vim yet.
This has been working for a few versions now
Change:
const dragImage = $('.monaco-drag-image'); dragImage.textContent = label; <del> document.body.appendChild(dragImage); </del> <ins> const getDragImageContainer = (e: HTMLElement | null) => { while (e && !e.classList.contains('monaco-workbench')) { e = e.parentElement; } return e || document.body; }; const container = getDragImageContainer(this.domNode); container.appendChild(dragImage); </ins> event.dataTransfer.setDragImage(dragImage, -10, -10); <del> setTimeout(() => document.body.removeChild(dragImage), 0); </del> <ins> setTimeout(() => container.removeChild(dragImage), 0); </ins> } this.domNode.classList.add('dragging');

Discussion:
Steps: start to drag an item from the tree see how it does not have any background shows its this commit range: !
Works on Linux, but I can reproduce on Windows
Change:
<ins> <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EsrpClient" version="1.0.27" /> </packages> </ins>

Discussion:
is from an unknown publisher
!
Oh it really seems like you can't uninstall it... Not good.
Related to

Unlike the VS Code installer for Windows, the VS Code uninstaller for Windows is not signed. You can fix this by using the directive in your Inno Setup script. See For dual signing it's easiest to use Inno Setup 5.5.8 instead of 5.5.6 as you currently use: 5.5.8 allows you to have two SignTool directives, one for the sha-1 signing and another for the sha-256 signing.
To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed. Thanks for your understanding. Happy coding!
Change:
return; } <ins> # Disable shell integration when the language mode is restricted if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage") { return; } </ins> $Global:__VSCodeOriginalPrompt = $function:Prompt $Global:__LastHistoryId = -1

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.70.2 OS Version: Windows just want to bring this issue to your attention: -- the failed for a PowerShell user because PowerShell was running in mode, where method invocation is not allowed. I'm not sure if the integration script could work in the restricted language mode. If it's just the method call causing the problem, maybe just replace them with . If the script wouldn't work in that language mode, then it's better to not inject to the profile by checking (maybe only run the integration script when PowerShell is running in ).
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.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Hopefully is enough to fix it. If not, be aware that checking that variable will throw in and . Restricted also blocks try/catch.
Change:
icon: previousChangeIcon }, TextCompareEditorActiveContext, <del> 10 </del> <ins> 10, undefined, EditorContextKeys.hasChanges, </ins> ); // Diff Editor Title Menu: Next Change

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. --Please disable the "Previous Change," "Next Change," and similar buttons in the diff view when there are no differences (both files are equal). This would be a swift way to ensure that no differences exist, especially when cheking between local and remote files. Such clarity can be crucial in certain situations. On the right side, it's also possible to observe the differences on the "file map." However, at times, this map might be cluttered with additional markings, such as code warnings, which can lead to confusion. Typically, I find myself clicking the "Next Change" button when I need to verify the presence of differences. If the file doesn't scroll, I can be confident that none exist. Yet, this workaround is unnecessary. Furthermore, adhering to good UX practices involves displaying buttons as disabled when they lack any action. !
When you are scrolled away from the single diff in a file, you can use these buttons to scroll back again to the diff. If there buttons would be disabled, this does not work anymore. Maybe the feature "Toggle Collapse Unchanged Lines" might help you.
If there are no differences (both files are equal) the buttons are useless (there is no diff to scroll to) and should be disabled to follow good UI practices. Edit: I improved the issue description.
!
Change:
searchValue = source === RecommendationSource.WORKSPACE ? '@recommended' : extensions.map(extensionId => `@id:${extensionId.identifier.id}`).join(' '); } <ins> const donotShowAgainLabel = source === RecommendationSource.WORKSPACE ? localize('donotShowAgain', "Don't Show Again for this Repository") : extensions.length > 1 ? localize('donotShowAgainExtension', "Don't Show Again for these Extensions") : localize('donotShowAgainExtensionSingle', "Don't Show Again for this Extension"); </ins> return raceCancellablePromises([ <del> this._registerP(this.showRecommendationsNotification(extensions, message, searchValue, source, recommendationsNotificationActions)), </del> <ins> this._registerP(this.showRecommendationsNotification(extensions, message, searchValue, donotShowAgainLabel, source, recommendationsNotificationActions)), </ins> this._registerP(this.waitUntilRecommendationsAreInstalled(extensions)) ]); } <del> private showRecommendationsNotification(extensions: IExtension[], message: string, searchValue: string, source: RecommendationSource, </del> <ins> private showRecommendationsNotification(extensions: IExtension[], message: string, searchValue: string, donotShowAgainLabel: string, source: RecommendationSource, </ins> { onDidInstallRecommendedExtensions, onDidShowRecommendedExtensions, onDidCancelRecommendedExtensions, onDidNeverShowRecommendedExtensionsAgain }: RecommendationsNotificationActions): CancelablePromise<RecommendationsNotificationResult> { return createCancelablePromise<RecommendationsNotificationResult>(async token => { let accepted = false;

Discussion:
Type: <bFeature Request</bThe notification suggesting a plugin has a cog with an option "Don't show again". It's however not clear whether this suppresses suggesting the specific plugin, or any plugin. Either this message should be clarified ("Don't show this plugin again") or a second option should be . VS Code version: Code 1.84.2 (, 2023-11-09T10:51:52.184Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
<img width="485" alt="image" src=""<img width="478" alt="image" src=""
Thank you.
Change:
import { Disposable } from 'vs/base/common/lifecycle'; import { ICommandTracker } from 'vs/workbench/contrib/terminal/browser/terminal'; import { ICommandDetectionCapability, IPartialCommandDetectionCapability, ITerminalCapabilityStore, TerminalCapability } from 'vs/platform/terminal/common/capabilities/capabilities'; <del> import type { Terminal, IMarker, ITerminalAddon } from 'xterm'; </del> <ins> import type { Terminal, IMarker, ITerminalAddon, IDecoration } from 'xterm'; import { timeout } from 'vs/base/common/async'; import { IColorTheme, ICssStyleCollector, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { focusBorder } from 'vs/platform/theme/common/colorRegistry'; </ins> enum Boundary { Top,

Discussion:
Follow up for cmd+up/down on macOS should show some indication of the line that was scrolled to. This will need some upstream changes.
testing if i have a few empty lines such as this: ! pressing appears to do nothing, so having some indication of where I am would be great.
yeah I would have liked to get this in but was a bit randomized this iteration.
Blocked on
Brought this to UX sync with a focus border outline that fades to 0 opacity over 2 seconds. But after it occurred to me that navigating the a symbol in the editor is the exact idea we're trying to get across which flashes a focus border briefly without animating. So going with that to align, we can change both if we want to tweak it: !
Using 350ms:
!
Change:
options.container ); hover.onRequestLayout(() => provider.layout()); <del> if ('targetElements' in options.target) { for (const element of options.target.targetElements) { hoverDisposables.add(addDisposableListener(element, EventType.CLICK, () => this.hideHover())); } </del> <ins> if (options.sticky) { hoverDisposables.add(addDisposableListener(document, EventType.MOUSE_DOWN, e => { if (!isAncestor(e.target as HTMLElement, hover.domNode)) { this.doHideHover(); } })); </ins> } else { <del> hoverDisposables.add(addDisposableListener(options.target, EventType.CLICK, () => this.hideHover())); } const focusedElement = getActiveElement(); if (focusedElement) { hoverDisposables.add(addDisposableListener(focusedElement, EventType.KEY_DOWN, e => this._keyDown(e, hover, !!options.hideOnKeyDown))); hoverDisposables.add(addDisposableListener(document, EventType.KEY_DOWN, e => this._keyDown(e, hover, !!options.hideOnKeyDown))); hoverDisposables.add(addDisposableListener(focusedElement, EventType.KEY_UP, e => this._keyUp(e, hover))); hoverDisposables.add(addDisposableListener(document, EventType.KEY_UP, e => this._keyUp(e, hover))); </del> <ins> if ('targetElements' in options.target) { for (const element of options.target.targetElements) { hoverDisposables.add(addDisposableListener(element, EventType.CLICK, () => this.hideHover())); } } else { hoverDisposables.add(addDisposableListener(options.target, EventType.CLICK, () => this.hideHover())); } const focusedElement = getActiveElement(); if (focusedElement) { hoverDisposables.add(addDisposableListener(focusedElement, EventType.KEY_DOWN, e => this._keyDown(e, hover, !!options.hideOnKeyDown))); hoverDisposables.add(addDisposableListener(document, EventType.KEY_DOWN, e => this._keyDown(e, hover, !!options.hideOnKeyDown))); hoverDisposables.add(addDisposableListener(focusedElement, EventType.KEY_UP, e => this._keyUp(e, hover))); hoverDisposables.add(addDisposableListener(document, EventType.KEY_UP, e => this._keyUp(e, hover))); } </ins> } if ('IntersectionObserver' in window) {

Discussion:
Testing !
That's right. Its because we are using hover infrastructure in the bg.