Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia nowego typu projektu należy utworzyć wpisy rejestru, które umożliwiają programowi Visual Studio rozpoznawanie i pracę z typem projektu. Zazwyczaj te wpisy rejestru tworzy się przy użyciu pliku skryptu rejestru (.rgs).
W poniższym przykładzie instrukcje z rejestru zawierają domyślne ścieżki i dane, jeśli ma to zastosowanie, a następnie tabelę zawierającą wpisy ze skryptu rejestru dla każdej instrukcji. Tabele zawierają wpisy skryptu i dodatkowe informacje o instrukcjach.
Uwaga / Notatka
Poniższe informacje rejestru mają być przykładem typu i celów wpisów w skryptach rejestru, które będą zapisywane w celu zarejestrowania typu projektu. Rzeczywiste wpisy i ich zastosowania mogą się różnić w zależności od konkretnych wymagań typu projektu. Przejrzyj dostępne przykłady, aby znaleźć ten, który dokładnie przypomina typ opracowywanego projektu, a następnie przejrzyj skrypt rejestru dla tego przykładu.
Poniższe przykłady pochodzą z HKEY_CLASSES_ROOT.
Przykład 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\""
| Name | Typ | Dane | Description |
|---|---|---|---|
@ |
REG_SZ | FigPrjFile |
Nazwa i opis plików typu projektu, które mają rozszerzenie .figp. |
Content Type |
REG_SZ | Text/plain |
Typ zawartości dla plików projektu. |
NullFile |
REG_SZ | Null |
|
@ |
REG_SZ | %MODULE%,-206 |
Domyślna ikona używana dla projektu tego typu. Instrukcja %MODULE% zostaje zapisana w rejestrze w domyślnej lokalizacji biblioteki DLL dla typu projektu. |
@ |
REG_SZ | &Open in Visual Studio |
Domyślna aplikacja, w której ten typ projektu zostanie otwarty. |
@ |
REG_SZ | devenv.exe "%1" |
Domyślne polecenie, które będzie uruchamiane po otwarciu projektu tego typu. |
Poniższe przykłady pochodzą z HKEY_LOCAL_MACHINE i znajdują się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\99.0Exp\Packages].
Przykład 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"
| Name | Typ | Dane | Description |
|---|---|---|---|
@ (Ustawienie domyślne) |
REG_SZ | FigPrj Project VSPackage |
Lokalizowalna nazwa tego zarejestrowanego pakietu VSPackage (typ projektu). |
InprocServer32 |
REG_SZ | %MODULE% |
Ścieżka biblioteki DLL typu projektu. Środowisko IDE ładuje tę bibliotekę DLL i przekazuje identyfikator CLSID pakietu VSPackage do DllGetClassObject, aby IClassFactory mógł skonstruować obiekt IVsPackage. |
CompanyName |
REG_SZ | Microsoft |
Nazwa firmy, która opracowała typ projektu. |
ProductName |
REG_SZ | Figure Project Sample |
Nazwa typu projektu. |
ProductVersion |
REG_SZ | 9.0 |
Numer wersji typu wydania projektu. |
MinEdition |
REG_SZ | professional |
Edycja zarejestrowanego pakietu VSPackage. |
ID |
REG_DWORD | %IDS_PACKAGE_LOAD_KEY% |
Klucz ładowania pakietu dla pakietu VSPackage projektu. Klucz jest weryfikowany po załadowaniu projektu po uruchomieniu środowiska. |
DllName |
REG_SZ | %RESOURCE_DLL% |
Nazwa pliku satelitarnej biblioteki DLL zawierającej zlokalizowane zasoby dla typu projektu. |
Path |
REG_SZ | %RESOURCE_PATH% |
Ścieżka satelitarnej biblioteki DLL. |
FigProjectsEvents |
REG_SZ | Zobacz oświadczenie, aby uzyskać wartość. | Określa ciąg tekstowy zwracany dla tego zdarzenia automatyzacji. |
FigProjectItemsEvents |
REG_SZ | Zobacz oświadczenie, aby uzyskać wartość. | Określa ciąg tekstowy zwracany dla tego zdarzenia automatyzacji. |
Wszystkie poniższe przykłady znajdują się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Przykład 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
| Name | Typ | Dane | Description |
|---|---|---|---|
@ |
REG_SZ | FigPrj Project |
Domyślna nazwa projektów tego typu. |
DisplayName |
REG_SZ | #%IDS_PROJECT_TYPE% |
Identyfikator zasobu nazwy do pobrania z satelitarnej biblioteki DLL zarejestrowanej w obszarze Pakiety. |
Package |
REG_SZ | %CLSID_Package% |
Identyfikator klasy pakietu VSPackage zarejestrowanego w obszarze Pakiety. |
ProjectTemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Domyślna ścieżka plików szablonu projektu. Są to pliki wyświetlane przez szablon Nowy projekt. |
ItemTemplatesDir |
REG_SZ | %TEMPLATE_PATH% \FigPrjProjectItems |
Domyślna ścieżka plików szablonu elementu projektu. Są to pliki wyświetlane przez szablon Dodaj nowy element. |
DisplayProjectFileExtensions |
REG_SZ | #%IDS_DISPLAY_PROJ_FILE_EXT% |
Umożliwia środowisku IDE zaimplementowanie okna dialogowego Otwieranie . |
PossibleProjectExtensions |
REG_SZ | figp |
Używany przez środowisko IDE do określenia, czy otwarty projekt jest obsługiwany przez ten typ projektu (fabryka projektów). Format dla więcej niż jednego wpisu to rozdzielana średnikami lista. Na przykład "vdproj; vdp". |
DefaultProjectExtension |
REG_SZ | .figp |
Używany przez środowisko IDE jako domyślne rozszerzenie nazwy pliku dla operacji Zapisz jako. |
Filter Settings |
REG_DWORD | Różne, zobacz oświadczenia i komentarze za tabelą. | Te ustawienia służą do ustawiania różnych filtrów do wyświetlania plików w oknach dialogowych interfejsu użytkownika. |
@ |
REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% |
Identyfikator zasobu dla szablonów dodawania elementów. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjectItems |
Ścieżka elementów projektu wyświetlanych w oknie dialogowym dla szablonu Dodaj nowy element . |
SortPriority |
REG_DWORD | 100 (vcprx64) |
Określa kolejność sortowania w węźle drzewa plików wyświetlanych w oknie dialogowym Dodawanie nowego elementu . |
W poniższej tabeli przedstawiono opcje Filtry dostępne w poprzednim segmencie kodu.
| Opcja filtru | Description |
|---|---|
CommonFindFilesFilter |
Wskazuje, że filtr jest jednym z typowych filtrów w oknie dialogowym Znajdowanie w plikach . Typowe filtry są wymienione na liście filtrów przed filtrami niemającymi oznaczenia jako typowe. |
CommonOpenFilesFilter |
Wskazuje, że filtr jest jednym z typowych filtrów w oknie dialogowym Otwieranie pliku . Typowe filtry są wyświetlane na liście filtrów przed filtrami, które nie są oznaczone jako typowe. |
FindInFilesFilter |
Wskazuje, że filtr będzie jednym z filtrów w oknie dialogowym Znajdowanie w plikach i zostanie wyświetlony po typowych filtrach. |
NotOpenFileFilter |
Wskazuje, że filtr nie będzie używany w oknie dialogowym Otwieranie pliku . |
NotAddExistingItemFilter |
Wskazuje, że filtr nie będzie używany w oknie dialogowym Dodawanie istniejącego elementu . |
Domyślnie jeśli filtr nie ma co najmniej jednej z tych flag, filtr jest używany w oknie dialogowym Dodawanie istniejącego elementu i oknie dialogowym Otwieranie pliku po wyświetleniu typowych filtrów. Filtr nie jest używany w oknie dialogowym Znajdowanie w plikach .
Wszystkie poniższe przykłady znajdują się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Przykład 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
| Name | Typ | Dane | Description |
|---|---|---|---|
@ |
REG_SZ | #%IDS_NEWPROJ_ TEMPLATES_ENTRY% |
Identyfikator zasobu dla nowych szablonów projektów. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Domyślna ścieżka dla projektów zarejestrowanego typu projektu. |
SortPriority |
REG_DWORD | 41 (x29) |
Ustawia kolejność sortowania projektów wyświetlanych w oknie dialogowym Kreator nowych projektów. |
NewProjectDialogOnly |
REG_DWORD | 0 |
0 wskazuje, że projekty tego typu są wyświetlane tylko w oknie dialogowym Nowy projekt. |
Wszystkie poniższe przykłady znajdują się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects].
Przykład 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
| Name | Typ | Dane | Description |
|---|---|---|---|
@ |
REG_SZ | Żaden | Wartość domyślna wskazująca, że następujące wpisy są dla projektów typu Pliki różne. |
@ |
REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% |
Wartość identyfikatora zasobu dla plików szablonu Dodaj nowe elementy. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjectItems |
Domyślna ścieżka elementów, które będą wyświetlane w oknie dialogowym Dodawanie nowego elementu . |
SortPriority |
REG_DWORD | 100 (vcprx64) |
Ustanawia kolejność sortowania dla wyświetlania w węźle drzewa okna dialogowego Dodawanie nowego elementu . |
Poniższy przykład znajduje się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Menus].
Przykład 6
"{ACEF4EB2-57CF-11D2-96F4-000000000000}"=",1000,1"
Wpis menu wskazuje IDE do zasobu służącego do uzyskiwania informacji o menu. Po scaleniu tych danych z bazą menu ten sam klucz zostanie dodany w sekcji MenusMerged rejestru. Pakiet VSPackage nie powinien modyfikować żadnych elementów w sekcji MenusMerged bezpośrednio. W polu Dane w poniższej tabeli znajdują się trzy pola rozdzielane przecinkami. Pierwsze pole identyfikuje pełną ścieżkę pliku zasobu menu:
Jeśli pierwsze pole zostanie pominięte, zasób menu zostanie załadowany z biblioteki DLL satelitarnej zidentyfikowanej przez identyfikator GUID pakietu VSPackage.
Drugie pole identyfikuje identyfikator zasobu menu typu CTMENU:
Jeśli określono identyfikator zasobu, a ścieżka pliku jest dostarczana przez pierwszy parametr, zasób menu jest ładowany z pełnej ścieżki pliku.
Jeśli podano identyfikator zasobu, ale nie podano ścieżki pliku, zasób menu jest ładowany z biblioteki DLL satelitarnej.
Jeśli zostanie podana pełna ścieżka pliku i pominięty identyfikator zasobu, oczekuje się, że plik do załadowania będzie plikiem CTO.
Ostatnie pole identyfikuje numer wersji zasobu CTMENU. Możesz ponownie scalić menu, zmieniając numer wersji.
| Name | Typ | Dane | Description |
|---|---|---|---|
| %CLSID_Package% | REG_SZ | ,1000,1 |
Zasób umożliwiający pobranie informacji o menu. |
Wszystkie poniższe przykłady znajdują się w rejestrze pod kluczem [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
| Name | Typ | Dane | Description |
|---|---|---|---|
@ |
REG_SZ | #%IDS_NEWPROJ_TEMPLATES_ENTRY% |
Wartość identyfikatora zasobu dla szablonów projektu Figures Project i New Project. |
TemplatesDir |
REG_SZ | %TEMPLATE_PATH%\FigPrjProjects |
Domyślna ścieżka katalogu New Projects. Elementy w tym katalogu będą wyświetlane w oknie dialogowym Kreator nowego projektu . |
SortPriority |
REG_DWORD | 41 (x29) |
Określa kolejność wyświetlania projektów w węźle drzewa okna dialogowego Nowy projekt . |
NewProjectDialogOnly |
REG_DWORD | 0 |
0 wskazuje, że projekty tego typu są wyświetlane tylko w oknie dialogowym Nowy projekt . |
Poniższy przykład znajduje się w rejestrze pod kluczem [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\InstalledProducts].
\FiguresProductSample
"Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
"UseInterface"=dword:00000001
| Name | Typ | Dane | Description |
|---|---|---|---|
Package |
REG_SZ | %CLSID_Package% |
Identyfikator klasy zarejestrowanego pakietu VSPackage. |
UseInterface |
REG_DWORD | 1 |
1 wskazuje, że interfejs użytkownika będzie używany do interakcji z tym projektem. 0 wskazuje, że nie ma interfejsu użytkownika. |
Pliki vsz kontrolujące nowe typy projektów często zawierają wpis RELATIVE_PATH. Ta ścieżka jest względna względem ścieżki określonej w wpisie \ProductDir typu projektu w następującym kluczu instalacyjnym:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup
Na przykład szablony projektów Enterprise Frameworks dodają następujące wpisy rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup\EF\ProductDir = C:\Program Files\Microsoft Visual Studio\EnterpriseFrameworks\
Oznacza to, że jeśli dołączysz wpis PROJECT_TYPE=EF w pliku vsz, środowisko znajdzie pliki vsz w katalogu ProductDir określonym wcześniej.