jiebi/CodeConvo huggingface dataset:
Change:
const index = model.findPreviousClosestChange(lineNumber, false); const change = model.changes[index]; await playAudioCueForChange(change.change, audioCueService); <del> // The audio cue can take up to a second to load. Give it a chance to play before we read the line content await setTimeout(() => setPositionAndSelection(change.change, outerEditor, accessibilityService, codeEditorService), 500); </del> <ins> setPositionAndSelection(change.change, outerEditor, accessibilityService, codeEditorService); </ins> } } registerEditorAction(GotoPreviousChangeAction);

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.75.0 OS Version: Windows 10 Steps to Reproduce: a project in VSCode that's versioned by git. a change. , (<kbdAlt</kbd+<kbdF5</kbd). the time it takes to move your cursor to the next change. You should notice a significant delay in version 1.75 compared to version 1.74. I've only tested this in a single repository with ~30k LoC and a few hundred commits.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.75.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
is this something that falls under your area of ownership?
Can confirm. In 1.74 it was instant, whereas now it takes 1sec even in a new project of a single file. Affects Windows 10 and MacOS 12, so not OS-specific. More context: still reproduces in stable 1.75.0 without extensions () doesn't reproduce in 1.75.0-insider () reproduces in Version: 1.76.0-insider ()
I'm also seeing this perf regression with 1.75. Side observation: as noted, alt+f5 is slow in 1.75. However, alt+f3 (related functionality -- 'Show Next Change') still feels instant. (Not sure if this is relevant or helpful.)
For me both and is slow.

It doesn't matter which key combination I bind this command to. Repository size seems to have no (noticeable) effect. Disabling GitLens has no effect either.
I'm seeing this issue too, with both and . I noticed you assigned the label. It's worth noting that the comparable commands for the diff editor ( and ) do not seem to be exhibiting the same slowness, so this issue seems to only be happening in the editor, not the diff editor.
I only just noticed this myself after switching my keybindings because & stopped working since 1.76.0. It's frustrating having to open up the diff editor every time to see things quickly.
Change:
content.push('- ' + this._descriptionForCommand(TerminalCommandId.RunRecentCommand, runRecentCommand, runRecentCommandNoKb) + 'n- ' + this._descriptionForCommand(TerminalCommandId.GoToRecentDirectory, goToRecent, goToRecentNoKb)); } content.push(this._descriptionForCommand(TerminalCommandId.OpenDetectedLink, openDetectedLink, openDetectedLinkNoKb)); <ins> content.push(this._descriptionForCommand(TerminalCommandId.NewWithProfile, newWithProfile, newWithProfileNoKb)); content.push(accessibilitySettings); </ins> content.push(readMoreLink, dismiss); const element = renderElementAsMarkdown(this._markdownRenderer, this._openerService, content.join('nn'), this._register(new DisposableStore())); const anchorElements = element.querySelectorAll('a');

Discussion:
In our menu, we should mention setting
I actually think we should more broadly mention how to find accessibility settings here -

This is useful for discovering shell types and creating them. When was sharing his screen, he was going to edit his default profile in his file, which is more involved
Change:
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.6.tgz#6b8f141b0bbc44ad7b07e94f82f168ac7608ad4d" integrity sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww== <del> vscode-xterm@3.11.0-beta2: version "3.11.0-beta2" resolved "https://registry.yarnpkg.com/vscode-xterm/-/vscode-xterm-3.11.0-beta2.tgz#fe5295c835fcff00fee55cbb1d5a4bf537d105a2" integrity sha512-QG9ALgfH4+YUblN1G/AAdf40MJPOeb0p2u2k9MwcIvaJGQmk5Pp2KZUiQbO+ycfeuisTTVtqjceG7MutIEVZSQ== </del> <ins> vscode-xterm@3.11.0-beta4: version "3.11.0-beta4" resolved "https://registry.yarnpkg.com/vscode-xterm/-/vscode-xterm-3.11.0-beta4.tgz#8e7c7be9a273f6dce5e87a665aa32a7a54d47347" integrity sha512-6XhRuicfkTVXM2Ni6Fgh9epY6soZrUZEikajoTbheNs3q6U1Ye7nZqW5QUPzbGbkKzLvsns8Zve90D0WbobODQ== </ins> vso-node-api@6.1.2-preview: version "6.1.2-preview"

