Přidání přepínačů příkazového řádku
Můžete přidat přepínače příkazového řádku, které platí pro VSPackage při spuštění devenv.exe . Slouží ProvideAppCommandLineAttribute k deklaraci názvu přepínače a jeho vlastností. V tomto příkladu je přepínač MySwitch přidán pro podtřídu VSPackage s názvem AddCommandSwitchPackage bez argumentů a s VSPackage načten automaticky.
[ProvideAppCommandLine("MySwitch", typeof(AddCommandSwitchPackage), Arguments = "0", DemandLoad = 1)]
Pojmenované parametry jsou uvedeny v následujících popisech.
Název | Popis |
---|---|
Argumenty | Počet argumentů přepínače. Může to být *nebo seznam argumentů. |
DemandLoad | Pokud je balíček VSPackage nastavený na hodnotu 1, načtěte ho automaticky, jinak je nastaveno na hodnotu 0. |
HelpString | Řetězec nápovědy nebo ID prostředku řetězce, které se mají zobrazit pomocí funkce devenv /?. |
Název | Přepínač. |
PackageGuid | Identifikátor GUID balíčku. |
První hodnota argumentů je obvykle 0 nebo 1. Speciální hodnotu *lze použít k označení, že celý zbytek příkazového řádku je argument. To může být užitečné pro scénáře ladění, kdy uživatel musí předat řetězec příkazu ladicího programu.
Hodnota DemandLoad je true
buď (1) nebo false
(0), označuje, že balíček VSPackage by se měl načíst automaticky.
Hodnota HelpString je ID prostředku řetězce, který se zobrazí v objektu devenv /? Zobrazení nápovědy Tato hodnota by měla být ve tvaru "#nnn", kde nnn je celé číslo. Hodnota řetězce v souboru prostředků by měla končit novým znakem řádku.
Hodnota Název je název přepínače.
Hodnota PackageGuid je identifikátor GUID balíčku, který implementuje tento přepínač. Integrované vývojové prostředí (IDE) používá tento identifikátor GUID k vyhledání balíčku VSPackage v registru, na který se vztahuje přepínač příkazového řádku.
Načtení přepínačů příkazového řádku
Po načtení balíčku můžete načíst přepínače příkazového řádku provedením následujících kroků.
V implementaci SetSite balíčku VSPackage zavolejte
QueryService
SVsAppCommandLine , abyste získali IVsAppCommandLine rozhraní.Volání GetOption pro načtení přepínačů příkazového řádku, které uživatel zadal.
Následující kód ukazuje, jak zjistit, jestli uživatel zadal přepínač příkazového řádku MySwitch:
IVsAppCommandLine cmdline = (IVsAppCommandLine)GetService(typeof(SVsAppCommandLine));
int isPresent = 0;
string optionValue = "";
cmdline.GetOption("MySwitch", out isPresent, out optionValue);
Je vaší zodpovědností kontrolovat přepínače příkazového řádku při každém načtení balíčku.