Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 11, 2025

Arrow key navigation in the Problems view currently triggers automatic editor opening, which disrupts screen reader workflows where users need to review problems sequentially without context switching.

Changes

Added problems.followLocationOnNavigate boolean setting (default: true) to control editor opening behavior:

When enabled (default):

  • Preserves existing behavior - no changes

When disabled:

  • Arrow keys navigate list without opening editors
  • Enter key and mouse clicks still open editors (explicit actions)
  • Direct commands (Ctrl+Enter) unaffected

Implementation:

  • Event filtering in MarkersView.shouldOpenOnEvent() checks configuration and event type
  • Distinguishes explicit Enter (sets __forceEvent flag) from arrow navigation
  • Uses DOM.isMouseEvent()/DOM.isKeyboardEvent() for multi-window compatibility
  • Works with both tree and table view modes
private shouldOpenOnEvent(options: IOpenEvent<...>): boolean {
    const followLocationOnNavigate = this.configurationService.getValue<boolean>(
        'problems.followLocationOnNavigate'
    );
    
    if (followLocationOnNavigate !== false) {
        return true; // Default: existing behavior
    }
    
    // When disabled: only explicit actions (Enter/click)
    if (dom.isMouseEvent(options.browserEvent)) {
        return true;
    }
    
    if (dom.isKeyboardEvent(options.browserEvent)) {
        return (options.browserEvent as SelectionKeyboardEvent).__forceEvent === true;
    }
    
    return false;
}

Files Changed

  • markers.contribution.ts: Configuration registration
  • messages.ts: Localized description
  • markersView.ts: Event filtering logic
Original prompt

This section details on the original issue you should resolve

<issue_title>Make it possible to disable editors following the highlighted entry in the problems list</issue_title>
<issue_description>Currently, when I have problems shown in the problems view, navigating through the error list with just arrows immediately moves the cursor to their location, and opens new editors if needed.
However this poses some problems related to accessibility, so I would like to suggest a feature allowing this behavior to be disabled.
In case this setting is disabled, the cursor should move only when pressing enter on a specific problem.
The motivation for this request is the fact this behavior is bad for screenreader usage.
Normally (possibly except mac) blind people navigate using arrows, so in order to see any problem list item we have to actually select it first with arrows.
And in that case I would not expect being moved to location of each problem I select when I only wanted to review the list.</issue_description>

Comments on the Issue (you are @copilot in this section)

@isidorn This is a fair feature request and the one I discussed with @sandy081 thus forwarding to him @isidorn Agree would be great to have this.

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Add option to disable editor navigation from problem list Add setting to disable automatic editor navigation on arrow keys in Problems view Dec 11, 2025
Copilot AI requested a review from sandy081 December 11, 2025 10:41
@sandy081 sandy081 closed this Dec 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make it possible to disable editors following the highlighted entry in the problems list

2 participants