microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.54k stars 29k 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.

kebuAAA commented 2 years ago

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

iFission commented 2 years ago

looking forward to have this feature in vscode, like key prompter x in intellij

lobsterkatie commented 1 year ago

@SamTobias - Just a friendly reminder that in general it's better to 👍🏻 the issue description than add a '+1' comment because a) the maintainers actually do pay attention to that count, and b) it saves the other 51 of us from getting our hopes up when we see this issue pop up in our notifications.

EDIT: Comment was removed. Thanks for taking the feedback, @SamTobias! 🙂

ettubrute47 commented 1 year ago

Not sure if good or bad that my desire for something like this has been open and active since 2017...

My feature request is based on the same philosophy of making it easy to learn keybindings, but I have a slightly more aggressive variation. I think it would be good to have an option that specifically stops any commands which have an associated keybinding from being executed if done with the mouse, with a popup telling you the keybinding, so you have to execute the keybinding to actually do it. I think that's the fastest way to learn them.

I was going to look into making an extension, but I figured the ability to hook into the API at such a fundamental level is probably not supported - which I think this thread has pointed out. I don't have experience with buidling vscode extensions but I wonder if supporting a listener for commands that are specifically mapped to keybindings can be a middle-ground option? I know there are extensions which add keybindings and features along with it, so there is some support for keybindings, but if you can make a subset of commands which are 'bindable' and/or are 'binded' have a callback for when they're executed.

I'd love having a method for being able to interrupt those commands but I feel like that level of flexibility could just add a ton of risk to support...

Again not sure on the extension ecosystem, if its easy to support the necessary API's then I think that's the way to go, I think there are enough people that are interested in the keybinding 'game' that some good extensions would come through pretty quickly - I could see something like a 'tracker' for how well each keyboard shortcut is being learned - and maybe even an 'anki' like system for personalizing when keybinding popups are shown - targeting the ones you need to 'practice' the most. Customizing which keybindings you actually care about learning is probably something that'd be cool too - but to me more realistically would fit only in the domain of an extension.

Darkzarich commented 1 year ago

Looking forward to seeing this feature in vscode, would be really cool and productivity-growing 👍

Darkzarich commented 1 year ago

I was trying to make this extension the way it was made for WebStorm and the problem is there is no API for Visual Studio Code extensions to work with mouse events globally. And it was mentioned in this https://github.com/Microsoft/vscode/issues/47239 issue that they do not plan to add API for this. I guess there is nothing we can do for now

alexdeveng commented 1 year ago

I was trying to make this extension the way it was made for WebStorm and the problem is there is no API for Visual Studio Code extensions to work with mouse events globally. And it was mentioned in this #47239 issue that they do not plan to add API for this. I guess there is nothing we can do for now

Thank you for the information

jt3k commented 1 year ago

any updates ?

gsipos commented 1 year ago

I spotted this: https://code.visualstudio.com/updates/v1_75#_commonly-used-section-in-the-command-palette Not exactly a solution, but if you turn on workbench.commandPalette.experimental.suggestCommands then at least you see some potentially useful command+shortcut pairs in the command palette

NnicanBuak commented 1 year ago

+1 It would be enough for me just a notification that you can use a hotkey when I repeatedly perform some action with the mouse and place the button in the notification itself, which no longer reminds me of a particular action with the mouse.

ahmeducf commented 1 year ago

Looking forward to this feature

jt3k commented 1 year ago

any updates ?

howel52 commented 1 year ago

I am also looking forward to such a feature, any updates ?

zhw-rneumann commented 1 year ago

I would love this feature as well, missing it since leaving WebStorm.

Sojborg commented 1 year ago

+1 we need this feature. Rider/webstorm have it via plugins.

riZZZhik commented 1 year ago

Also looking forward for this feature!

supervanya commented 1 year ago

@jrieken I am going to take a crack at adding a "keyboard tutor" to the vscode under an experimental setting. I started digging into the code, currently trying to understand how to architect it and I have a couple of questions, where is the best place for me to ask them?

zhw-rneumann commented 11 months ago

Nice, will you keep us updated here when it's available?

donebd commented 11 months ago

New plugin for this purpose is already released! https://marketplace.visualstudio.com/items?itemName=donebd.vscode-keypromoter

debu999 commented 10 months ago

wow guess its my lucky day. will try the vscode-keypromoter and share feedback may 2017 - dec 2023 quite a journey.