Udostępnij za pośrednictwem


Dodawanie elementów do okna dialogowego Dodawanie nowego elementu

Proces dodawania elementów do okna dialogowego Dodawanie nowego elementu rozpoczyna się od kluczy rejestru. Jak pokazano w poniższych wpisach rejestru, sekcja AddItemTemplates zawiera ścieżkę i nazwę katalogu, w którym są umieszczane elementy udostępnione w oknie dialogowym Dodawanie nowego elementu.

Uwaga

Tabela bezpośrednio po segmencie kodu zawiera dodatkowe informacje o wpisie rejestru.

Ta sekcja znajduje się w obszarze HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.

Pierwszy identyfikator GUID to CLSID dla projektów tego typu; drugi identyfikator GUID wskazuje zarejestrowany typ projektu dla szablonów Dodaj elementy:

\{C061DB26-5833-11D2-96F5-0000000000000}\AddItemTemplates\TemplatesDir\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1

@ = 6

TemplatesDir = \<Visual Studio SDK ścieżka> instalacji\VSIntegration\<SomeFolder>\<SomePackage>\<SomeProject>\<SomeProjectItems>

SortPriority = dword:00000064

Nazwisko Typ Dane (z pliku rgs ) opis
@ (Wartość domyślna) REG_SZ #%IDS_ADDITEM_TEMPLATES_ENTRY% Identyfikator zasobu dla pozycji Dodaj szablony elementów .
Szablony valdir REG_SZ %TEMPLATE_PATH%\<SomeProjectItems> Ścieżka elementów projektu wyświetlanych w oknie dialogowym kreatora Dodawanie nowego elementu .
Val SortPriority REG_DWORD 100 (x64) Określa kolejność sortowania w węźle drzewa plików wyświetlanych w oknie dialogowym Dodawanie nowego elementu .

Uwaga

Identyfikatory GUID dla typów projektów Visual C# i Visual Basic są następujące:

  • Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
  • Visual Basic: {F184B08F-C81C-45F6-A57F-5ABD99991F28F}

Katalog wymieniony dla szablonówDir, czyli %TEMPLATE_PATH%\<SomeProjectItems>, jest węzłem po lewej stronie drzewa okna dialogowego Dodawanie nowego elementu. Dodatkowe elementy w drzewie są oparte na podkatalogu w tym katalogu głównym. Pliki dostępne do dodania do projektu to elementy w okienku po prawej stronie okna dialogowego Dodawanie nowego elementu .

Zazwyczaj ten folder będzie zawierać pliki szablonów dla projektu, takie jak plik HTML szablonu lub plik cpp , oraz wszystkie pliki vsz do uruchamiania kreatorów. Aby kontrolować sposób wyświetlania elementów, możesz również dołączać pliki vsdir do lokalizowania nazw katalogów i ikon. Zlokalizowany ciąg jest podpis wyświetlany w oknie dialogowym reprezentującym ten węzeł w drzewie okna dialogowego Dodawanie nowego elementu.

Jednak nie musisz mieć wszystkiego w jednym pliku vsdir . Możesz mieć jeden plik vsdir dla każdego elementu w katalogu. Aby uzyskać więcej informacji, zobacz Pliki kreatora (vsz) i Opis katalogu szablonu (.vsdir).

Uwaga

Pliki .vsdir w katalogach szablonów są opcjonalne. Jeśli chcesz po prostu umieścić element projektu w katalogu i wyświetlić go w oknie dialogowym Dodawanie nowego elementu , możesz umieścić ten plik w katalogu templates określonym w instrukcji TemplatesDir . Plik zostanie wyświetlony w okienku po prawej stronie okna dialogowego Dodawanie nowego elementu dla tego projektu. Jeśli jednak chcesz wyświetlić zlokalizowane podpis dla pliku lub ikony, musisz uwzględnić co najmniej jeden plik vsdir w katalogu templates.

Grupowanie elementów projektu

