Hinzufügen von Befehlszeilenoptionen

Sie können Befehlszeilenoptionen hinzufügen, die für Ihr VSPackage gelten, wenn devenv.exe ausgeführt wird. Hiermit deklarieren Sie ProvideAppCommandLineAttribute den Namen der Option und deren Eigenschaften. In diesem Beispiel wird der MySwitch-Switch für eine Unterklasse von VSPackage mit dem Namen "AddCommandSwitchPackage " ohne Argumente und mit dem automatisch geladenen VSPackage hinzugefügt.

[ProvideAppCommandLine("MySwitch", typeof(AddCommandSwitchPackage), Arguments = "0", DemandLoad = 1)]

Die benannten Parameter werden in den folgenden Beschreibungen angezeigt.

Name Beschreibung
Argumente Die Anzahl der Argumente für den Schalter. Kann "*" oder eine Liste von Argumenten sein.
DemandLoad Laden Sie das VSPackage automatisch, wenn dies auf 1 festgelegt ist, andernfalls auf 0.
Helpstring Die Hilfezeichenfolge oder Ressourcen-ID der Zeichenfolge, die mit devenv /?angezeigt werden soll.
Name Der Schalter.
PackageGuid GUID des Pakets

Der erste Wert von Argumenten ist in der Regel 0 oder 1. Ein spezieller Wert von '*' kann verwendet werden, um anzugeben, dass der gesamte Re Standard der der Befehlszeile das Argument ist. Dies kann für Debuggingszenarien hilfreich sein, in denen ein Benutzer eine Debugger-Befehlszeichenfolge übergeben muss.

Der DemandLoad-Wert ist entweder true (1) oder false (0) gibt an, dass das VSPackage automatisch geladen werden soll.

Der HelpString-Wert ist die Ressourcen-ID der Zeichenfolge, die im devenv /? Hilfeanzeige. Dieser Wert sollte sich in der Form "#nnn" befinden, wobei nnn eine ganze Zahl ist. Der Zeichenfolgenwert in der Ressourcendatei sollte in einem neuen Zeilenzeichen enden.

Der Name-Wert ist der Name der Option.

Der PackageGuid-Wert ist die GUID des Pakets, das diesen Switch implementiert. Die IDE verwendet diese GUID, um das VSPackage in der Registrierung zu finden, auf das der Befehlszeilenschalter angewendet wird.

Abrufen von Befehlszeilenoptionen

Wenn Ihr Paket geladen wird, können Sie die Befehlszeilenoptionen abrufen, indem Sie die folgenden Schritte ausführen.

  1. Rufen Sie QueryService in der Implementierung Ihrer VSPackage SetSite aufSVsAppCommandLine, um die IVsAppCommandLine Schnittstelle abzurufen.

  2. Rufen Sie GetOption auf, um die Befehlszeilenoptionen abzurufen, die der Benutzer eingegeben hat.

    Der folgende Code zeigt, wie Sie herausfinden können, ob der Befehlszeilenschalter "MySwitch" vom Benutzer eingegeben wurde:

IVsAppCommandLine cmdline = (IVsAppCommandLine)GetService(typeof(SVsAppCommandLine));

int isPresent = 0;
string optionValue = "";

cmdline.GetOption("MySwitch", out isPresent, out optionValue);

Es liegt in Ihrer Verantwortung, bei jedem Laden des Pakets nach Ihren Befehlszeilenoptionen zu suchen.