Skip to content

Investigate and Improve Key bindings customisations experience #18095

@sandy081

Description

@sandy081

Investigate and improve key bindings customisations experience.

Following are the proposals, use cases, challenges in this area

Keybindings view

A table based view, each row for each key binding

Key Command When Action
alt+cmd+[ editor.fold editorTextFocus Unbind
alt+cmd+] editor.unfoldRecursively editorTextFocus Unbind
Bind workbench.action.reloadWindow Bind

Show the correct Keybindings based on the keyboard layout (both defaults and user)

Currently, keybindings show the keys those were shown in the US Keyboard. Since the keys location changes with Keyboard layout, some of the Keybindings shown as is in the file do not work. For eg:
ctrl+` does not work on German layout key board. Instead the associated Keybinding for this is ctrl+<

Show the invalid Keybindings

Some key bindings might not makes sense in some keyboard layouts since . Show such keybindings as unbound entries, probably with message?

Grouping

Group key bindings by VS code core and each extension key bindings

Command id vs title

Show just title or just id or both for the command column? Not all commands have labels and not all command ids are straight to interpret what action they perform. Not all command ids maps well with labels.

When context

when is a combination of the location in VS Code where key binding is applied to and the pre-condition to be met to trigger the action. Not all commands have proper separation of location and precondition. Also some commands have multiple locations. How to render this when clause? How to let user edit this?

Command args

args How to display args

Bound and unbound commands

Display bound and unbound commands as two different groups

As a user, I would like to associate a Keybinding to a command/action

User should be able to find an action say in Keybindings editor or Command Pallette and associate a key binding to it. Use the widget Define Keybinding to record the Key bindings instead of writing it by hand.

An action next to command pallette list entry to bind/unbind the key binding?

As a user, I would like to find the command/action for a Keybinding.

User should be able to find the Keybinding in Keybindings editor and see the associated commands/actions to it.

As a sophisticated user, I would like to switch to native old keybindings json from the new editor

Metadata

Metadata

Labels

keybindingsVS Code keybinding issuesplan-itemVS Code - planned item for upcoming

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions