Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruikersprompts zijn een eenvoudig UI-mechanisme om de gebruiker te vragen een selectie te maken, een bericht te bevestigen of een invoer voor een tekenreeks met één regel op te geven. Wanneer de gebruiker wordt gevraagd, wordt een dialoogvenster gemaakt met een bericht, een titelbalk, een knop Sluiten en een optioneel pictogram. Wanneer in het dialoogvenster de gebruiker wordt gevraagd uit een set opties te kiezen, bevat het ook een tot drie knoppen voor de keuzen.
Opmerking
De exacte gebruikersinterface die wordt gebruikt om gebruikers te attenderen, kan in toekomstige versies veranderen op basis van gebruikersfeedback of andere factoren.
De gebruikersprompt heeft twee varianten: optieprompts en invoerprompts.
Veelvoorkomende voorbeelden van keuzeprompts vragen om bevestiging met een ok- of annuleringsprompt, of de gebruiker vragen een kleine set opties te kiezen (niet meer dan drie).
De opties die aan de gebruiker worden gepresenteerd, zijn gekoppeld aan terugkerende waarden van het type dat is gedefinieerd in de TResult
typeparameter.
Gebruik een invoerprompt om de gebruiker te vragen een tekenreeksinvoer met één regel op te geven, zoals een projectnaam.
De gebruiker heeft altijd de mogelijkheid om de prompt te sluiten zonder een selectie te maken.
Onderdelen van een gebruikersprompt
- Bericht
- Keuzeknoppen
- Knop Sluiten
Aan de slag
Volg de stappen in Uw eerste Visual Studio-extensie maken om aan de slag te gaan.
Werken met gebruikersprompts
In dit artikel worden de volgende scenario's beschreven voor het werken met gebruikersprompts:
Een gebruikersprompt weergeven
Het maken van een gebruikersprompt met het nieuwe Extensibility-model is net zo eenvoudig als het aanroepen van de ShowPromptAsync
methode vanuit de ShellExtensibility-helpers en het doorgeven van uw opties.
ShellExtensibility.ShowPromptAsync()
De methode ShowPromptAsync
heeft drie parameters:
Kenmerk | Typologie | Verplicht | Beschrijving |
---|---|---|---|
message |
string |
Ja | De tekst van het bericht voor de prompt. |
options |
PromptOptions<TResult> |
Ja | Definieert de gebruikerskeuzes en koppelt deze aan terugkeerwaarden. |
cancellationToken |
CancellationToken |
Ja | De CancellationToken voor de asynchrone bewerking. Wanneer deze wordt geactiveerd, wordt de prompt geforceerd gesloten. |
Voorbeeld
De volgende code in een Command
bericht toont een gebruikersprompt met een eenvoudig bericht en een knop OK .
public override async Task ExecuteCommandAsync(IClientContext context, CancellationToken cancellationToken)
{
await this.Extensibility.Shell().ShowPromptAsync("This is a user prompt.", PromptOptions.OK, cancellationToken))
}
Ingebouwde opties gebruiken
Er zijn verschillende sets vooraf gedefinieerd PromptOptions
beschikbaar in de SDK.
OK
Keuze | Verstek | Retourwaarde |
---|---|---|
OK- | Ja | true |
sluiten | false |
OK Annuleren
Keuze | Verstek | Retourwaarde |
---|---|---|
OK- | Ja | true |
annuleren | Nee. | false |
sluiten | false |
Opnieuw proberenCancel
Keuze | Verstek | Retourwaarde |
---|---|---|
Opnieuw proberen | Ja | true |
annuleren | Nee. | false |
sluiten | false |
Bevestigingen met pictogram
Keuze | Verstek | Retourwaarde |
---|---|---|
OK- | Ja | true |
sluiten | false |
Optie | Icoon |
---|---|
ErrorConfirm |
ImageMoniker.KnownValues.StatusError |
WarningConfirm |
ImageMoniker.KnownValues.StatusWarning |
AlertConfirm |
ImageMoniker.KnownValues.StatusAlert |
InformationConfirm |
ImageMoniker.KnownValues.StatusInformation |
HelpConfirm |
ImageMoniker.KnownValues.StatusConfirm |
Voorbeeld
Maak een prompt met één OK-keuze .
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;
}
...
}
Als de gebruiker OK selecteert, retourneert ShowPromptAsync
true
wanneer erop gewacht wordt. Als de gebruiker de knop Sluiten selecteert, wordt er false
geretourneerd.
De standaardkeuze van een ingebouwde optie wijzigen om te annuleren
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;
}
...
}
Een prompt maken met aangepaste opties
U kunt ook de opties aanpassen die aan de gebruiker worden gepresenteerd en de geretourneerde waarde die aan elke waarde is toegewezen.
In plaats van de in PromptOptions
gedefinieerde sets te gebruiken, maakt u een nieuw exemplaar van PromptOptions<TResult>
aan en geeft u dit door aan ShowPromptAsync
.
Voorbeeld
Begin met het maken van een waardetype om de retourwaarden te definiëren:
public enum TokenThemeResult
{
None,
Solarized,
OneDark,
GruvBox,
}
Maak vervolgens het PromptOptions<TResult>
exemplaar en geef het door aan
ShowPromptAsync
samen met de vereiste message
argumenten.cancellationToken
Pas de titel en het pictogram aan door de Title
en Icon
eigenschappen in te stellen.
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}");
}
De Choices
verzameling wijst de gebruikerskeuzes toe aan waarden in de aangepaste Systems
opsomming. Als de gebruiker de knop Sluiten selecteert, DismissedReturns
stelt u de geretourneerde waarde in.
DefaultChoiceIndex
is een op nul gebaseerde index in de Choices
verzameling die de standaardkeuze definieert.
Een invoerprompt maken
string? projectName = await shell.ShowPromptAsync(
"Enter the name of the project to configure?",
InputPromptOptions.Default with { Title = "Configuration Assistant" },
cancellationToken);
Naast aangepaste pictogrammen, zoals keuzeprompts, ondersteunen invoerprompts ook een standaardwaarde. Stel de DefaultText
eigenschap in op het InputPromptOptions
exemplaar.
Als de gebruiker de knop Annuleren selecteert, de Sluiten knop om af te sluiten, of de Esc-toets, is de retourwaarde null
.
Als de gebruiker de invoer leeg laat en de knop OK of enter selecteert, is de retourwaarde de lege tekenreeks.
Anders is de retourwaarde de inhoud van de invoer wanneer de gebruiker de vermelding bevestigt.
Verwante inhoud
In de volgende voorbeelden ziet u hoe u met gebruikersprompts kunt werken: