Criar um arquivo .vsct
Há várias maneiras de criar um arquivo de configuração de tabela de comando (.vsct) baseado em XML.
Você pode criar um novo VSPackage no modelo de pacote do Visual Studio.
Você pode usar o compilador de configuração de tabela de comandos baseado em XML, Vsct.exe, para gerar um arquivo a partir de um arquivo .ctc existente.
Você pode usar o Vsct.exe para gerar um arquivo .vsct a partir de um arquivo .cto existente.
Você pode criar manualmente um novo arquivo .vsct .
Este artigo explica como criar manualmente um novo arquivo .vsct .
Para criar manualmente um novo arquivo .vsct
Inicie o Visual Studio.
No menu Arquivo , aponte para Novoe clique em Arquivo.
No painel Modelos, clique em Arquivo XML e, em seguida, clique em Abrir.
No menu Exibir, clique em Propriedades para exibir as propriedades do arquivo XML.
Na janela Propriedades, clique no botão Procurar na propriedade Esquemas.
Na lista de esquemas XSD, selecione o esquema vsct.xsd . Se não estiver na lista, clique em Adicionar e localize o arquivo em uma unidade local. Clique em OK quando tiver terminado.
No arquivo XML, digite <CommandTable e pressione Tab. Feche a tag digitando >.
Essa ação cria um arquivo .vsct básico.
Preencha os elementos do arquivo XML que você deseja adicionar, de acordo com a referência de esquema XML VSCT. Para obter mais informações, consulte Criar arquivos .vsct.
Criar um arquivo .vsct a partir de um arquivo .ctc existente
Você pode criar um arquivo .vsct baseado em XML a partir de um arquivo de origem .ctc da tabela de comandos existente. Fazendo isso, você pode aproveitar o novo formato de compilador VSCT (tabela de comandos) do Visual Studio baseado em XML.
Para criar um arquivo .vsct a partir de um arquivo .ctc
Obtenha uma cópia da linguagem Perl.
Obtenha uma cópia do script Perl ConvertCTCToVSCT.pl, normalmente localizado na< pasta Visual Studio SDK installation path>\VisualStudioIntegration\Tools\bin.
Obtenha uma cópia do arquivo de origem .ctc que você deseja converter.
Coloque os arquivos no mesmo diretório.
Na janela do prompt de comando do Visual Studio, navegue até o diretório.
Tipo
perl.exe ConvertCTCtoVSCT.pl PkgCmd.ctc PkgCmd.vsct
onde PkgCmd.ctc é o nome do arquivo .ctc e PkgCmd.vsct é o nome do arquivo .vsct que você deseja criar.
Essa ação cria um novo arquivo de origem da tabela de comandos XML .vsct . Você pode compilar o arquivo usando Vsct.exe, o compilador VSCT, como faria com qualquer outro arquivo .vsct .
Observação
Você pode melhorar a legibilidade do arquivo .vsct reformatando os comentários XML.
Criar um arquivo .vsct a partir de um arquivo .cto existente
Você pode criar um arquivo .vsct baseado em XML a partir de um arquivo .cto binário existente. Isso permite que você aproveite o novo formato de compilador de tabela de comandos. Esse processo funciona mesmo se o arquivo .cto foi compilado de um arquivo .ctc . Você pode editar e compilar o arquivo .vsct em outro arquivo .cto.
Para criar um arquivo .vsct a partir de um arquivo .cto
Obtenha cópias do arquivo .cto e seu arquivo .ctsym correspondente.
Coloque os arquivos no mesmo diretório que o compilador vsct.exe .
No prompt de comando do Visual Studio, vá para o diretório que contém os arquivos .cto e .ctsym .
Tipo
vsct.exe <ctofilename>.cto <vsctfilename>.vsct -S<symfilename>.ctsym
onde <ctofilename é o nome do arquivo .cto, <vsctfilename é o nome do arquivo .vsct que você deseja criar e <symfilename>>> é o nome do arquivo .ctsym.
Esse processo cria um novo arquivo de compilador de tabela de comandos XML .vsct . Você pode editar e compilar o arquivo com vsct.exe, o compilador vsct, como faria com qualquer outro arquivo .vsct.
Compilar o código
A simples adição de um arquivo .vsct a um projeto não faz com que ele seja compilado. Você deve incorporá-lo no processo de compilação.
Para adicionar um arquivo .vsct à compilação do projeto
Abra o arquivo de projeto no editor. Se o projeto for carregado, você deverá descarregá-lo primeiro.
Adicione um elemento ItemGroup que contenha um
VSCTCompile
elemento , conforme mostrado no exemplo a seguir.<ItemGroup> <VSCTCompile Include="TopLevelMenu.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
O
ResourceName
elemento deve sempre ser definido comoMenus.ctmenu
.Se o projeto contiver um arquivo .resx, adicione um elemento que contenha um
MergeWithCTO
EmbeddedResource
elemento , conforme mostrado no exemplo a seguir:<EmbeddedResource Include="VSPackage.resx"> <MergeWithCTO>true</MergeWithCTO> <ManifestResourceName>VSPackage</ManifestResourceName> </EmbeddedResource>
Essa marcação deve ir para dentro do
ItemGroup
elemento que contém recursos incorporados.Abra o arquivo de pacote, geralmente chamado <ProjectName Package.cs ou< ProjectName>>Package.vb, no editor.
Adicione um
ProvideMenuResource
atributo à classe de pacote, conforme mostrado no exemplo a seguir.[ProvideMenuResource("Menus.ctmenu", 1)]
O primeiro valor de parâmetro deve corresponder ao
ResourceName
valor do atributo definido no arquivo de projeto.