Criação de tabela de comando XML (.Arquivos de VSCT)
Um arquivo de tabela (.vsct) do comando XML descreve o layout e aparência dos itens de comando para um VSPackage. Itens de comando incluem caixas de combinação, botões, menus, barras de ferramentas e grupos de itens do comando. Este tópico descreve os arquivos de tabela do comando XML, como elas afetam os menus e itens de comando e como criá-los.
Comandos, Menus, grupos e o arquivo de .vsct
.VSCT arquivos são organizados em torno de comandos, menus e grupos de comando. As marcas XML no arquivo .vsct representam cada um desses itens, juntamente com outros itens associados, como botões de comando, o posicionamento de comando e bitmaps.
Quando você cria um novo VSPackage executando o Visual Studio o modelo de pacote, o modelo gera um arquivo de .vsct com os elementos necessários para um comando de menu, a janela da ferramenta ou o editor personalizado, dependendo de suas seleções. Este arquivo de .vsct pode ser modificado para atender aos requisitos de um VSPackage específico. Para obter exemplos de como modificar um arquivo de .vsct, consulte os exemplos Explicações passo a passo para comandos, Menus e barras de ferramentas.
Para criar um arquivo de .vsct de novo e em branco, consulte Como: criar um.Arquivo VSCT. Uma vez criado, adicione elementos XML, atributos e valores no arquivo para descrever o layout do item de comando. Para um esquema XML detalhado, consulte o Referência de esquema XML VSCT.
Diferenças entre arquivos de .ctc e .vsct
Enquanto o significado por trás as marcas XML em um arquivo de .vsct é os mesmos, como aquelas em que o agora desaprovado .ctc formato de arquivo, sua implementação é um pouco diferente.
O novo <extern> marca é onde você faz referência a outros arquivos. h para serem compilados, tais como aqueles para o Visual Studio barra de ferramentas.
Enquanto o suporte a arquivos do .vsct a /include de instrução, como arquivos de .ctc, ele também apresenta um novo <import> elemento. A diferença é, /include traz em todos os das informações, mas <import> traz em apenas os nomes.
Enquanto os arquivos de .ctc requerem um arquivo de cabeçalho, na qual você define diretivas de pré-processamento, um não é necessário para arquivos de .vsct. Em vez disso, colocar suas diretivas na tabela de símbolo, localizada na <Symbol> elementos, localizados na parte inferior do arquivo .vsct.
recurso de arquivos de .vsct um <Annotation> marca, que lhe permite incorporar qualquer informação que você gosta, como anotações ou até mesmo as imagens.
Valores são armazenados como atributos do item.
Sinalizadores de comando podem ser armazenadas individualmente ou empilhados. O IntelliSense, no entanto, não funciona em sinalizadores do comando empilhadas. Para obter mais informações sobre sinalizadores de comando, consulte a Elemento de sinalizador de comando.
Você pode especificar vários tipos, como, por exemplo, menus suspensos de divisão, combos, etc.
GUIDs não validar.
Cada elemento de interface do usuário tem uma seqüência de caracteres que representa o texto que é exibido com ele.
Pai é opcional. Se omitido, o valor "Grupo desconhecido" é usado.
O argumento do ícone é opcional.
A seção de bitmap--O mesmo que um .ctc de arquivo, exceto que agora você pode especificar um nome de arquivo via href will be pulled pelo compilador vsct.exe em tempo de compilação.
ResID – a identificação do recurso bitmap antigo pode ser usada e ainda funciona da mesma como nos arquivos de .ctc.
HRef – um novo método que permite que você especifique um nome de arquivo para o recurso de bitmap. Ele assume que todos são usados, assim você pode omitir a seção usada. O compilador irá primeiro procurar recursos locais para o arquivo, em seguida, em qualquer compartilhamento de rede e quaisquer recursos definidos pelo parâmetro /i.
KeyBinding – Você não precisa especificar um emulador. Se for especificado, o compilador presumirá que o editor e o emulador são os mesmos.
Keychord – foi descartada. O novo formato é Key1, Mod1, Key2, Mod2. Você pode especificar um caractere, hexadecimal ou constante VK.
O novo compilador, vsct.exe, compila os arquivos de .ctc e .vsct. O compilador ctc antigo, no entanto, não reconhecer nem compilar arquivos de .vsct.
Você pode usar o compilador vsct.exe para converter um arquivo de .cto existente em um arquivo de .vsct. Para obter mais informações, consulte Como: criar um.Arquivo de VSCT de uma já existente.Arquivo do CTO.
O arquivo de elementos de .vstc
A tabela de comando tem a hierarquia e os elementos a seguir:
Elemento de CommandTable— Representa todos os comandos, grupos de menus e menus associados com o VSPackage.
Elemento extern— Faz referência a quaisquer arquivos. h externos que você deseja mesclar com o arquivo .vstc.
Incluir elemento— Faz referência a quaisquer arquivos de cabeçalho adicional (. h) que você deseja compilar juntamente com o arquivo your.vstc. Um arquivo de .vstc pode incluir arquivos. h, que contém constantes que definem os comandos, grupos de menus e menus que o IDE ou outro VSPackage fornece.
Elemento de comandos— Representa todos os comandos individuais que podem ser executados. Cada comando possui os seguintes elementos de quatro filhos:
Elemento de menus— Representa todos os menus e barras de ferramentas no VSPackage. Menus são recipientes para grupos de comandos.
Elemento de grupos— Representa todos os grupos em que o VSPackage. Os grupos são coleções de comandos individuais.
Elemento de botões— Representa todos os itens de menu no VSPackage e botões de comando. Os botões são controles visuais que podem ser associados a comandos.
Elemento de bitmaps— Representa todos os bitmaps para todos os botões no VSPackage. Bitmaps são imagens que são exibidas ao lado ou nos botões de comando, dependendo do contexto.
Elemento de CommandPlacements— Indica a outros locais onde os comandos individuais devem ser situados nos menus de seu VSPackage.
Elemento de VisibilityConstraints— Especifica se ou não um comando em todos os exibe vezes ou apenas em determinados contextos, como, por exemplo, quando uma janela ou caixa de diálogo específica é exibida. Menus e comandos que tenham um valor para esse elemento serão exibido somente quando o contexto especificado estiver ativo. O comportamento padrão é exibir o comando em todos os momentos.
Elemento KeyBindings— Especifica quaisquer acoplamentos de teclas para os comandos. Ou seja, um ou mais combinações de teclas que devem ser pressionadas para executar o comando, como CTRL + S.
Elemento de UsedCommands— Informa a Visual Studio ambiente que, embora o comando especificado é implementado por outro código, quando o VSPackage atual estiver ativo, ele fornece a implementação de comando.
Symbols Element— Contém os nomes de símbolo e os IDs de GUID para todos os seus comandos no pacote.
.Diretrizes de Design do arquivo VSCT
A criação de um arquivo de .vsct com êxito, siga estas diretrizes.
Comandos podem ser colocados apenas em grupos, grupos podem ser colocados somente nos menus e menus podem ser colocados apenas em grupos. Na verdade, apenas menus são exibidas no IDE, grupos e comandos não estão.
Submenus não podem ser atribuídos diretamente a um menu, mas devem ser atribuídos a um grupo, que por sua vez é atribuído a um menu.
Comandos, submenus e grupos podem ser atribuídos a uma elevação de nível grupo ou menu usando o campo pai da sua diretiva de definição.
Organizar uma tabela de comando unicamente através dos campos de pai as diretivas tem uma limitação significativa. As diretivas que definem objetos podem levar um argumento apenas um pai.
Reutilização de comandos, grupos ou submenus requer o uso de uma nova diretiva para criar uma nova instância do objeto com seu próprio GUID:ID par.
Cada GUID:ID par deve ser exclusivo. Reutilizar um comando que, por exemplo, foi colocado em um menu, barra de ferramentas, ou em um menu de contexto, é tratado pelo IOleCommandTarget interface.
Comandos e submenus também podem ser atribuídas a vários grupos e grupos podem ser atribuídos a vários menus usando o Elemento de comandos.
.Observações do arquivo VSCT
Se você fizer alguma alteração em um arquivo de .vsct após tanto compilá-lo e colocá-lo em uma DLL de satélite nativo, você deve executar devenv.exe /setup /nosetupvstemplates. Isso força os recursos de VSPackage especificados no registro para ser reler experimental e o banco de dados interno que descreve Visual Studio ser reconstruído.
Durante o desenvolvimento, é possível que vários projetos VSPackage seja criado e registrado no hive do registro experimental que pode levar a bagunça confusa no IDE. Para corrigir isso, você pode redefinir o hive experimental para as configurações padrão para remover VSPackages registrados todas e quaisquer alterações que fez o IDE. Para redefinir o hive experimental, use a ferramenta de vsregex.exe que vem com o SDK do Visual Studio. Essa ferramenta está localizada na pasta tools\bin ou tools\bin\x86 da pasta VisualStudioIntegration (por exemplo, C:\Program Files\Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Bin\vsregexe.exe). Execute a ferramenta usando a linha de comando vsregex GetOrig 10.0 Exp onde 10.0 é a versão do Visual Studio que você está usando, e Exp é o sufixo acrescentado à versão para ir para a seção de registro experimental em HKEY_CURRENT_USER.
Lembre-se de que a ferramenta vsregex.exe remove o hive experimental VSPackages tudo registrados não é normalmente instalados com o Visual Studio.
Consulte também
Conceitos
Outros recursos
Command Table Configuration (.ctc) Files