在日常的開發過程中我們經常需要為我們的類檔案添加註釋和著作權等資訊,以前都是將資訊文本複製、粘貼,要是添加一兩個個還好,要是添加很多就顯得很麻煩了。為了減少這種重複性的工作,有沒有好的解決辦法呢?答案是肯定的,其實我們每次添加的檔案都是按照類庫模板自動產生的,所以只需要修改Visual Studio的類庫模板就可以了。
首先找到Visual Studio(2005、2008、2010) 的安裝路徑下\Common7\IDE\ItemTemplatesCache\CSharp\目錄,面有好多目錄,Windows Forms是開發Windows Forms程式的模版目錄,Web是Web專案檔的模版目錄,其他的同理。進入Web目錄有選擇2052目錄(2052是中文地區的代號)下,會看到好多帶有.zip的目錄,比如要修改web頁面的模版,就修改\WebForm.zip\Default.aspx.cs,開啟Default.aspx.cs會看到如下內容。
using System;using System.Collections.Generic;$if$ ($targetframeworkversion$ == 3.5)using System.Linq;$endif$using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace $rootnamespace${public partial class $classname$ : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}}}
代碼中的"$"符號之間的字元是模版的變數,具體變數含義請參照:
time$ 日期$year$ 年份$clrversion$ CLR版本$GUID$ 用於替換專案檔中的項目 GUID 的 GUID。最多可以指定 10 個唯一的 GUID(例如,guid1))。$itemname$ 使用者在對話方塊中提供的名稱。$machinename$ 當前的電腦名稱(例如,Computer01)。$projectname$ 使用者在對話方塊中提供的名稱。$registeredorganization$ HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的登錄機碼值。$rootnamespace$ 當前項目的根命名空間。此參數用於替換正向項目中添加的項中的命名空間。$safeitemname$ 使用者在“添加新項”對話方塊中提供的名稱,名稱中移除了所有不安全的字元和空格。$safeprojectname$ 使用者在“建立項目”對話方塊中提供的名稱,名稱中移除了所有不安全的字元和空格。$time$ 以 DD/MM/YYYY 00:00:00 格式表示的目前時間。$userdomain$ 當前的使用者域。$username$ 當前的使用者名稱。
我的一個注釋樣本:
/************************************************************************ * 項目名稱 : 工作日誌系統 * 項目描述 : * 類 名 稱 : UserInfo * 版 本 號 : v1.0.0.0 * 說 明 : 使用者資訊管理類 * 作 者 : 靈雨飄零 * 建立時間 : 2011/12/15 13:19:28 * 更新時間 : 2011/12/15 13:19:28************************************************************************ * Copyright @ 靈雨工作室 2011 . All rights reserved.************************************************************************/
按照上面的執行個體設計範本:
/************************************************************************ * 項目名稱 : $rootnamespace$ * 項目描述 : * 類 名 稱 : $safeitemrootname$ * 版 本 號 : v1.0.0.0 * 說 明 : * 作 者 : $username$ * 建立時間 : $time$ * 更新時間 : $time$************************************************************************ * Copyright @ 靈雨工作室 $year$. All rights reserved.************************************************************************/
using System;using System.Collections.Generic;$if$ ($targetframeworkversion$ == 3.5)using System.Linq;$endif$using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace $rootnamespace${public partial class $classname$ : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}}}
產生的檔案:
/************************************************************************ * 項目名稱 : 工作日誌系統 * 項目描述 : * 類 名 稱 : Default2 * 版 本 號 : v1.0.0.0 * 說 明 : * 作 者 : 靈雨飄零 * 建立時間 : 2012-5-12 14:26:49 * 更新時間 : 2012-5-12 14:26:49************************************************************************ * Copyright @ 靈雨工作室 2012. All rights reserved.************************************************************************/using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default2 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { }}
修改其他的模板按照以上修改方法即可,此處不再詳述。