Sdílet prostřednictvím


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ů.

  1. V implementaci SetSite balíčku VSPackage zavolejte QueryService SVsAppCommandLine , abyste získali IVsAppCommandLine rozhraní.

  2. 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.