microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.64k stars 8.32k forks source link

Scenario: The Command Palette #5400

Open zadjii-msft opened 4 years ago

zadjii-msft commented 4 years ago
[Original issue: #2046] [Original Spec: #2193] [v2 Spec: #5674] [Spec Addendum 1: #6532]
TODO for initial PR * [x] The list view items should be clickable * [x] The list should be sorted by weight, then _alphabetically_ * [x] There should be stronger weighting for consecutive chars. Case in point: the `sett` example below * [x] If you click on a list view item, focus enters the list view item, and then you can't hit enter to select it. * [x] tests tests tests tests. * [x] The auto gen names should probably only have the first letter capitalized - I bet if I do that I'll have to revert it during the PR... hmm...

v2.0 Follow-up work

Tasks

Bugs

Related, but indirectly

Backlog work

zadjii-msft commented 4 years ago

Alright, so lets get some teaser images of what's in progress:

MicrosoftTeams-image (8) MicrosoftTeams-image (7) MicrosoftTeams-image (6) MicrosoftTeams-image (5)

This is including the spec changes in review over in #6532.

There's also a shadow on the dialog that the snipping tool is conveniently leaving out.

Don-Vito commented 3 years ago

@zadjii-msft - is there a plan to add a lazy loading for command palette. From my startup profiling, the load adds more than 0.5 sec on startup?

zadjii-msft commented 3 years ago

Not at the moment, but .5s is pretty bad 😬 Maybe we should be! Presumably, we don't need to expand iterable commands before displaying the UI, so that could be done on a background thread, and if the user does super quickly open the cmdpal, then we could wait for that background job to complete. Iterable commands won't have a keybinding set on them, so I'm not worried about that so much.

Out of curiosity, how are you profiling the startup? Are there any other hot paths in our startup that stand out? (Might be best to start a new thread for that discussion though)

Don-Vito commented 3 years ago

Not at the moment, but .5s is pretty bad 😬 Maybe we should be! Presumably, we don't need to expand iterable commands before displaying the UI, so that could be done on a background thread, and if the user does super quickly open the cmdpal, then we could wait for that background job to complete. Iterable commands won't have a keybinding set on them, so I'm not worried about that so much.

Out of curiosity, how are you profiling the startup? Are there any other hot paths in our startup that stand out? (Might be best to start a new thread for that discussion though)

I am using intel's vtune profiler both in usual and kernel events modes. image