Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate and Improve Key bindings customisations experience #18095

Closed
sandy081 opened this issue Jan 4, 2017 · 12 comments
Closed

Investigate and Improve Key bindings customisations experience #18095

sandy081 opened this issue Jan 4, 2017 · 12 comments
Assignees
Labels
keybindings VS Code keybinding issues plan-item VS Code - planned item for upcoming
Milestone

Comments

@sandy081
Copy link
Member

sandy081 commented Jan 4, 2017

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

@sandy081 sandy081 added plan-item VS Code - planned item for upcoming workbench labels Jan 4, 2017
@sandy081 sandy081 self-assigned this Jan 4, 2017
@sandy081 sandy081 added this to the January 2017 milestone Jan 4, 2017
@egamma egamma mentioned this issue Jan 4, 2017
56 tasks
@sandy081 sandy081 modified the milestones: February 2017, January 2017 Jan 20, 2017
@sandy081 sandy081 modified the milestones: Backlog, February 2017 Feb 21, 2017
@sandy081 sandy081 modified the milestones: March 2017, Backlog Mar 7, 2017
@sandy081 sandy081 changed the title Investigate and Improve Key bindings customizations experience Investigate and Improve Key bindings customisations experience Mar 7, 2017
@sandy081 sandy081 added the keybindings VS Code keybinding issues label Mar 7, 2017
@kieferrm kieferrm mentioned this issue Mar 7, 2017
58 tasks
@sgtoj
Copy link

sgtoj commented Mar 16, 2017

@sandy081 Insider build has been my daily driver since its inception; as well as Windows Insiders.

Anyways, I checked it out the keybinding editor view in today's build. It looks great!

@sgtoj
Copy link

sgtoj commented Mar 16, 2017

@sandy081 If I can make two suggestions...

  • Show user overrides at the top.
    • Maybe even separate them with a small gap and heading.
  • Provide a way to easily identify if a default keybinding has been replaced.

edit:

The terminal view covers the keybindings at the bottom of the list. I believe this may be a bug because its behavior is not consistent with the rest of the editor.

Terminal is covering bottom of list

@sandy081
Copy link
Member Author

@sgtoj Thanks for the feedback.

The design of this editor is to be simple and show the available Keybindings in the system. Source column was added to help user to show where a particular keybinding is coming from.

To separate User and Default keybindings was one of the initial designs. But as a first cut and with some initial feedback, above simple design was chosen.

I will gather all the feedback and update/improve the design.

Yes, terminal view covering the keybindings is a bug and I will fix it today and you can get it in tomorrows insiders.

Thanks

sandy081 added a commit that referenced this issue Mar 16, 2017
sandy081 added a commit that referenced this issue Mar 16, 2017
@schmuli
Copy link

schmuli commented Mar 16, 2017

@sandy081 further to @sgtoj's comment, I've noticed that even when there is no lower panel open, the bottom of the editor is below the bottom of the screen.

sandy081 added a commit that referenced this issue Mar 16, 2017
- Use List widget to render keybindings
sandy081 added a commit that referenced this issue Mar 16, 2017
- Open default keybindings while opening keybindings file like before
sandy081 added a commit that referenced this issue Mar 16, 2017
- Define keybinding action with keyboard shortcut
- Search keybindings action with keyboard shortcut
sandy081 added a commit that referenced this issue Mar 16, 2017
- Register keybinding for remove action
- Make other actions as just keybinding actions
sandy081 added a commit that referenced this issue Mar 16, 2017
- Down arrow to navigate from search to list
sandy081 added a commit that referenced this issue Mar 16, 2017
- Do not navigate by Enter from search box
sandy081 added a commit that referenced this issue Mar 17, 2017
sandy081 added a commit that referenced this issue Mar 17, 2017
sandy081 added a commit that referenced this issue Mar 17, 2017
@Tekbr
Copy link

Tekbr commented Mar 17, 2017

-- Sorry for the English, I used Google Translator --

@sandy081 The new Keybindings screen would be possible or feasible, allow search not only for the column 'command', but also for the column 'Keybinding' and 'When'?

Why this? VSCode is not yet in my language, and searching for the shortcut key may be faster in this case.

I know we still have the old screen.

@sandy081
Copy link
Member Author

@Tekbr Searching for keybindings is possible. Typing control+w would look for such keybindings. Let me know if it is not working for you. Thanks.

@Tekbr
Copy link

Tekbr commented Mar 17, 2017

@sandy081 Oh, I was typing ctrl instead of control. That was my mistake. Why not type Ctrl + anything or instead of Control + anything?

@sandy081
Copy link
Member Author

I will be improving Search to accept both full or short forms

@Tekbr
Copy link

Tekbr commented Mar 17, 2017

OK. Thanks for the quick response.

@pixieaka
Copy link

The interface frozen here #23039

sandy081 added a commit that referenced this issue Mar 27, 2017
sandy081 added a commit that referenced this issue Mar 27, 2017
sandy081 added a commit that referenced this issue Mar 27, 2017
- Test to remove last item in the array if there is a comment in the beginning
sandy081 added a commit that referenced this issue Mar 27, 2017
- Fix remove last item from the array if there is a comment in the beginning
@Tekbr
Copy link

Tekbr commented Mar 29, 2017

@sandy081

-- Sorry for the English, I used Google Translator --

I do not know if it's in a commit that was not made available in Insiders.

But in 1.11.0 - Insiders d98a518 2017-03-29T06: 11: 14.271Z, I can not use Ctrl instead of using Control. Can you check it please?

And not forgetting, thanks for allowing you to search the 'When' column. 😄 👍

@sandy081
Copy link
Member Author

@Tekbr This is not yet supported. Please follow the issue #23368.

sandy081 added a commit that referenced this issue Mar 31, 2017
- Opening keybindings
- While performing actions
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
keybindings VS Code keybinding issues plan-item VS Code - planned item for upcoming
Projects
None yet
Development

No branches or pull requests

6 participants