Discussion:
Fixed in master, needs to be pulled into release branch
Verification: Open a terminal Resize the sidebar to be 50% of the screen size Type out a long line in the terminal that wraps several times and press enter (this needs to be able to unwrap when you close the sidebar) Resize the terminal larger, keep moving the cursor and hit cmd/ctrl+b to hide sidebar before you let go. The resize call is debounced every 50ms and you're trying to resize both dimensions larger in a single call. You know you've done the right thing if the text doesn't move/reflow until after you have resized both.
Change:
super(); } <ins> private _activeProvideLinkRequests: Map<number, Promise<TerminalLink[]>> = new Map(); </ins> async provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void) { <del> this._activeLinks?.forEach(l => l.dispose()); this._activeLinks = await this._provideLinks(bufferLineNumber); </del> <ins> let activeRequest = this._activeProvideLinkRequests.get(bufferLineNumber); if (activeRequest) { await activeRequest; callback(this._activeLinks); return; } if (this._activeLinks) { for (const link of this._activeLinks) { link.dispose(); } } activeRequest = this._provideLinks(bufferLineNumber); this._activeProvideLinkRequests.set(bufferLineNumber, activeRequest); this._activeLinks = await activeRequest; this._activeProvideLinkRequests.delete(bufferLineNumber); </ins> callback(this._activeLinks); }

Discussion:
I was resolving a conflict for with 500 file paths showing up in the terminal as a result and noticed how typing became very slow. Kudos to auto profiling, we have a trace:
Terminal output: !
This was caused by , it may fixable on the VS Code side though.
Repro: vscode repo : over a link and keep it there into the terminal ! ! ! !
Something is not getting disposed, I verified that the number of times each link detector is called increases
!
Can repro upstream:
Change:
"vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", "xterm": "4.19.0-beta.25", <del> "xterm-addon-search": "0.9.0-beta.22", </del> <ins> "xterm-addon-search": "0.9.0-beta.23", </ins> "xterm-addon-unicode11": "0.4.0-beta.3", "xterm-addon-webgl": "0.12.0-beta.29" }

Discussion:
Testing macOS, zsh Do a couple of ls calls for something that has multiple matches in the terminal using the Down or Up arrow -notice how the count is always wrong !

Testing Notice how the "no results" is grey in the editor when the find input is empty. In the terminal it is red !

Refs: macOS, zsh shell Search for something in the terminal that does not exist -"no results" is not rendered. !

Testing a new terminal a script which logs the same text 2000 times a query, find widget says there are 2000 matches the terminal (e.g. collapse and expand the side bar) :bug: the number of matches is now less even though the same amount of scrollback is visible, moreover deleting and reentering the query doesn't reset the match count !
Maybe this isn't released yet, but I'm still getting the same problem in today's insiders.
Still repros for me :(
Can one of you pls provide a gif? it's working for me with the above example as expected and with others
https://user-
You are both on Windows - I wonder if that has to do with this. Could someone on mac pls verify this?
!
from !
Something weird going on here: ! This is after pasting in " Hi Hi" many times, once the command wraps to the end the terminal freaks out (conpty reprinting), but at some point it breaks and find only finds one result. Finding the next works, but it still says 1 of 1.
More weird behavior !
All results aren't getting included when search results get highlighted !
Problem here seems to be the search addon gets confused because translateToString considers the second character whitespace: But in the search algorirthm it's treated as a null character, of length 0, as opposed to .
Still reproing this. Initially: ! After making the terminal panel taller: !
this is on Windows? That's actually acting as expected because of the way conpty works, it ends up losing lines just above the bottom of the buffer.
Pretty sure you were seeing so closing this again for verification

Testing a query which results in matches the terminal (e.g. expand or collapse explorer) :bug: match decorations remain !
Change:
const showActionButton = config.get<{ publish: boolean }>('showActionButton', { publish: true }); // Not a branch (tag, detached), branch does have an upstream, commit/merge/rebase is in progress, or the button is disabled <del> if (!this.state.HEAD?.name || this.state.HEAD?.upstream || this.state.isCommitInProgress || this.state.isMergeInProgress || this.state.isRebaseInProgress || !showActionButton.publish) { return undefined; } </del> <ins> if (this.state.HEAD?.type === RefType.Tag || !this.state.HEAD?.name || this.state.HEAD?.upstream || this.state.isCommitInProgress || this.state.isMergeInProgress || this.state.isRebaseInProgress || !showActionButton.publish) { return undefined; } </ins> // Button icon const icon = this.state.isSyncInProgress ? '$(sync~spin)' : '$(cloud-upload)';

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.77.3 OS Version: macOS Ventura 13.3.1 Steps to Reproduce: Git repository that has at least one tag any tag Expected: Do not show button when not on a branch Actual: <img width="391" alt="image" src="https://user-"Clicking this button runs and the button does not disappear after clicking
Change:
}; } } <ins> const manageExtension = actions?.find(a => a.label.includes('Manage Extension')); if (manageExtension) { manageExtension.class = ThemeIcon.asClassName(Codicon.gear); } </ins> if (actions) { actions.push({ id: 'clearNotification', label: localize('clearNotification', "Clear Notification"), tooltip: localize('clearNotification', "Clear Notification"), run: () => notification.close(), enabled: true, class: ThemeIcon.asClassName(Codicon.clearAll) }); }

