Aggiungere opzioni della riga di comando
È possibile aggiungere opzioni della riga di comando applicabili al pacchetto VSPackage quando viene eseguito devenv.exe . Utilizzare ProvideAppCommandLineAttribute per dichiarare il nome dell'opzione e le relative proprietà. In questo esempio, l'opzione MySwitch viene aggiunta per una sottoclasse di VSPackage denominata AddCommandSwitchPackage senza argomenti e con il vsPackage caricato automaticamente.
[ProvideAppCommandLine("MySwitch", typeof(AddCommandSwitchPackage), Arguments = "0", DemandLoad = 1)]
I parametri denominati sono illustrati nelle descrizioni seguenti.
Nome | Descrizione |
---|---|
Argomenti | Numero di argomenti per l'opzione. Può essere "*" o un elenco di argomenti. |
DemandLoad | Caricare automaticamente il pacchetto VSPackage se è impostato su 1, altrimenti impostato su 0. |
Helpstring | Stringa della Guida o ID risorsa della stringa da visualizzare con devenv /?. |
Nome | Opzione. |
PackageGuid | GUID del pacchetto. |
Il primo valore di Arguments è in genere 0 o 1. Un valore speciale di '*' può essere usato per indicare che l'intero resto della riga di comando è l'argomento . Può essere utile per gli scenari di debug in cui un utente deve passare una stringa di comando del debugger.
Il valore DemandLoad è true
(1) o false
(0) indica che il pacchetto VSPackage deve essere caricato automaticamente.
Il valore HelpString è l'ID risorsa della stringa visualizzata in devenv /? Visualizzazione della Guida. Questo valore deve essere nel formato "#nnn" dove nnn è un numero intero. Il valore stringa nel file di risorse deve terminare con un nuovo carattere di riga.
Il valore Name è il nome dell'opzione.
Il valore PackageGuid è il GUID del pacchetto che implementa questa opzione. L'IDE usa questo GUID per trovare il VSPackage nel Registro di sistema a cui si applica l'opzione della riga di comando.
Recuperare le opzioni della riga di comando
Quando il pacchetto viene caricato, è possibile recuperare le opzioni della riga di comando completando i passaggi seguenti.
Nell'implementazione del SetSite pacchetto VSPackage chiamare
QueryService
su SVsAppCommandLine per ottenere l'interfaccia IVsAppCommandLine .Chiamare GetOption per recuperare le opzioni della riga di comando immesse dall'utente.
Il codice seguente mostra come determinare se l'opzione della riga di comando MySwitch è stata immessa dall'utente:
IVsAppCommandLine cmdline = (IVsAppCommandLine)GetService(typeof(SVsAppCommandLine));
int isPresent = 0;
string optionValue = "";
cmdline.GetOption("MySwitch", out isPresent, out optionValue);
È responsabilità dell'utente verificare la presenza delle opzioni della riga di comando ogni volta che il pacchetto viene caricato.