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.
Na implementação do SetSite VSPackage, ligue
QueryService
SVsAppCommandLine para obter a IVsAppCommandLine interface.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.