microsoft/vscode

Add keymaps the top-level Preferences menu

kieferrm opened this issue ยท 9 comments

Add keymaps the top-level Preferences menu

@sandy081 FYI: I've added a Keymaps entry to the Preferences menu, the command palette and the extension viewlet's context menu. When a keymap extension is installed and another keymap extension is still enabled the user is asked if the old keymap extension should be disabled.

Thanks for letting me know. I will update it in our standup today.

@chrmarti Keymaps action is not showing any key map extensions. Is it because the keymaps category is not yet available in Market place? And are there plans to get this available in this milestone?

@chrmarti I talked about this addition in the stand up today and there was some feedback from the team.

Why can't be implemented / shown as how themes are shown?
What are the recommended key maps?

Mentioning @Microsoft/vscode to provide direct feedback.

IMO, this should be implemented the same way as the themes. Keymaps should not be mutually exclusive, in terms of extension enablement: it should just be that the user picks with some UI like the theme switcher.

Also, we want to go away from curated lists of extensions. Introducing a keymapExtensionTips section in our product.json is the wrong way to go. Isn't there a category or keyword we can search for in the Marketplace to find all keymaps? The theme picker presents an option to find more themes in the Marketplace and queries it with category:themes. Shouldn't we do the same here?

There is a category:keymaps, but that list can quickly grow beyond what we want to offer a new user. That's why we use a curated list.

We've discussed the picker as an alternative, but went the Extension viewlet's route to start with.

A curated list will increase our maintenance overhead and make it hard for newcomers to be seen. The problem of having too many extensions is solved by sorting the results by popularity, which is the default anyway.

Extension disablement is a heavy-weight action: it requires a workbench reload. At the same time, I don't think it should be used as an implementation detail for what is basically an option picker. We should be consistent with icons and themes here instead of introducing a new concept.

@joaomoreno ๐Ÿ‘ for not introducing another curated list. Sorting all "keymap" extensions by popularity will likely yield very similar results.

Removing the curated list depends on having a better sorting criteria for extensions (#16156). On using a picker instead of the extensions viewlet without having to reload the workbench: This can't currently be done with extensions and would either need that as a depending feature or be done without extensions which would make everything baked-in which isn't the direction we want to take. Closing for November.