Jeśli chcesz zawierać grupy szablonów w folderach w drzewie okna dialogowego Dodawanie nowego elementu , musisz mieć podkatalogi w katalogu głównym szablonu z elementami w nich. Po wyświetleniu użytkownikom okna dialogowego Dodawanie nowego elementu będą również widzieć podfoldery i wybrać elementy projektu.

Priorytet sortowania w segmencie kodu określa, gdzie ten katalog szablonu zostanie utworzony w drzewie względem innych elementów węzła drzewa. W oknie dialogowym Dodawanie nowego elementu priorytet sortowania to wszystko, co należy uwzględnić, aby elementy będą wyświetlane w prawidłowej lokalizacji w oknie dialogowym.

Możesz również zaimplementować interfejs w IVsFilterAddProjectItemDlg2 celu filtrowania wyświetlanych elementów w oknie dialogowym Dodawanie nowego elementu . Implementując ten interfejs, można skonfigurować jeden katalog szablonów na dysku, który zawiera na przykład 50 szablonów i plików kreatora. W ten sposób można mieć różne typy projektów z 20 plikami należącymi do jednego typu projektu, innymi 30 plikami należącymi do innego typu projektu i wszystkimi plikami dostępnymi w ogólnym typie projektu. W ten sposób, w zależności od tego, który szablon projektu jest tworzony, można wyświetlić inny zestaw plików szablonów.

Na przykład w projekcie Visual Basic mogą istnieć projekty internetowe i projekty klienckie. Formularze sieci Web nie są przydatnymi elementami do dodawania do projektu klienta, a formularze systemu Windows nie są przydatnymi elementami do dodawania do projektu serwera sieci Web. W związku z tym można utworzyć jeden katalog szablonu zawierający wszystkie pliki dla obu typów projektów. Następnie, implementując IVsFilterAddProjectItemDlg2element , można ukryć elementy, które nie powinny być wyświetlane na podstawie typu projektu lub ustawień projektu w projekcie.

Filtrowanie elementów projektu

IVsFilterAddProjectItemDlg2 Program zapewnia filtrowanie elementów w drzewie (okienko po lewej stronie) i plikach projektu (okienko po prawej stronie) w następujący sposób:

  • Według zlokalizowanych nazw (podpis wyświetlanych w oknie dialogowym znajdującym się w pliku vsdir) udostępnianym przez IVsFilterAddProjectItemDlgprogram .

  • Według rzeczywistych nazw plików i folderów na dysku (nielokalizowany — brak pliku vsdir ) dostarczonego przez program IVsFilterAddProjectItemDlg.

  • Według kategorii dostarczonej przez IVsFilterAddProjectItemDlg2element .

    Aby filtrować według kategorii, podaj ciąg kategorii do elementu w pliku vsdir , takim jak formularz internetowy lub element klienta w Visual Basic. Następnie kod okna dialogowego pobiera klasyfikację kategorii z pliku vsdir i przekazuje go do Ciebie. Następnie możesz przekazać te informacje do implementacji polecenia IVsFilterAddProjectItemDlg2 , aby filtrować okno dialogowe Dodawanie nowego elementu według kategorii. Elementy można również filtrować pod kątem stron sieci Web lub jako przypadków aplikacji Win32 klienta. Ponadto można zidentyfikować elementy oznakowane w języku Visual C++ jako klasy programu Microsoft Foundation (MFC) lub aktywne elementy biblioteki szablonów (ATL). Po zidentyfikowaniu tych elementów system projektu może zdefiniować własne klasyfikacje, aby system mógł być filtrowany na podstawie kategorii i klasyfikacji.

    W przypadku zaimplementowania tej funkcji filtrowania nie trzeba mapować tabeli każdego elementu, który powinien być ukryty. Elementy można po prostu sklasyfikować w typach i umieścić klasyfikacje w pliku vsdir lub plikach. Następnie można ukryć dowolne elementy, które mają określoną klasyfikację, implementując interfejs. W ten sposób można ustawić elementy w oknie dialogowym Dodawanie nowego elementu dynamicznym na podstawie stanu w projekcie.