每個公司都有自己的編碼通訊協定,其中最基本的一條就是檔案要有檔案頭,但是Visual Studio中預設的模板是沒有任何檔案頭資訊的,這就需要我們定義自己的模板。
Visual Studio裡的模板分為兩類,項目模板和項目範本,項目模板就是我們在添加項目是應用的模板,如Windows應用程式,類庫等等,出現在“添加新項目”的對話方塊中,如,
我們在一個項目中添加新項時,比如添加一個類,一個介面,等等,這是應用的模板是項目範本,出現在“添加新項”的對話方塊中,如,
這篇文章主要介紹如何自訂項目範本。
在Visual Studio中定義自己的模板有一個非常快捷的方式,先建立一個檔案,定義我們想要的模板格式,再通過[檔案]菜單下的[匯出模板]子功能表產生一個模板,如,
下面是我定義的一個簡單的模板,
#region Copyright (C) Rainsoft All rights reserved
/*******************************************************************************************
* Creation:
* Author: $username$
* Date: $time$
* Description:
* Version:
* Modification:
* Author:
* Date:
* Description:
* Version:
*******************************************************************************************/
#endregion
namespace $rootnamespace$
{
using System;
public class $itemname$
{
}
}
通過[匯出模板]->選擇項目範本,就可快速的產生一個自訂模板,產生完後,在“添加新項”的對話方塊中就會出現我們剛才定義的模板,如,
下面是通過該模板產生的一個類,
#region Copyright (C) Rainsoft All rights reserved
/*******************************************************************************************
* Creation:
* Author: Arrui
* Date: 2008-10-6 19:33:51
* Description:
* Version:
* Modification:
* Author:
* Date:
* Description:
* Version:
*******************************************************************************************/
#endregion
namespace MyTemplate
{
using System;
public class MyClassTemplate2
{
}
}
在我們剛定義的模板檔案中,用到了$rootnamespace$, $username$等一些模板參數,這些都是Visual Studio給我們提供的一些預設的模板參數,這些參數有
Parameter |
Description |
clrversion |
Current version of the common language runtime (CLR). |
GUID [1-10] |
A GUID used to replace the project GUID in a project file. You can specify up to 10 unique GUIDs (for example, guid1). |
itemname |
The name provided by the user in the Add New Item dialog box. |
machinename |
The current computer name (for example, Computer01). |
projectname |
The name provided by the user in the New Project dialog box. |
registeredorganization |
The registry key value from HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization. |
rootnamespace |
The root namespace of the current project. This parameter is used to replace the namespace in an item being added to a project. |
safeitemname |
The name provided by the user in the Add New Item dialog box, with all unsafe characters and spaces removed. |
safeprojectname |
The name provided by the user in the New Project dialog box, with all unsafe characters and spaces removed. |
time |
The current time in the format DD/MM/YYYY 00:00:00. |
userdomain |
The current user domain. |
username |
The current user name. |
webnamespace |
The name of the current Web site. This parameter is used in the Web form template to guarantee unique class names. If the Web site is at the root directory of the Web server, this template parameter resolves to the root directory of the Web Server. |
year |
The current year in the format YYYY. |
(from msdn: ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vssoln/html/1b567143-08c6-4d7a-b484-49f0671754fe.htm)
注意,這些模板參數都是大小定敏感的。
一般來說,通過這些模板參數足夠我們定義一些我們日常通過的模板,但對一些完美主義者,(比如我,:-) ),這些還不夠,比如我希望產生的日期的格式不帶時間,而且月/日都是固定的兩位,中間用.分隔,如2008.10.06,由於Visual Studio預設提供的模板參數不能讓我們自訂格式,要想實現上面的功能,我們就需要自訂模板參數,這也是我下一篇文章的主題。