Sdílet prostřednictvím


Přidání položek do dialogového okna Přidat novou položku

Proces přidání položek do dialogového okna Přidat novou položku začíná klíči registru. Jak je znázorněno v následujících položkách registru, část AddItemTemplates obsahuje cestu a název adresáře, do kterého jsou vloženy položky dostupné v dialogovém okně Přidat novou položku.

Poznámka:

Tabulka bezprostředně za segmentem kódu obsahuje další informace o položce registru.

Tato část se nachází v části HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.

První identifikátor GUID je CLSID pro projekty tohoto typu; Druhý identifikátor GUID označuje registrovaný typ projektu pro šablony Přidat položky:

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

@ = č. 6

TemplatesDir = \<Instalační cesta> sady Visual Studio SDK\VSIntegration\<SomeFolder>\<SomePackage>\<SomeProject\<SomeProjectItems>>

SortPriority = dword:00000064

Name Type Data (ze souboru .rgs ) Popis
@ (výchozí) REG_SZ #%IDS_ADDITEM_TEMPLATES_ENTRY% ID prostředku pro šablony přidat položku
Val TemplatesDir REG_SZ %TEMPLATE_PATH%\<SomeProjectItems> Cesta k položkám projektu zobrazeným v dialogovém okně průvodce Přidat novou položku
Val SortPriority REG_DWORD 100 (x64) Určuje pořadí řazení ve stromovém uzlu souborů zobrazených v dialogovém okně Přidat novou položku .

Poznámka:

Identifikátory GUID pro typy projektů Visual C# a Visual Basic jsou následující:

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

Adresář uvedený pro TemplatesDir, což je %TEMPLATE_PATH%\<SomeProjectItems>, je uzel na levé straně stromu dialogového okna Přidat novou položku. Další prvky ve stromu jsou založeny na podadresáři v daném kořenovém adresáři. Soubory, které je možné přidat do projektu, jsou položky v pravém podokně dialogového okna Přidat novou položku .

Tato složka obvykle bude obsahovat soubory šablon pro váš projekt, například soubor HTML nebo .cpp šablony a všechny soubory .vsz pro spouštění průvodců. Pokud chcete určit, jak se položky zobrazují, můžete také zahrnout soubory .vsdir pro lokalizaci názvů a ikon adresáře. Lokalizovaný řetězec je popis, který se zobrazí v dialogovém okně, které představuje tento uzel ve stromu přidat novou položku.

Nemusíte ale mít všechno v jednom souboru .vsdir . Pro každou položku v adresáři můžete mít jeden soubor .vsdir . Další informace naleznete v průvodci (.vsz) soubory popis adresáře šablony (.vsdir).

Poznámka:

Soubory .vsdir v adresářích šablon jsou volitelné. Pokud chcete jenom vložit prvek projektu do adresáře a zobrazit ho v dialogovém okně Přidat novou položku , můžete tento soubor umístit do adresáře šablon zadaného v příkazu TemplatesDir . Soubor se pak zobrazí v pravém podokně dialogového okna Přidat novou položku pro daný projekt. Pokud ale chcete zobrazit lokalizovanou popis pro soubor nebo ikonu, musíte do adresáře šablon zahrnout alespoň jeden soubor .vsdir.

Seskupení položek projektu

Pokud chcete ve stromovém okně Přidat novou položku obsahovat skupiny šablon ve složkách, musíte mít podadresáře v kořenovém adresáři šablony s položkami v nich. Když se uživatelům zobrazí dialogové okno Přidat novou položku, zobrazí se jim také podsložky a budou z nich moct vybrat prvky projektu.

Priorita řazení v segmentu kódu určuje, kde se tento adresář šablony vytvoří ve stromu vzhledem k ostatním prvkům uzlu stromu. U dialogového okna Přidat novou položku je priorita řazení vše, co musíte zahrnout, aby se položky zobrazovaly ve správném umístění v dialogovém okně.

Můžete také implementovat IVsFilterAddProjectItemDlg2 rozhraní pro filtrování toho, co se zobrazí v dialogovém okně Přidat novou položku . Implementací tohoto rozhraní můžete nastavit jeden adresář šablony na disku, který obsahuje například 50 šablon a souborů průvodce. Tímto způsobem můžete mít různé typy projektů s 20 soubory, které patří do jednoho typu projektu, dalších 30 souborů, které patří jinému typu projektu, a všechny soubory dostupné v obecném typu projektu. Tímto způsobem můžete v závislosti na vytvořené šabloně projektu zobrazit jinou sadu souborů šablon.

Například v projektu jazyka Visual Basic můžete mít webové projekty a klientské projekty. Webové formuláře nejsou užitečné položky pro přidání do klientského projektu a formuláře Windows nejsou užitečné položky pro přidání do projektu webového serveru. Proto můžete vytvořit jeden adresář šablony, který obsahuje všechny soubory pro oba typy projektu. Pak můžete implementací IVsFilterAddProjectItemDlg2skrýt položky, které by neměly být zobrazeny na základě typu projektu nebo nastavení projektu v projektu.

Filtrování položek projektu

IVsFilterAddProjectItemDlg2 poskytuje filtrování prvků ve stromu (levém podokně) a soubory projektu (pravé podokno) následujícími způsoby:

  • Lokalizované názvy (popis zobrazené v dialogovém okně, které je obsaženo v souboru .vsdir) poskytnutém .IVsFilterAddProjectItemDlg

  • Skutečnými názvy souborů a složek na disku (nelokaly – žádný soubor .vsdir ), který IVsFilterAddProjectItemDlgposkytuje .

  • Podle kategorie, kterou IVsFilterAddProjectItemDlg2poskytuje .

    Chcete-li filtrovat podle kategorií, zadejte řetězec kategorie k položce v souboru .vsdir , jako je webový formulář nebo položka klienta v jazyce Visual Basic. Kód dialogového okna pak načte klasifikaci kategorií ze souboru .vsdir a předá vám ji. Tuto informaci pak můžete předat implementaci pro filtrování dialogového IVsFilterAddProjectItemDlg2 okna Přidat novou položku podle kategorií. Můžete také filtrovat položky pro webové stránky nebo jako klientské případy aplikace Win32. Kromě toho můžete identifikovat položky označené jazykem Visual C++ jako třídy Microsoft Foundation (MFC) nebo aktivní položky knihovny šablon (ATL). Když tyto položky identifikujete, systém projektu může definovat vlastní klasifikace, aby systém mohl být filtrován na základě kategorií a klasifikací.

    Pokud implementujete tuto funkci filtru, nemusíte mapovat tabulku všech položek, které by měly být skryté. Položky můžete jednoduše klasifikovat do typů a umístit klasifikace do souboru .vsdir nebo souborů. Potom můžete skrýt všechny položky, které mají určitou klasifikaci, implementací rozhraní. Tímto způsobem můžete vytvořit položky v dialogovém okně Přidat novou položku dynamicky na základě stavu v projektu.