Change:
<!-- 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.

Discussion:
@IAccessibilityService private readonly accessibilityService: IAccessibilityService ) { super(); <ins> // preload all sounds so there's no delay for (const audioCue of AudioCue.allAudioCues) { playAudio(FileAccess.asBrowserUri( `vs/platform/audioCues/browser/media/${audioCue.sound.fileName}` ).toString(true), 0).then(sound => { { this.sounds.set(sound.src, sound); } }); } </ins> } public async playAudioCue(cue: AudioCue, allowManyInParallel = false): Promise<void> {

} this.playingSounds.add(sound); <del> const url = FileAccess.asBrowserUri( `vs/platform/audioCues/browser/media/${sound.fileName}` ).toString(true); </del> <ins> const url = FileAccess.asBrowserUri(`vs/platform/audioCues/browser/media/${sound.fileName}`).toString(true); </ins> try { const sound = this.sounds.get(url); if (sound) { <ins> // preloaded </ins> sound.volume = this.getVolumeInPercent() / 100; await sound.play(); <del> return; </del> <ins> } else { // not yet preloaded const playedSound = await playAudio(url, this.getVolumeInPercent() / 100); this.sounds.set(url, playedSound); </ins> } <del> const playedSound = await playAudio(url, this.getVolumeInPercent() / 100); this.sounds.set(url, playedSound); </del> } catch (e) { console.error('Error while playing sound', e); } finally {

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);

const index = model.findNextClosestChange(lineNumber, false); const change = model.changes[index].change; await playAudioCueForChange(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, outerEditor, accessibilityService, codeEditorService), 500); </del> <ins> setPositionAndSelection(change, outerEditor, accessibilityService, codeEditorService); </ins> } }