Discussion:
We use an X now, which to me feels more like a 'dismiss accessible help' button. Maybe would be more appropriate , or even !
what do you think?
Replied in I see had the same icon suggestion above
Change:
gotoLineMode: options.gotoLineMode, noRecentEntry: options.noRecentEntry, waitMarkerFileURI: options.waitMarkerFileURI, <del> remoteAuthority: options.remoteAuthority || undefined </del> <ins> remoteAuthority: options.remoteAuthority || undefined, forceProfile: options.forceProfile, forceTempProfile: options.forceTempProfile, </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. --Today, the command only supports an describing the folder/workspace path to be opened. It would be interesting to allow adding the set of extensions to be used as well, or at least the profile, just like the CLI interface created in . Thank you
To verify: Create a profile Verify passing the profile name as an argument to the command from the extension and make sure the folder is opened in that profile. Eg:
Change:
const fullPath = path.join(cwd, command); return await exists(fullPath) ? fullPath : undefined; } <del> if (paths === undefined && isString(env.PATH)) { paths = env.PATH.split(path.delimiter); </del> <ins> const envPath = getCaseInsensitive(env, 'PATH'); if (paths === undefined && isString(envPath)) { paths = envPath.split(path.delimiter); </ins> } // No PATH environment. Make path absolute to the cwd. if (paths === undefined || paths.length === 0) {

Discussion:
Connect a mac-windows SSH remote Open terminal See this popup ! So fails here because it checks ".PATH" on the environment when this is actually "Path" on windows. has special behavior where it resolves property accesses in a case-insensitive way on Windows. We changed many accesses from using to a constructed environment object, and need the same behavior there.
is this a mac-specific issue or are there steps to repro/verify on Windows?
Can't be verified on windows. Thanks
Change:
"problemPatterns": [ { "name": "tsc", <del> "regexp": "^([^s].*)((d+|d+,d+|d+,d+,d+,d+)):s+(error|warning|info)s+(TSd+)s*:s*(.*)$", </del> <ins> "regexp": "^([^s].*)[(:](d+)[,:](d+)(?:):s+|s+-s+)(error|warning|info)s+(TSd+)s*:s*(.*)$", </ins> "file": 1, <del> "location": 2, "severity": 3, "code": 4, "message": 5 </del> <ins> "line": 2, "column": 3, "severity": 4, "code": 5, "message": 6 </ins> } ], "problemMatchers": [

Discussion:
Issue Type: <bBug</bAs of TypeScript 2.9, is enabled by default on a new ts project, however the error list does not seem to pick these up from build. Is there anything specific on the TS side to add to the errors to make the errors grokable by the error list? here are steps to reproduce add a .ts file with errors build VS Code version: Code 1.22.2 (, 2018-04-12T16:38:45.278Z) OS version: Windows_NT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (1)</summaryExtensionVersion ------ xml1.9.2 </details<!-- generated by issue reporter --ed by issue reporter --
You can add a new problem matcher that matches pretty output:
Looks like the tsc problem matcher does not handle output for locations.. So we can either change it on our side and have emit the same file name/line number similar to the non-pretty mode, or we can add a new problem matcher regex or modify the tsc problem matcher. what would be your preference?
I fixed it on our end. Having two problem matchers is not nice for the users. one thing: the fix now assumes that a message only contains line,column information and never line,column,endline,endcolumn which was possible with the old matcher. But to my knowledge TS always emitted line,column only. Right?
please review and merge if you think the fix is fine.
Change:
import { ColorId, ITokenPresentation } from 'vs/editor/common/encodedTokenAttributes'; import { Color } from 'vs/base/common/color'; import { IME } from 'vs/base/common/ime'; <ins> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; </ins> export interface IVisibleRangeProvider { visibleRangeForPosition(position: Position): HorizontalPosition | null;

Discussion:
Type: <bBug</bWhen accessibility mode is off and focus is in the editor, pressing Alt +F1 produces the following announcement to screen reader users: "The editor is not accessible at this time. Press Alt+F1 for options.". If one is a new user of the product and screen reader mode doesn't turn on automatically, pressing the command which is supposed to help one get started just repeats the same announcement inviting the user to use Alt +F1 to obtain help. VS Code version: Code - OSS Dev 1.81.0 (Commit unknown, Date unknown) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</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.80.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I filed the bug while running VS Code from source. That's why version information doesn't reflect that I'm using the latest. Correct version information: Version: 1.81.0-insider (user setup) Commit: Date: 2023-07-18T05:36:41.526Z Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
Since the help menu is not accessible with that off, instead of we should say to enable screen reader mode.
Change:
separator: '' } }); <ins> // Register log channel this._registerLogChannel('ptyHostLog', localize('ptyHost', "Pty Host"), URI.file(join(environmentService.logsPath, `${TerminalLogConstants.FileName}.log`))); } private _registerLogChannel(id: string, label: string, file: URI): void { const promise = registerLogChannel(id, label, file, this._fileService, this._logService); this._register(toDisposable(() => promise.cancel())); </ins> } }

