Compartilhar via


Adicionar opções de linha de comando

Você pode adicionar opções de linha de comando que se aplicam ao VSPackage quando o devenv.exe é executado. Use ProvideAppCommandLineAttribute para declarar o nome da opção e suas propriedades. Neste exemplo, a opção MySwitch é adicionada para uma subclasse de VSPackage chamada AddCommandSwitchPackage sem argumentos e com o VSPackage carregado automaticamente.

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

Os parâmetros nomeados são mostrados nas descrições a seguir.

Nome Descrição
Argumentos O número de argumentos para a opção. Pode ser "*", ou uma lista de argumentos.
DemandLoad Carregue o VSPackage automaticamente se isso estiver definido como 1, caso contrário, defina como 0.
Cadeia de Ajuda A cadeia de caracteres de ajuda ou ID de recurso da cadeia de caracteres a ser exibida com devenv /?.
Nome A mudança.
PackageGuid O GUID do pacote.

O primeiro valor de Argumentos é geralmente 0 ou 1. Um valor especial de '*' pode ser usado para indicar que todo o restante da linha de comando é o argumento. Isso pode ser útil para cenários de depuração em que um usuário deve passar uma cadeia de caracteres de comando do depurador.

O valor DemandLoad é true (1) ou false (0) indica que o VSPackage deve ser carregado automaticamente.

O valor HelpString é a ID do recurso da cadeia de caracteres que aparece no devenv /? Exibição da Ajuda. Esse valor deve estar no formato "#nnn", onde nnn é um inteiro. O valor da cadeia de caracteres no arquivo de recurso deve terminar em um novo caractere de linha.

O valor Name é o nome da opção.

O valor PackageGuid é o GUID do pacote que implementa essa opção. O IDE usa esse GUID para localizar o VSPackage no registro ao qual a opção de linha de comando se aplica.

Recuperar opções de linha de comando

Quando o pacote é carregado, você pode recuperar as opções de linha de comando concluindo as etapas a seguir.

  1. Na implementação do SetSite VSPackage, ligue QueryService SVsAppCommandLine para obter a IVsAppCommandLine interface.

  2. Chamada GetOption para recuperar as opções de linha de comando que o usuário inseriu.

    O código a seguir mostra como descobrir se a opção de linha de comando MySwitch foi inserida pelo usuário:

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

int isPresent = 0;
string optionValue = "";

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

É sua responsabilidade verificar suas opções de linha de comando cada vez que seu pacote é carregado.