-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Open
Labels
Area-CmdPalCommand Palette issues and featuresCommand Palette issues and featuresArea-CodeHealthIssues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.The new Windows Terminal.
Milestone
Description
Description of the new feature/enhancement
Currently command palette has a single set of UIEelements that present different sets of Commands. This approach has a lot of gaps:
- To support tabs and command lines we need to convert them into Commands. This leads to extra complexity in maintaining model correctness (e.g., every time we reorder tabs we need to fix the relevant command as well).
- The same element reuse for different purposes makes CommandPalette complex (you need to reconfigure the control upon every mode switching). It also causes undesired re-computations.
Proposed technical implementation details (optional)
My plan to achieve it gradually is following:
- Teach CommandPalette model to natively support tabs and command lines #8420 - Introduce
PaletteItemand derive from it to provide a native support for tabs and command lines (ActionPaletteItem/TabPaletteItem,CommandLinePaltteItem) - Bind CommandPalette to Tabs and MRU Tabs collections #8427 -Bind CommandPalette to Terminalpage tabs to prevent costly updates
- Extract FilterablePaletteItemsList control
- Introduce separate FilterablePaletteItemsList for each kind if palette items
- Stretch goal: generalize FilterablePaletteItemsList into filterable list control
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-CmdPalCommand Palette issues and featuresCommand Palette issues and featuresArea-CodeHealthIssues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.The new Windows Terminal.