Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um arquivo de descrição de diretório de modelo (.vsdir) é um arquivo de texto que permite que o ambiente de desenvolvimento integrado (IDE) exiba pastas, arquivos .vsz do assistente e arquivos de modelo associados ao seu projeto em caixas de diálogo. O conteúdo inclui um registro por arquivo ou pasta. Todos os arquivos .vsdir em um local referenciado são mesclados, embora apenas um arquivo .vsdir seja geralmente fornecido para descrever várias pastas, assistentes ou arquivos de modelo.
Pastas (subdiretórios), arquivos referenciados no arquivo .vsdir e o próprio arquivo .vsdir estão todos localizados no mesmo diretório. Quando o IDE executa um assistente ou exibe uma pasta ou arquivo nas caixas de diálogo Novo Projeto ou Adicionar Novo Item , o IDE examina o diretório que contém os arquivos executados para determinar se um arquivo .vsdir está presente. Se um arquivo .vsdir for encontrado, o IDE o lê para determinar se ele contém uma entrada para a pasta ou arquivo executado ou exibido. Se uma entrada for encontrada, o IDE usará as informações na execução do assistente ou na exibição do conteúdo.
O exemplo de código a seguir é do arquivo SourceFiles.vsdir na chave de registo <EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems\Source_Files.
HeaderFile.h|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#125|130|#126|0|0|0|#127
SourceFile.cpp|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#122|110|#123|0|0|0|#124
Neste caso, dois registros estão em um arquivo. Uma nova linha (caractere de retorno de carro) separa cada registro. Cada linha representa um tipo de arquivo diferente. Um caractere pipe (|) separa os campos em cada registro. Um único diretório pode conter vários arquivos .vsdir com nomes de arquivo diferentes, ou você pode ter um arquivo .vsdir para cada tipo de arquivo.
Campos
A tabela a seguir lista os campos especificados para cada registro.
| Campo | Description |
|---|---|
| Nome do caminho relativo (RelPathName) | O nome da pasta, modelo ou arquivo .vsz, como HeaderFile.h ou MyWizard.vsz. Este campo também pode ser um nome usado para representar uma pasta. |
| {clsidPackage} | O GUID do VSPackage que permite o acesso a cadeias de caracteres localizadas, como LocalizedName, Description, IconResourceId e SuggestedBaseName, nos recursos de biblioteca de vínculo dinâmico (DLL) de satélite do VSPackage. IconResourceId se aplica se DLLPath não for fornecido. Observação: Este campo é opcional, a menos que um ou mais dos campos anteriores seja um identificador de recurso. Este campo normalmente está em branco para arquivos .vsdir que correspondem a assistentes de terceiros que não localizam seu texto. |
| LocalizedName | O nome localizado do arquivo de modelo ou assistente. Este campo pode ser uma cadeia de caracteres ou um identificador de recurso do formulário "#ResID". Esse nome é exibido na caixa de diálogo Adicionar Novo Item . Observação: Se LocalizedName for um identificador de recurso, {clsidPackage} será necessário. |
| OrdemPrioridade | Um inteiro que representa a prioridade relativa deste arquivo de modelo ou assistente. Por exemplo, se esse item tiver um valor de 1, esse item será exibido ao lado de outros itens com um valor de 1 e à frente de todos os itens com um valor de classificação de 2 ou maior. A prioridade de classificação é relativa aos itens no mesmo diretório. Pode haver mais de um arquivo .vsdir no mesmo diretório. Nesse caso, os itens de todos os arquivos .vsdir nesse diretório são mesclados. Os itens com a mesma prioridade são listados na ordem lexicográfica do nome exibido sem diferenciação de maiúsculas e minúsculas. A _wcsicmp função é usada para ordenar os itens.Os itens não descritos nos arquivos .vsdir incluem um número de prioridade maior do que o número de prioridade mais alto listado nos arquivos .vsdir. O resultado é que esses itens estão no final da lista exibida, independentemente do nome. |
| Description | A descrição localizada do arquivo de modelo ou assistente. Este campo pode ser uma cadeia de caracteres ou um identificador de recurso do formulário "#ResID". Essa cadeia de caracteres aparece na caixa de diálogo Novo Projeto ou Adicionar Novo Item quando o item é selecionado. |
| DLLPath ou {clsidPackage} | Usado para carregar um ícone para o arquivo de modelo ou assistente. O ícone é carregado como um recurso de um arquivo .dll ou .exe usando o IconResourceId. Esse arquivo .dll ou .exe pode ser identificado usando um caminho completo ou usando um GUID de um VSPackage. A DLL de implementação do VSPackage é usada para carregar o ícone (não a DLL satélite). |
| IconResourceId | O identificador de recurso na DLL ou na DLL de implementação do VSPackage que determina qual ícone deve ser exibido. |
| Bandeiras (__VSDIRFLAGS) | Usado para desabilitar ou habilitar os campos Nome e Local na caixa de diálogo Adicionar Novo Item . O valor do campo Sinalizadores é o equivalente decimal da combinação de sinalizadores de bits necessários. Quando um usuário seleciona um item na guia Novo , o projeto determina se o campo Nome e o campo Localização são mostrados quando a caixa de diálogo Adicionar Novo Item é exibida pela primeira vez. Um item, por meio de um arquivo .vsdir, pode controlar somente se os campos estão habilitados ou desabilitados quando o item é selecionado. |
| SuggestedBaseName | Representa o nome predefinido do arquivo, assistente ou modelo. Este campo é uma cadeia de caracteres ou um identificador de recurso do formulário "#ResID". O IDE usa esse valor para fornecer um nome padrão para o item. Esse valor base é acrescentado com um valor inteiro para tornar o nome exclusivo, como MyFile21.asp. Na lista anterior, Description, DLLPath, IconResourceId, Flags e SuggestedBaseNumber aplicam-se apenas a arquivos de modelo e assistente. Estes campos não se aplicam a pastas. Esse facto é ilustrado no código do arquivo BscPrjProjectItems na chave de registo <EnvSDK>\BscPrj\BscPrj\BscPrjProjectItems. Esse arquivo contém três registros (um para cada pasta) com quatro campos para cada registro: RelPathName, {clsidPackage}, LocalizedName e SortPriority. General|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#110|100Source_Files|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#111|110Env|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#112|120 |
Ao criar um arquivo de assistente, você também deve considerar os seguintes problemas.
Qualquer campo não obrigatório para o qual não haja dados significativos deve conter um 0 (zero) como espaço reservado.
Se nenhum nome localizado for fornecido, o nome do caminho relativo será usado no arquivo do assistente.
DLLPath sobrepõe clsidPackage como a localização do ícone.
Se nenhum ícone for definido, o IDE substituirá o ícone padrão por um arquivo que tenha essa extensão.
Se nenhum nome base sugerido for fornecido, 'Projeto' será usado.
Se você excluir os arquivos, pastas ou arquivos de modelo .vsz, também deverá remover seus registros associados do arquivo .vsdir.