Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felhasználói kérések egy egyszerű felhasználói felületi mechanizmus, amely arra kéri a felhasználót, hogy válasszon, erősítse meg az üzenetet, vagy adjon meg egy egysoros sztringbemenetet. A felhasználó kérése párbeszédpanelt hoz létre egy üzenettel, egy címsorral, egy Bezárás gombbal és egy opcionális ikonnal. Amikor a párbeszédpanel arra kéri a felhasználót, hogy válasszon egy beállításkészlet közül, az egy-három gombot is tartalmaz a választási lehetőségekhez.
Megjegyzés:
A felhasználók kéréséhez használt pontos felhasználói felület a felhasználói visszajelzések vagy egyéb tényezők alapján változhat a jövőbeli verziókban.
A felhasználói kérésnek két változata van: a beállításkérések és a bemeneti kérések.
A beállításkérések gyakori példái az OK vagy a Mégse kéréssel történő megerősítés kérése, vagy ha a felhasználót arra kéri, hogy válasszon egy kis beállításkészlet közül (legfeljebb három).
A felhasználó számára megjelenített lehetőségek a típusparaméterben TResult
meghatározott típusú értékek visszaadására vannak leképezve.
Ha meg szeretné kérni a felhasználót, hogy adjon meg egy egysoros sztringbemenetet, például egy projektnevet, használjon bemeneti kérést.
A felhasználónak mindig lehetősége van arra, hogy kijelölés nélkül zárja be a kérést.
Felhasználói kérés részei
- Üzenet
- Választási lehetőségek gombjai
- Bezárás gomb
Kezdj hozzá
Első lépésként kövesse az első Visual Studio-bővítmény létrehozása című szakasz lépéseit.
Felhasználói felhívások
Ez a cikk a következő forgatókönyveket ismerteti a felhasználói kérések használatával kapcsolatban:
- Felhasználói kérés megjelenítése
- Beépített beállítások használata
- Kérés létrehozása egyéni beállításokkal
Felhasználói kérés megjelenítése
A felhasználói kérések létrehozása az új bővíthetőségi modellel olyan egyszerű, mint meghívni a ShowPromptAsync
metódust a ShellExtensibility segítőitől, és megadni a beállításokat.
ShellExtensibility.ShowPromptAsync()
A ShowPromptAsync
metódus három paramétert használ:
Paraméter | típus | Kötelező | Leírás |
---|---|---|---|
message |
string |
Igen | A kérés üzenetének szövege. |
options |
PromptOptions<TResult> |
Igen | Meghatározza a felhasználói lehetőségeket, és leképezi őket visszatérési értékekre. |
cancellationToken |
CancellationToken |
Igen | Az aszinkron művelet CancellationToken azonosítója. Ha aktiválódik, kényszerítve bezárják a felugró ablakot. |
példa
Az alábbi kód egy Command
egyszerű üzenettel és egy OK gombbal jeleníti meg a felhasználói kérést.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
await this.Extensibility.Shell().ShowPromptAsync("This is a user prompt.", PromptOptions.OK, cancellationToken))
}
Beépített beállítások használata
Az SDK-ban számos előre definiált PromptOptions
készlet érhető el.
OKÉ
Választás | Alapértelmezett | Visszaadott érték |
---|---|---|
OKÉ | Igen | true |
Bezár | false |
OKCancel
Választás | Alapértelmezett | Visszaadott érték |
---|---|---|
OKÉ | Igen | true |
Mégse | Nem | false |
Bezár | false |
ÚjraMégse
Választás | Alapértelmezett | Visszaadott érték |
---|---|---|
Újrapróbálkozás | Igen | true |
Mégse | Nem | false |
Bezár | false |
Megerősítések ikonnal
Választás | Alapértelmezett | Visszaadott érték |
---|---|---|
OKÉ | Igen | true |
Bezár | false |
Lehetőség | Ikon |
---|---|
ErrorConfirm |
ImageMoniker.KnownValues.StatusError |
WarningConfirm |
ImageMoniker.KnownValues.StatusWarning |
AlertConfirm |
ImageMoniker.KnownValues.StatusAlert |
InformationConfirm |
ImageMoniker.KnownValues.StatusInformation |
HelpConfirm |
ImageMoniker.KnownValues.StatusConfirm |
példa
Hozzon létre egy parancssort egyetlen OK beállítással.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken ct)
{
// Asking the user to confirm an operation.
if (!await this.Extensibility.Shell().ShowPromptAsync("Continue with executing the command?", PromptOptions.OKCancel, ct))
{
return;
}
...
}
Ha a felhasználó az OK lehetőséget választja, ShowPromptAsync
visszatér true
, amikor várakozik. Ha a felhasználó a Bezárás gombot választja, az eredményül ad false
vissza.
Az alapértelmezett választás módosítása egy beépített opció esetén a visszavonásra
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken ct)
{
// Asking the user to confirm an operation.
if (!await this.Extensibility.Shell().ShowPromptAsync("Continue with executing the command?", PromptOptions.OKCancel.WithCancelAsDefault(), ct))
{
return;
}
...
}
Kérés létrehozása egyéni beállításokkal
Testre is szabhatja a felhasználónak megjelenített választási lehetőségeket és az egyesre leképezett visszatérési értéket.
A definiált PromptOptions
készletek használata helyett hozzon létre egy új példányt a(z) PromptOptions<TResult>
-ből, és adja át a(z) ShowPromptAsync
-nek.
példa
Először hozzon létre egy értéktípust a visszatérési értékek definiálásához:
public enum TokenThemeResult
{
None,
Solarized,
OneDark,
GruvBox,
}
Ezután hozza létre a PromptOptions<TResult>
példányt, és adja át.
ShowPromptAsync
a szükséges argumentumokkal message
és cancellationToken
együtt.
A cím és az ikon testreszabása a Title
és Icon
tulajdonságok beállításával.
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken ct)
{
// Custom prompt
Systems selectedSystem = await shell.ShowPromptAsync(
"Select the system to configure:",
new PromptOptions<Systems>
{
Choices =
{
{ "Core", Systems.CoreSystem },
{ "Auxiliary", Systems.AuxiliarySystem },
{ "Monitoring", Systems.MonitoringSystem },
},
DismissedReturns = Systems.CoreSystem,
DefaultChoiceIndex = 2
Title = "Configuration Assistant",
Icon = ImageMoniker.KnownValues.Settings,
},
cancellationToken);
Debug.WriteLine($"Selected system: {selectedSystem}");
}
A Choices
gyűjtemény a felhasználói választásokat az egyéni Systems
enum értékeire képezi le. Ha a felhasználó a Bezárás gombot választja, DismissedReturns
állítsa be a visszaadott értéket.
DefaultChoiceIndex
egy nulla alapú index a Choices
gyűjteményben, amely meghatározza az alapértelmezett választást.
Beviteli kérés létrehozása
string? projectName = await shell.ShowPromptAsync(
"Enter the name of the project to configure?",
InputPromptOptions.Default with { Title = "Configuration Assistant" },
cancellationToken);
Az egyéni ikonok, például a választási lehetőségek mellett a bemeneti kérések is támogatják az alapértelmezett értéket. Állítsa be a DefaultText
tulajdonságot a InputPromptOptions
példányon.
Ha a felhasználó a Mégse gombra, a Bezárás gombra vagy az Esc billentyűre kattint, a visszatérési érték null
lesz.
Ha a felhasználó üresen hagyja a bemenetet, és az OK gombot vagy az Enter billentyűt választja, a visszatérési érték az üres sztring.
Ellenkező esetben a visszatérési érték a bemenet tartalma, amikor a felhasználó megerősíti a bejegyzést.
Kapcsolódó tartalom
Az alábbi minták bemutatják, hogyan dolgozzunk a felhasználói kérésekkel.