microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
161k stars 28.25k forks source link

VS Code keyboard shortcuts suggestion to learn #26729

Open gsipos opened 7 years ago

gsipos commented 7 years ago

Keyboard shortcuts are central part of VS Code, there are a lot of them and I think I use only a fraction of them. It would be awesome if VS Code could suggest what shortcut should I learn, based on how I use the app with mouse. For example if I click between editors a lot, then VS Code could somehow tell me to use ctrl+1 and ctrl+2. This way I could gradually learn shortcuts that would increase my productivity the most.

ramya-rao-a commented 7 years ago

cc @kieferrm

Tyriar commented 7 years ago

I was actually looking at building an extension for this a long time ago, we don't have the right extension points though. We would need an event for when any command is run and be able to determine the source of the command (menu, command palette, keybinding, etc.)

Tyriar commented 7 years ago

πŸ˜„ https://github.com/Microsoft/vscode/issues/1775 https://github.com/Microsoft/vscode/issues/1431

jcrben commented 6 years ago

prior art: https://github.com/halirutan/IntelliJ-Key-Promoter-X

bbohen commented 5 years ago

I was actually looking at building an extension for this a long time ago, we don't have the right extension points though. We would need an event for when any command is run and be able to determine the source of the command (menu, command palette, keybinding, etc.)

I tried this over the weekend and hit the same limitations. Was thinking about it a bit and I think this could be a nice feature to add to vscode itself (disabled by default perhaps). Could be something to consider if for some reason the extension points themselves aren't desired. Would be happy to work on a PR to help if there is any interest.

guider commented 5 years ago

keep remain

stansw commented 5 years ago

Before extension points are added to listen for commands it might be possible to to use log stream to build a dataset for training such suggestions. Once proven that such suggestions can bring a lot of value it should be easier to prioritize the work in the extension surface.

Has anyone looked into telemetry emitted by VS Code with this scenario in mind?

RJSonnenberg commented 4 years ago

Anyone working on this? I haven't found anything similar to this yet in extensions or anything.

pastuh commented 4 years ago

Looks like no one :X

lincolnaleixo commented 4 years ago

Need more interest to catch their attention

dahelg commented 4 years ago

I am also looking forward to such a feature/extension.

kbysiec commented 4 years ago

I really miss this feature from WebStorm as well. It would be great to have it in VSC.

alexdeveng commented 4 years ago

I am also looking forward to such feature

imWildCat commented 4 years ago

Currently, do we have enough extension API to implement this feature? If so, I can start to explore it.

kbysiec commented 4 years ago

I don't think so. And this is the main problem. There was a proposal API some time ago in Insiders version but it has been revoked and from that time the topic is suspended as I know.

jt3k commented 4 years ago

I am also looking forward to such feature

JaqueLB commented 4 years ago

Hey, I am also looking forward to this feature! Something similar as what I had with PHPStorm...

I would rather learn the VSCode Keybinds than to use of extensions to change the shortcuts, as these extensions sometimes leave some commands behind, and you end up not making the most of what the editor can do

ArthurWietzorek commented 4 years ago

I, too, think that such a feature would be a great addition to VSCode.

ClausClaus commented 4 years ago

I am also looking forward to such feature

chrishna1 commented 4 years ago

https://github.com/microsoft/vscode/issues/78091#issuecomment-521640092

I have pushed 21de711 that removes the proposed API - as explained in my previous comment. This wasn't an easy decision but there were too many doubts around the usefulness of this API, the performance impact, and accidental leakage of arguments.

However, the internal API is there and we are open to accept features like the "keybindings teacher" or "macro recording" as a core contribution to VS Code.

ztroop commented 4 years ago

I would love to see this feature! IntelliJ IDEA has Key Promoter X and it's amazing.

Vitaly-V commented 4 years ago

I'm currently using Android Studio as my primary editor but I tend to migrate to VS Code. And having the feature that will help me to learn VS Code shortcuts would make my transition between the editors easier. Thanks in advance!

andrei-micuda commented 4 years ago

I am also looking for this feature, helped me loads while working with JetBrains products.

JonLevin25 commented 4 years ago

I would also love this - Key Promoter X is very useful on IntelliJ products

Michael-Nolan commented 4 years ago

I would also really appreciate this feature. It's a huge productivity boost to know the keyboard shortcuts.

oleg-korolenko commented 4 years ago

+1

parksj10 commented 4 years ago

+1

vikash-tiwari commented 3 years ago

+1

FkLaagom commented 3 years ago

+1

daydaygo commented 3 years ago

ζœŸεΎ…θΏ™δΈͺεŠŸθƒ½ ~

ArjunAce commented 3 years ago

It'd be great to have such an extension. Looking forward to it.

JonnyCBB commented 3 years ago

I've just installed the corresponding plugin on IntelliJ and it's amazing! I hope that this comes to VSCode too! I've been using Atom Keymap for VSCode because I'm daunted by having to learn another set of keybindings. At least with Key promoter for IntelliJ I'll be able to learn more quickly.

ThibautBremand commented 3 years ago

+1

a-froghyar commented 3 years ago

Would love to have this!

borislavmilijic commented 3 years ago

+1

Kirito-Ausna commented 3 years ago

+1

MRdevX commented 3 years ago

+1

jnoortheen commented 3 years ago

for any newcomers, please put :+1: on the first comment instead of necro-bumping. (sorry for sending again a mail, its kind of frustrating to know an update on ths issue is another +1)

fuatkarakus commented 3 years ago

+1 would be great for productivity

lzrf0cuz commented 3 years ago

+1

BrianToro commented 3 years ago

Please dont forget this idea πŸ’™

StephenJBrasel commented 3 years ago

I'd love for this to become a feature; I, too, miss Key Promoter X from IntelliJ/Webstorm.

flipbit03 commented 3 years ago

Are we able to hook into the functions needed for this to happen at an Extension level or does this need work inside VSCode itself to enable these kinds of hooks? Sounds like a fun extension for a weekend project and I am interested in creating something along the lines of the excellent "Key Promoter X" which several people already use on IntelliJ-based IDEs.

Thanks in advance o/

gsipos commented 3 years ago

@flipbit03 There was a discussion about this. I believe here: https://github.com/microsoft/vscode/issues/78091#issuecomment-518545491 So it would be preferred to be in the core rather than an extension, if I understand it correctly.

supervanya commented 2 years ago

Seems like onDidExecuteCommand could be a possibility after all - VSCode team moved it to a backlog #135616

My friend and I started working on a plugin similar to Key Promoter X. I can share it here once we have a prototype.

He110te4m commented 2 years ago

It is a great idea

barrynorman commented 2 years ago

Seems like onDidExecuteCommand could be a possibility after all - VSCode team moved it to a backlog #135616

My friend and I started working on a plugin similar to Key Promoter X. I can share it here once we have a prototype.

As far as I understand it's not possible at the moment to create an extension like Key Promoter X. You would need some hook/listener like onDidExecuteCommand.

I guess the biggest chance is that it will be added to the core, even if onDidExecuteCommand won't be part of the extension API.

QDEMANGE commented 2 years ago

+1

Alttaf commented 2 years ago

+1

YovelB commented 2 years ago

Keep the pressure on VSCode, it should be an integral part of every IDE.