Parametry szablonu
Wartości w szablonie można zastąpić po utworzeniu wystąpienia szablonu. Aby skonfigurować tę funkcję, użyj parametrów szablonu. Parametry szablonu mogą służyć do zastępowania wartości, takich jak nazwy klas i przestrzenie nazw w szablonie. Kreator szablonu uruchamiany w tle, gdy użytkownik dodaje nowy element lub projekt zastępuje te parametry.
Deklarowanie i włączanie parametrów szablonu
Parametry szablonu są deklarowane w formacie $parameter$. Na przykład:
$rootnamespace$
$guid1$
$guid5$
Włączanie podstawienia parametrów w szablonach
W pliku .vstemplate szablonu znajdź
ProjectItem
element odpowiadający elementowi, dla którego chcesz włączyć zamianę parametrów.Ustaw atrybut
ReplaceParameters
elementuProjectItem
natrue
.W pliku kodu dla elementu projektu dołącz parametry, tam gdzie jest to potrzebne. Na przykład następujący parametr określa, że główna przestrzeń nazw jest używana dla przestrzeni nazw w pliku:
namespace $rootnamespace$
Parametry szablonu zarezerwowanego
W poniższej tabeli wymieniono parametry szablonu zarezerwowanego, które mogą być używane przez dowolny szablon:
Parametr | Opis |
---|---|
clrversion | Aktualna wersja środowiska uruchomieniowego języka wspólnego (CLR). |
Ext_* | ext_ Dodaj prefiks do dowolnego parametru, aby odwoływać się do zmiennych szablonu nadrzędnego. Na przykład ext_safeprojectname . |
guid[1–10] | Identyfikator GUID służący do zamienienia identyfikatora GUID w pliku projektu. Można określić maksymalnie 10 unikatowych identyfikatorów GUID (na przykład guid1 ). |
Itemname | Nazwa pliku, w którym jest używany parametr. |
Machinename | Bieżąca nazwa komputera (na przykład Computer01). |
Nazwaprojektu | Nazwa podana przez użytkownika podczas tworzenia projektu. Ten parametr ma zastosowanie tylko do szablonów projektów. |
zarejestrowanaorganizacja | Wartość klucza rejestru z HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization. |
Rootnamespace | Główna przestrzeń nazw bieżącego projektu, po której następuje podfolder bieżącego elementu, z ukośnikami zastąpionymi kropkami. |
defaultnamespace | Główna przestrzeń nazw bieżącego projektu. |
safeitemname | Takie same jak itemname , ale ze wszystkimi niebezpiecznymi znakami i spacjami zastąpionymi znakami podkreślenia. |
safeitemrootname | Tak samo jak safeitemname . |
safeprojectname | Nazwa podana przez użytkownika podczas tworzenia projektu, ale ze wszystkimi niebezpiecznymi znakami i spacjami została usunięta. Ten parametr ma zastosowanie tylko do szablonów projektów. |
Targetframeworkversion | Bieżąca wersja docelowego programu .NET Framework. |
time | Bieżący czas w formacie opartym na ustawieniach użytkownika systemu Windows. Jednym z przykładów formatu czasu jest DD/MM/RRRR 00:00:00. |
specifiedsolutionname | Nazwa rozwiązania. Jeśli pole wyboru "Umieść rozwiązanie i projekt w tym samym katalogu" jest niezaznaczone, specifiedsolutionname ma nazwę rozwiązania. Jeżeli „Utwórz katalog rozwiązania” nie jest zaznaczone, specifiedsolutionname jest pusta. |
userdomain | Bieżąca domena użytkownika. |
nazwa użytkownika | Bieżąca nazwa użytkownika. |
webnamespace | Nazwa bieżącej witryny internetowej. Ten parametr jest używany w szablonie formularza internetowego w celu zagwarantowania unikatowych nazw klas. Jeśli witryna internetowa znajduje się w katalogu głównym serwera internetowego, ten parametr szablonu jest rozpoznawany jako katalog główny serwera sieci Web. |
rocznie | Bieżący rok w formacie RRRR. |
Uwaga
Parametry szablonu uwzględniają wielkość liter.
Parametry szablonu niestandardowego
Oprócz domyślnych parametrów zarezerwowanych szablonu używanych podczas zastępowania parametrów można określić własne parametry szablonu szablonu. Aby uzyskać więcej informacji, zobacz CustomParameters, element (szablony Visual Studio).
Przykład: użyj nazwy projektu jako nazwy pliku
Nazwy plików zmiennych dla elementów projektu można określić przy użyciu parametru w atrybucie TargetFileName
.
W poniższym przykładzie określono, że nazwa pliku wykonywalnego używa nazwy projektu określonej przez $projectname$
.
<TemplateContent>
<ProjectItem
ReplaceParameters="true"
TargetFileName="$projectname$.exe">
File1.exe
</ProjectItem>
...
</TemplateContent>
Przykład: użyj bezpiecznej nazwy projektu dla nazwy przestrzeni nazw
Aby użyć bezpiecznej nazwy projektu dla przestrzeni nazw w pliku klasy języka C#, użyj następującej składni:
namespace $safeprojectname$
{
public class Class1
{
public Class1()
{ }
}
}
W pliku vstemplate szablonu projektu dołącz ReplaceParameters="true"
atrybut podczas odwoływać się do pliku:
<TemplateContent>
<ProjectItem ReplaceParameters="true">
Class1.cs
</ProjectItem>
...
</TemplateContent>