Repository navigation
Labels
Issue-FeatureA planned feature addition to a productA planned feature addition to a productNeeds-SpecSomething needs additional alignment/thought on how we'll implement functionalllySomething needs additional alignment/thought on how we'll implement functionalllyProduct-Command PaletteRefers to the Command Palette utilityRefers to the Command Palette utility
Milestone
Description
Description of the new feature / enhancement
Commands should be able to specify that they require additional parameters before they can be run.
Prototypes:
A button that opens a custom picker from the extension

Scenario when this would be used?
This would be an infinitely better "lightweight" parameter passing, rather than force a whole adaptive card for like, one field.
Supporting information
draft spec:
enum ParameterType
{
Text,
Enum,
Custom
};
// interface IArgumentEnumValue requires INotifyPropChanged
// {
// String Name { get; };
// IIconInfo Icon { get; };
// }
interface ICommandArgument requires INotifyPropChanged
{
ParameterType Type { get; };
String Name { get; };
Boolean Required{ get; };
Object Value { get; set; };
String DisplayName { get; };
IIconInfo Icon { get; };
void ShowPicker(UInt64 hostHwnd);
// todo
// IArgumentEnumValue[] GetValues();
};
interface IInvokableCommandWithParameters requires ICommand {
ICommandArgument[] Parameters { get; };
ICommandResult InvokeWithArgs(Object sender, ICommandArgument[] args);
};There are however a LOT of considerations here.
- Should an extension be able to specify where in the
Titlethe parameter lives? So that we show the args inline with the list item, rather than the search bar? - Should a page be able to accept parameters, and then be able to use that to filter it's list of commands itself?
- What do we do about
CommandContextItem's? By all accounts, they supportICommands too.- And we can't just make this a property on IListItem, because we actually want top-level commands to support these too
Reacted by Jiří Polášek
Metadata
Metadata
Assignees
Labels
Issue-FeatureA planned feature addition to a productA planned feature addition to a productNeeds-SpecSomething needs additional alignment/thought on how we'll implement functionalllySomething needs additional alignment/thought on how we'll implement functionalllyProduct-Command PaletteRefers to the Command Palette utilityRefers to the Command Palette utility
Type
Projects
- StatusShow more project fieldsDone

Activity
zadjii commentedon Aug 3, 2025
Draft branch in. That started in one place, and has gone in a bunch of places now.dev/migrie/f/invokable-params-experimentsEDIT: that branch is very old, and I went in a different direction with it.
zadjii-msft commentedon Aug 14, 2025
Oh I FINALLY figured it out. Watch this, from 7:20, and play it at probably .5 speed or slower
https://youtu.be/cGhGL29yegI?si=iDbbv_33zR5jWPuJ&t=440
The command with parameters isn't inline at all. You hit enter on it, and that takes you to a different kind of page. There are no other results. The whole search is cleared out, and replaced with
Some special ${format} string.So like, we could have the parameters just be tokens inline with text. I got a plan
zadjii-msft commentedon Oct 10, 2025
Current branch is:
dev/migrie/s/token-search-page. The spec I'm looking for is here: spec.hackathon25-parameters-000.mp4
Code itself is dirty hackathon code, and it doesn't look pretty, but I mean, it does work.
ChaseKnowlden commentedon Apr 9, 2026
I'm working on this issue right now.
CmdPal: Add support for pages with parameters (redux) (microsoft#47826)