Adicionar itens à caixa de diálogo Adicionar Novo Item
O processo para adicionar itens à caixa de diálogo Adicionar Novo Item começa com as chaves do Registro. Conforme mostrado nas entradas do Registro a seguir, a seção AddItemTemplates contém o caminho e o nome do diretório no qual os itens disponibilizados na caixa de diálogo Adicionar Novo Item são colocados.
Observação
A tabela imediatamente após o segmento de código contém informações adicionais sobre a entrada do Registro.
Esta seção está localizada em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.
O primeiro GUID é o CLSID para projetos desse tipo; o segundo GUID indica o tipo de projeto registrado para os modelos Adicionar Itens:
\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplatesDir\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1
@ = #6
TemplatesDir = \Caminho> de instalação do SDK do Visual Studio\VSIntegration\SomeFolder>\SomePackage>\SomeProject\<<<<<SomeProjectItems>>
SortPriority = dword:00000064
Nome | Tipo | Dados (do arquivo .rgs ) | Descrição |
---|---|---|---|
@ (Padrão) | REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% | ID do recurso para modelos Adicionar Item . |
Val TemplatesDir | REG_SZ | %TEMPLATE_PATH%\<SomeProjectItems> | Caminho dos itens de projeto exibidos na caixa de diálogo do assistente Adicionar Novo Item . |
Val SortPriority | REG_DWORD | 100 (x64) | Determina a ordem de classificação no nó de árvore dos arquivos exibidos na caixa de diálogo Adicionar Novo Item . |
Observação
Os GUIDS para os tipos de projeto Visual C# e Visual Basic são os seguintes:
- Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Visual Basic: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
O diretório listado para TemplatesDir, que é %TEMPLATE_PATH%\<SomeProjectItems>, é o nó no lado esquerdo da árvore da caixa de diálogo Adicionar Novo Item. Elementos adicionais na árvore são baseados no subdiretório dentro desse diretório raiz. Os arquivos disponíveis para serem adicionados ao projeto são os itens no painel direito da caixa de diálogo Adicionar Novo Item .
Normalmente, essa pasta conterá os arquivos de modelo para seu projeto, como um arquivo HTML ou .cpp modelo, e quaisquer arquivos .vsz para iniciar assistentes. Para controlar como os itens são exibidos, você também pode incluir arquivos .vsdir para localizar nomes de diretório e ícones. A cadeia de caracteres localizada é a legenda que aparece na caixa de diálogo que representa esse nó na árvore da caixa de diálogo Adicionar Novo Item .
No entanto, você não precisa ter tudo em um arquivo .vsdir . Você pode ter um arquivo .vsdir para cada item no diretório. Para obter mais informações, consulte Arquivo do assistente (.vsz) e Arquivos de descrição do diretório de modelo (.vsdir).
Observação
Os arquivos .vsdir nos diretórios de modelo são opcionais. Se você quiser apenas colocar um elemento de projeto no diretório e exibi-lo na caixa de diálogo Adicionar Novo Item , poderá colocar esse arquivo no diretório de modelos especificado na instrução TemplatesDir . O arquivo será exibido no painel direito da caixa de diálogo Adicionar Novo Item para esse projeto. No entanto, se desejar exibir uma legenda localizada para o arquivo ou um ícone, você deverá incluir pelo menos um arquivo .vsdir no diretório de modelos.
Agrupar itens de projeto
Se desejar conter grupos de modelos em pastas na árvore da caixa de diálogo Adicionar Novo Item , você deverá ter subdiretórios no diretório do modelo raiz com os itens neles. Quando a caixa de diálogo Adicionar Novo Item for exibida aos usuários, eles também verão as subpastas e poderão selecionar elementos do projeto a partir delas.
A prioridade de classificação no segmento de código determina onde esse diretório de modelo será criado na árvore em relação a outros elementos do nó da árvore. Para a caixa de diálogo Adicionar Novo Item, a prioridade de classificação é tudo o que você deve incluir para que seus itens sejam exibidos no local correto na caixa de diálogo.
Você também pode implementar a IVsFilterAddProjectItemDlg2 interface para filtrar o que é exibido na caixa de diálogo Adicionar Novo Item . Ao implementar essa interface, você pode configurar um diretório de modelo no disco que contém, por exemplo, 50 arquivos de modelo e assistente. Dessa forma, você pode ter diferentes tipos de projeto com 20 arquivos que pertencem a um tipo de projeto, os outros 30 arquivos que pertencem a outro tipo de projeto e todos os arquivos disponíveis em um tipo geral de projeto. Dessa maneira, dependendo de qual modelo de projeto é criado, você pode exibir um conjunto diferente de arquivos de modelo.
Por exemplo, em um projeto do Visual Basic, você pode ter projetos da Web e projetos de cliente. Formulários da Web não são itens úteis para adicionar a um projeto cliente e formulários do Windows não são itens úteis para adicionar a um projeto de servidor Web. Portanto, você pode criar um diretório de modelo que contém todos os arquivos para ambos os tipos de projeto. Em seguida, implementando IVsFilterAddProjectItemDlg2o , você pode ocultar itens que não devem ser exibidos com base no tipo de projeto ou configurações de projeto no projeto.
Filtrar itens de projeto
IVsFilterAddProjectItemDlg2
Fornece filtragem de elementos na árvore (painel esquerdo) e arquivos de projeto (painel direito) das seguintes maneiras:
Pelos nomes localizados (legendas exibidas na caixa de diálogo contida no arquivo .vsdir ) fornecidos pelo
IVsFilterAddProjectItemDlg
.Pelos nomes reais dos arquivos e pastas no disco (não localizados — nenhum arquivo .vsdir ) fornecidos pelo
IVsFilterAddProjectItemDlg
.Por categoria, fornecida por
IVsFilterAddProjectItemDlg2
.Para filtrar por categoria, forneça uma cadeia de caracteres de categoria para um item no arquivo .vsdir, como formulário da Web ou item de cliente no Visual Basic. O código da caixa de diálogo recupera a classificação de categoria do arquivo .vsdir e a passa para você. Em seguida, você pode passar essas informações para sua implementação de para filtrar a caixa de
IVsFilterAddProjectItemDlg2
diálogo Adicionar Novo Item por categorias. Você também pode filtrar itens para páginas da Web ou como casos de aplicativo Win32 cliente. Além disso, você pode identificar itens marcados do Visual C++ como Microsoft Foundation Classes (MFC) ou itens de biblioteca de modelos ativos (ATL). Quando você identifica esses itens, o sistema de projeto pode definir suas próprias classificações para que o sistema possa ser filtrado com base em categorias e classificações.Se você implementar essa funcionalidade de filtro, não será necessário mapear uma tabela de cada item que deve ser oculto. Você pode simplesmente classificar itens em tipos e colocar as classificações no arquivo .vsdir ou arquivos. Em seguida, você pode ocultar qualquer um dos itens que têm uma classificação específica implementando a interface. Dessa forma, você pode tornar os itens na caixa de diálogo Adicionar Novo Item dinâmicos com base no estado dentro do projeto.