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.
Quando você cria um novo tipo de projeto, você deve criar entradas do Registro que permitem que o Visual Studio reconheça e trabalhe com seu tipo de projeto. Normalmente, você cria essas entradas do Registro usando um arquivo de script do Registro (.rgs).
No exemplo abaixo, as instruções do Registro fornecem caminhos e dados padrão quando aplicável, seguidos por uma tabela que contém entradas do script do Registro para cada instrução. As tabelas fornecem as entradas de script e informações adicionais sobre os comandos.
Observação
As seguintes informações de registo destinam-se a ser um exemplo do tipo e finalidades das entradas nos scripts de registo que irá escrever para registar o seu tipo de projeto. Suas entradas reais e seus usos podem variar com base nos requisitos específicos do seu tipo de projeto. Você deve revisar os exemplos disponíveis para encontrar um que se assemelhe muito ao tipo de projeto que você está desenvolvendo e, em seguida, revise o script do Registro para esse exemplo.
Os exemplos a seguir são de HKEY_CLASSES_ROOT.
Exemplo 1
\.figp
@="FigPrjFile"
"Content Type"="text/plain"
\.figp\ShellNew
"NullFile"=""
\FigPrjFile
@="Figure Project File"
\DefaultIcon
@="<Visual Studio SDK installation path>\\9.0VSIntegration\\SomeFolder\\FigPkgs\\FigPrj\\Debug\\FigPrj.dll,-206"
\shell\open
@="&Open in Visual Studio"
\shell\open\command
@="devenv.exe \"%1\""
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ |
REG_SZ | FigPrjFile |
Nome e descrição dos arquivos de tipo de projeto que têm a extensão .figp. |
Content Type |
REG_SZ | Text/plain |
Tipo de conteúdo para os arquivos de projeto. |
NullFile |
REG_SZ | Null |
|
@ |
REG_SZ | %MODULE%,-206 |
Ícone padrão usado para projeto desse tipo. A instrução %MODULE% é concluída no registo para definir o local padrão da DLL do tipo de projeto. |
@ |
REG_SZ | &Open in Visual Studio |
Aplicativo padrão no qual este tipo de projeto será aberto. |
@ |
REG_SZ | devenv.exe "%1" |
Comando padrão que será executado quando um projeto desse tipo for aberto. |
Os exemplos a seguir são de HKEY_LOCAL_MACHINE e estão localizados no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\99.0Exp\Packages].
Exemplo 2
\{ACEF4EB2-57CF-11D2-96F4-000000000000} (The CLSID for the VSPackage)
@="FigPrj Project Package"
"InprocServer32"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\ Debug\\FigPrj.dll"
"CompanyName"="Microsoft"
"ProductName"="Figure Project Sample"
"ProductVersion"="9.0"
"MinEdition"="professional"
"ID"=dword:00000001
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\SatelliteDLL
"DllName"="FigPrjUI.dll"
"Path"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\Debug\\"
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\Automation
"FigProjects"=""
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\AutomationEvents
"FigProjectsEvents"="Returns the FigProjectsEvents Object"
"FigProjectItemsEvents"="Returns the FigProjectItemsEvents Object"
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ (Predefinição) |
REG_SZ | FigPrj Project VSPackage |
Nome localizável deste VSPackage registrado (tipo de projeto). |
InprocServer32 |
REG_SZ | %MODULE% |
Caminho do tipo de projeto DLL. A IDE carrega esta DLL e passa o VSPackage CLSID para DllGetClassObject para que IClassFactory construa o objeto IVsPackage. |
CompanyName |
REG_SZ | Microsoft |
Nome da empresa que desenvolveu o tipo de projeto. |
ProductName |
REG_SZ | Figure Project Sample |
Nome para o tipo de projeto. |
ProductVersion |
REG_SZ | 9.0 |
Número da versão do lançamento do tipo de projeto. |
MinEdition |
REG_SZ | professional |
Edição do VSPackage em fase de registo. |
ID |
REG_DWORD | %IDS_PACKAGE_LOAD_KEY% |
A chave de carregamento do pacote para o projeto VSPackage. A chave é validada quando um projeto é carregado após o início do ambiente. |
DllName |
REG_SZ | %RESOURCE_DLL% |
Nome do arquivo da DLL satélite que contém recursos localizados para o tipo de projeto. |
Path |
REG_SZ | %RESOURCE_PATH% |
Caminho da DLL satélite. |
FigProjectsEvents |
REG_SZ | Consulte a declaração para obter o valor. | Determina a cadeia de caracteres de texto retornada para esse evento de automação. |
FigProjectItemsEvents |
REG_SZ | Consulte a declaração para obter o valor. | Determina a cadeia de caracteres de texto retornada para esse evento de automação. |
Todos os exemplos a seguir estão localizados no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Exemplo 3
\{C061DB26-5833-11D2-96F5-000000000000} (The CLSID for projects of this type)
@="FigPrj Project"
"DisplayName"="#2"
"Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
"ProjectTemplatesDir"="C:\\Program Files\\VSIP 9.0\\EnvSDK\\FigPkgs\\ FigPrj\\FigPrjProjects"
"ItemTemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\ FigPrjProjectItems"
"DisplayProjectFileExtensions"="#3"
"PossibleProjectExtensions"="figp"
"DefaultProjectExtension"=".figp"
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\1 (Folder 1 contains settings for Open Files filters.)
@="#4"
"CommonOpenFilesFilter"=dword:00000000
"CommonFindFilesFilter"=dword:00000000
"NotAddExistingItemFilter"=dword:00000000
"FindInFilesFilter"=dword:00000000
"NotOpenFileFilter"=dword:00000000
"SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\2
(Folder 2 contains settings for Find in Files filters.)
@="#5"
"CommonOpenFilesFilter"=dword:00000000
"CommonFindFilesFilter"=dword:00000000
"NotAddExistingItemFilter"=dword:00000001
"FindInFilesFilter"=dword:00000001
"NotOpenFileFilter"=dword:00000000
"SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (Second GUID indicates the registered project type for the Add Items templates.)
@="#6"
"TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\ FigPrjProjectItems"
"SortPriority"=dword:00000064
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ |
REG_SZ | FigPrj Project |
Nome padrão de projetos desse tipo. |
DisplayName |
REG_SZ | #%IDS_PROJECT_TYPE% |
ID do recurso para o nome a ser obtido da DLL satélite registada em Pacotes. |
Package |
REG_SZ | %CLSID_Package% |
ID de classe do VSPackage registado nos Pacotes. |
ProjectTemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Caminho padrão dos arquivos de modelo de projeto. Estes são os arquivos exibidos pelo modelo New Project. |
ItemTemplatesDir |
REG_SZ | %TEMPLATE_PATH% \FigPrjProjectItems |
Caminho predefinido dos ficheiros de modelo de item de projeto. Estes são os arquivos exibidos pelo modelo Adicionar Novo Item. |
DisplayProjectFileExtensions |
REG_SZ | #%IDS_DISPLAY_PROJ_FILE_EXT% |
Permite que o IDE implemente a caixa de diálogo Abrir . |
PossibleProjectExtensions |
REG_SZ | figp |
Usado pelo IDE para determinar se o projeto que está sendo aberto é tratado por esse tipo de projeto (fábrica do projeto). O formato de mais de uma entrada é uma lista delimitada por ponto-e-vírgula. Por exemplo "vdproj; VDP". |
DefaultProjectExtension |
REG_SZ | .figp |
Usado pelo IDE como a extensão de nome de arquivo padrão para a operação Salvar como. |
Filter Settings |
REG_DWORD | Vários, ver declarações e comentários na tabela a seguir. | Essas configurações são usadas para definir os vários filtros para exibir arquivos em caixas de diálogo da interface do usuário. |
@ |
REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% |
ID do recurso para os modelos de Adicionar Itens. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjectItems |
Caminho dos itens de projeto exibidos na caixa de diálogo para o modelo Adicionar Novo Item . |
SortPriority |
REG_DWORD | 100 (vcprx64) |
Determina a ordem de classificação no nó da árvore dos arquivos exibidos na caixa de diálogo Adicionar Novo Item . |
A tabela a seguir mostra as opções de Filtros disponíveis no segmento de código anterior.
| Opção de filtragem | Description |
|---|---|
CommonFindFilesFilter |
Indica que o filtro é um dos filtros comuns na caixa de diálogo Localizar em arquivos . Os filtros comuns são listados na lista de filtros antes dos filtros não marcados como comuns. |
CommonOpenFilesFilter |
Indica que o filtro é um dos filtros comuns na caixa de diálogo Abrir arquivo . Os filtros comuns são listados na lista de filtros antes dos filtros não marcados como comuns. |
FindInFilesFilter |
Indica que o filtro será um dos filtros na caixa de diálogo Localizar em arquivos e será listado após os filtros comuns. |
NotOpenFileFilter |
Indica que o filtro não será usado na caixa de diálogo Abrir arquivo . |
NotAddExistingItemFilter |
Indica que o filtro não será usado na caixa de diálogo Adicionar Item Existente . |
Por padrão, se um filtro não tiver um ou mais desses sinalizadores definidos, o filtro será usado na caixa de diálogo Adicionar Item Existente e na caixa de diálogo Abrir Arquivo depois que os filtros comuns forem listados. O filtro não é usado na caixa de diálogo Localizar em arquivos .
Todos os exemplos a seguir estão localizados no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Exemplo 4
{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4} (The CLSID for Enterprise Projects)
\{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (CLSID for projects of this type)
@="#7"
"TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPrj\\FigPrjProjects"
"SortPriority"=dword:00000029
"NewProjectDialogOnly"=dword:00000000
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ |
REG_SZ | #%IDS_NEWPROJ_ TEMPLATES_ENTRY% |
ID de recurso para modelos de Novo Projeto. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Caminho padrão para projetos do tipo de projeto registrado. |
SortPriority |
REG_DWORD | 41 (x29) |
Configura a ordem de classificação dos projetos exibidos na caixa de diálogo do assistente de Novos Projetos. |
NewProjectDialogOnly |
REG_DWORD | 0 |
0 indica que projetos desse tipo são exibidos somente na caixa de diálogo Novo Projeto. |
Todos os exemplos a seguir estão localizados no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Exemplo 5
\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3} (CLSID for Miscellaneous Files projects)
@="Miscellaneous Files Project"
\AddItemTemplates\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1
(CLSID for Figures Project projects)
@="#6"
"TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\ FigPrjProjectItems"
"SortPriority"=dword:00000064
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ |
REG_SZ | Nenhum | Valor padrão que indica que as entradas seguintes são para entradas de projeto do Miscellaneous Files. |
@ |
REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% |
Valor de ID de recurso para os arquivos de modelo Adicionar Novos Itens. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjectItems |
Caminho padrão dos itens que serão exibidos na caixa de diálogo Adicionar Novo Item . |
SortPriority |
REG_DWORD | 100 (vcprx64) |
Estabelece a ordem de classificação para exibição no nó da árvore da caixa de diálogo Adicionar Novo Item . |
O exemplo a seguir está localizado no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Menus].
Exemplo 6
"{ACEF4EB2-57CF-11D2-96F4-000000000000}"=",1000,1"
A entrada do menu aponta o IDE para o recurso usado para recuperar as informações do menu. Quando esses dados tiverem sido mesclados no banco de dados de menu, a mesma chave será adicionada na seção MenusMerged do registro. O VSPackage não deve modificar nada na seção MenusMerged diretamente. No campo Dados da tabela a seguir, há três campos separados por vírgula. O primeiro campo identifica um caminho completo de um arquivo de recurso de menu:
Se o primeiro campo for omitido, o recurso de menu é carregado a partir da DLL satélite identificada pelo GUID VSPackage.
O segundo campo identifica um ID de recurso de menu do tipo CTMENU:
Se o ID do recurso for especificado e o caminho do arquivo for fornecido pelo primeiro parâmetro, um recurso de menu será carregado a partir do caminho do arquivo completo.
Se o ID do recurso for fornecido, mas o caminho do arquivo não for, o recurso do menu será carregado a partir de uma DLL de satélite.
Se o caminho completo do arquivo for fornecido e a ID do recurso omitida, espera-se que o arquivo a ser carregado seja um arquivo CTO.
O último campo identifica o número da versão do recurso CTMENU. Você pode mesclar o menu novamente alterando o número da versão.
| Nome | Tipo | Data | Description |
|---|---|---|---|
| %CLSID_Package% | REG_SZ | ,1000,1 |
O recurso para recuperar as informações do menu. |
Todos os exemplos a seguir estão localizados no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\NewProjectTemplates].
\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (CLSID for Figures Project projects)
@="#7"
"TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\FigPrjProjects"
"SortPriority"=dword:00000029
"NewProjectDialogOnly"=dword:00000000
| Nome | Tipo | Data | Description |
|---|---|---|---|
@ |
REG_SZ | #%IDS_NEWPROJ_TEMPLATES_ENTRY% |
Valor de ID de recurso para os modelos de Novo Projeto de Figuras. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Caminho padrão do diretório Novos Projetos. Os itens neste diretório serão exibidos na caixa de diálogo do Assistente de Novo Projeto. |
SortPriority |
REG_DWORD | 41 (x29) |
Estabelece a ordem em que os projetos serão exibidos no nó da árvore da caixa de diálogo Novo Projeto . |
NewProjectDialogOnly |
REG_DWORD | 0 |
0 indica que projetos desse tipo são exibidos somente na caixa de diálogo Novo Projeto . |
O exemplo a seguir está localizado no registro sob a chave [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\InstalledProducts].
\FiguresProductSample
"Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
"UseInterface"=dword:00000001
| Nome | Tipo | Data | Description |
|---|---|---|---|
Package |
REG_SZ | %CLSID_Package% |
ID de classe do VSPackage registrado. |
UseInterface |
REG_DWORD | 1 |
1 indica que a interface do usuário será usada para interagir com este projeto. 0 indica que não há interface de utilizador. |
Os arquivos .vsz que controlam novos tipos de projeto freqüentemente contêm uma entrada RELATIVE_PATH. Esse caminho é relativo ao caminho especificado na entrada \ProductDir do tipo de projeto na seguinte chave de instalação:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup
Por exemplo, os modelos de projeto do Enterprise Frameworks adicionam as seguintes entradas do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup\EF\ProductDir = C:\Ficheiros de Programas\Microsoft Visual Studio\EnterpriseFrameworks\
Isso significa que, se você incluir uma entrada PROJECT_TYPE=EF no arquivo .vsz, o ambiente localizará seus arquivos .vsz no diretório ProductDir especificado anteriormente.