VSCodeVim / VSCodeVim/Vim

List keyboard navigation broken in VS Code 1.31.0

Open
#3,474 15 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status/duplicate
Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Describe the bug
The new list navigation support (#3432 ?) appears to be broken for me. I'm trying to narrow down exactly what the behavior is, and it seems to be timing related.

When I first focus into the file explorer tree (whether via mouse click or a keyboard shortcut), pressing j does not navigate down one list item, but instead jumps to the first file that starts with the letter "j".

If immediately hit j again, it behaves as expected: the focus moves down one item in the list.

However, if I wait and allow a couple seconds to elapse between the keypresses, it reverts to the broken behavior: it jumps back to the first file starting with j. This is true of k as well.

I've also noticed that l has a similar pattern: subsequent immediate keypresses behave as expected (toggling a directory or opening the file selected). But the first keypress after a short delay jumps to the first list item that begins with "l" (regardless of where it appears - it will jump up directory levels to find it).

To Reproduce
Steps to reproduce the behavior:

  1. Focus into file explorer
  2. Type j

Focus jumps to first list item beginning with "j".

Expected behavior
Focus moves down one item in the list

Screenshots
Focusing into the file explorer and hitting j:

screencast 2019-02-07 12-37-39

Environment (please complete the following information):

  • Extension (VsCodeVim) version: 1.0.8
  • VSCode version: 1.31.0
  • OS: macOS Mojave

All other extensions disabled. No custom single letter keyboard shortcuts bound in the file explorer context. workbench.list.keyboardNavigation set to simple

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in the VS Code file explorer with VSCodeVim 1.0.8, VS Code 1.31.0, and workbench.list.keyboardNavigation set to simple. Start by reviewing the list navigation support referenced in #3432 and compare the first delayed j, k, and l keypresses with immediate repeats. Done means those keys consistently navigate, toggle, or open the selected item instead of triggering type-to-search.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.