Open SteveL-MSFT opened 1 year ago
The location awareness for history should not be applied globally, but should only be applied to the selected commands.
For commands like git
, it usually has strong association with the folder where it runs in, so history about it should be location aware.
However, there are many other commands that have less or none association with the location where it runs in, such as azure commands, postman, dumpbin, and a lot more. For those command, history entries about them should always be presented to users, regardless of which folder they were executed in previously.
So, it's probably safer not enable folder awareness in history prediction by default, but allow user's configuration on this -- a user can say I want history prediction to apply location awareness to git
command only.
Supporting this will require moving to database for storing history entries. A lot of thoughts need to be put into the user experience.
@SteveL-MSFT @daxian-dbw Regarding my Q in discussions: #3634 is it all covered in this item and in #3380 ? 10x.
@iksi4prs I believe the feature in this issue would resolve those two issues
@SteveL-MSFT , Thank you for your answer. @daxian-dbw referred me to some example implementation of CommandPredictor. I think what I want to achieve, can be done via my own custom CommandPredictor, but I see that PSSubsystemPluginModel (which from what I understand is required for CommandPredictor) is experimental. (https://learn.microsoft.com/en-us/powershell/scripting/learn/experimental-features?view=powershell-7.3) Do you have any timeline/due date, to decide if this moves from status of "experimental" to removed/mainstream ? I don't want to put some effort, and see it is removed in 7.5 (like PSNativePSPathResolution was removed in 7.3) Or maybe I can vote for it with some examples ?
Prerequisites
Description of the new feature/enhancement
Include the current location (working directory) as part of history so that predictions based on history would show commands used from that location previously. If nothing is found, then fallback to current strategy.
Example:
Proposed technical implementation details (optional)
No response