Closed
Description
Extensions can contribute commands to the command palette, editor menus, and the explorer context menu. In addition, commands can be bound to keyboard shortcuts.
The extension details view should give users a way to better understand the contributions an extensions makes and if those contributions cause conflicts with core VS Code keyboard shortcuts or with keyboard shortcuts used by other installed extensions.
Metadata
Metadata
Assignees
Labels
Type
Projects
Relationships
Development
No branches or pull requests
Activity
joaomoreno commentedon Aug 15, 2016
configuration
- Display a list of the config property names.commands
- Display a list of the command ids.menus
- Show a table of the menu labels and context associated with the commands. Maybe combine with thecommands
table.keybindings
- Show a table of the keybindings associated with the commands. Maybe combine with thecommands
table.languages
- Show a table of language ids and file extensions.debuggers
- Show a list of the debuggers' labels.grammars
- Maybe combine with thelanguages
table?themes
- Show a list of the themes' names.snippets
- Show whether a language has snippets or not. Maybe combine with thelanguages
table.jsonValidation
- Show a list of file matches.joaomoreno commentedon Aug 15, 2016
Maybe each section can be implemented...
using...
the details tag!
joaomoreno commentedon Aug 25, 2016
Displaying of contributions is ✅ .
cc @egamma @kieferrm
Conflicts are much harder. While an extension provides a keybinding with a given context, I can't unequivocally say that it will or won't conflict with another existing keybinding that has a different context. The same keybinding might come from two extensions and act in mutually exclusive contexts, thus never conflicting.
Unless there's something @alexandrudima knows and I don't, I suggest to push the conflicts out of this plan item.
alexdima commentedon Aug 26, 2016
I have a mini "SMT solver" in there, that's why I kept the language constrained to have only
&&
. I can prove if one keybinding item absolutely overwrites another keybinding item.https://github.com/Microsoft/vscode/blob/a3493c75934a67ddadff71818ab8f7201eeb0fbf/src/vs/platform/keybinding/common/keybindingResolver.ts#L205
joaomoreno commentedon Aug 26, 2016
Pretty cool, I'll give it a try.
joaomoreno commentedon Aug 26, 2016
@alexandrudima Any pointers on how to get a hold of all registered keybindings along with their configured
when
clause?joaomoreno commentedon Aug 29, 2016
Decided to remove the conflicts out of this plan item.