Discussion:
This doesn't get logged when creating a terminal with trace logging on
I tried to do this like you and Jackson did for the on the branch merogge/remote-inv, but i'm still not seeing the logs anywhere when using remote WSL. Thoughts? Need this to investigate remote terminal reconnection bc when ssh'ing to localhost, I can't repro the issue and don't want to have to setup a vm.
maybe bc it's in platform instead of workbench it's not working? can't be in workbench though for the ptyService
instead of an output channel I think what we're after is something like this: Here: I thought that's what the LogLevelChannel was doing but maybe not? Or maybe that particular log service/channel type doesn't work on the server since it does in the shared process? !
Change:
// Reflog const branchFromReflog = await this.getBranchBaseFromReflog(ref); <del> const branchFromReflogUpstream = branchFromReflog ? await this.getUpstreamBranch(branchFromReflog) : undefined; </del> <ins> let branchFromReflogUpstream: Branch | undefined = undefined; if (branchFromReflog?.type === RefType.RemoteHead) { branchFromReflogUpstream = branchFromReflog; } else if (branchFromReflog?.type === RefType.Head) { branchFromReflogUpstream = await this.getUpstreamBranch(branchFromReflog); } </ins> if (branchFromReflogUpstream) { await this.setConfig(mergeBaseConfigKey, `${branchFromReflogUpstream.remote}/${branchFromReflogUpstream.name}`); return branchFromReflogUpstream;

Discussion:
branch from a non-default branch using the git extension's branch picker, e.g. from in PR :bug: previously was automatically picked as the base IIRC, but this time the base was Maybe related, I hadn't fetched so it was a remote branch at the time that I created a branch from it
I can repro this. If you create a branch from the "create from..." picker and choose a from that you don't have locally, then the ends up getting set to .
Change:
} } <del> this.recommendationsByPattern.set(pattern, recommendationsByPattern); </del> <ins> if (pattern) { this.recommendationsByPattern.set(pattern, recommendationsByPattern); } </ins> if (Object.keys(unmatchedRecommendations).length) { if (listenOnLanguageChange) { const disposables = new DisposableStore();

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. --Current behavior: If a user opens a Python file (.py) or saves a file with a .py extension and does not have the Python extension installed, VS Code suggests installing the Python extension for Python support using the prompt below: <img width="236" alt="image" src=""Proposed behavior: It would be nice if we could have an installation trigger/prompt to install the Python extension before a user saves the file with the appropriate file extension. In this case, if the user creates a new untitled file --selects Python from the language dropdown --the user is prompted to install the Python extension (flow depicted in the gif below) ! In user studies, we have observed users struggle to find where to install the Python extension (or do not realize they need an extension for Python support) and do not think to save the file in this case causing them to get stuck at this point.
I remember this used to be supported and would have broken sometime back.
Another scenario I don't believe has been supported but could be useful is when users do not select Python as the language but instead just start typing Python code and the language model is able to detect it. Thoughts on enabling a prompt for this scenario as well?
Is not the other scenario same as this - At the end of both scenarios, the language mode of the file has changed to python. Language mode change will trigger the recommendation.
In the second scenario, the user has to click the lightbulb in order to get the language mode to change (or have the setting to automatically switch the language mode to the detected language enabled). The idea there was to prompt the user if the model detects their code to be Python, without the user having to click on the small lightbulb in the bottom corner. We haven't observed users engaging with or noticing the status bar much which was the motivator for this scenario.
I see. I will reopen the other issue for that scenario. Can you please update the issue and mention the use case clearly. Thanks.
Change:
} function getObjectValueType(schema: IJSONSchema): ObjectValue['type'] { <ins> if (schema.anyOf) { const subTypes = schema.anyOf.map(getObjectValueType); if (subTypes.some(type => type === 'enum')) { return 'enum'; } return 'string'; } </ins> if (schema.type === 'boolean') { return 'boolean'; } else if (schema.type === 'string' && isDefined(schema.enum) && schema.enum.length > 0) {

Discussion:
Testing settings gui and search for workbench.externalUriOpeners "Edit in json" ! Not sure where these values are coming from, but was only able to figure out the formatting of the setting by writing something random and then hovering over it
I believe these are the cross-file word based suggestions. Let me see if I can add a snippet or something to improve this
a visual editor for this setting. I don't think there's a way to fix the json side of things here (although there is a default snippet when you first fill in this setting)
For verification, make sure you can use the settings UI to edit