工欲善其事,必先利其器。磨刀不誤砍柴工。這些成語、俗語都告訴我們做事情前,先把用到的工具打理好,用起來才會得心應手,工作起來才會事半功倍!古代如此,在信息化的今天更是如此。
作為一個程序員,每天的工作就是敲代碼,合理的配置我們所用的IDE,會讓我們的工作事半功倍。有的人可能會說,現在的IDE都非常的智能了,不需要我們自己手動配置了。的確現在的工具真的是越來越好用,幾乎所有的常用開發工具都有智能提示、自動補全代碼等貼心功能,為我們的工作帶來了很大的方便,但仍有一些重復的工作需要我們手動來完成。像我們在新建類的時候,經常會需要加入自己或公司的信息、版權、以及創建時間等信息,而這些東西一般都是固定的,所以我們就可以建一個模板,每次新建類的時候這些信息就會自動生成。不光是類,接口、CSS文件、等等都可以。而且不光是在寫代碼的時候可以用到這種方法,在平時的工作中同樣適用,例如我們經常會發郵件,而工作中的郵件通常格式是比較固定的,所以我們就可以建一個模板等等,還有什么Word等Office產品都可以通過類似的設置,讓我們的工作變得輕松。
其實最重要的是這種不將就的思想,如果一件事情重復做了兩遍以上,那么我們就應該想想,是不是有什么方法可以讓我們不再重復。一般情況下是會有的。好了切入正題吧,用具體的例子來進一步說明這種思想的好處吧。
1.打開安裝目錄下Class.zip所在的目錄:
32位 C:\ProgramFiles\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\2052
64位 C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\2052
將Class.zip里面的Class.cs文件修改成自己需要的內容,下面是我自己修改的類:
/****************************************************************** * 創建人:劉水鏡 * 時間:$time$ * 說明: * 博客:http://blog.csdn.net/liushuijinger *******************************************************************/ using System; using System.Collections.Generic; $if$ ($targetframeworkversion$ >= 3.5)using System.Linq; $endif$using System.Text; namespace $rootnamespace$ { public class $safeitemrootname$ { } }
其中以“$xxx$”為模板變量,例如上面的$time$在新建類的時候就會顯示當前的系統時間,具體的變量說明會在下面進一步說明。
接下來的工作就是將修改的類注冊一下,好讓VS能夠識別:
2.打開Visual Studio 2010 命令提示(單擊“開始”,指向“所有程序”、“MicrosoftVisual Studio 2010”和“Visual Studio Tools”,然后單擊“Visual Studio 命令提示(2010)”),執行 “devenv/InstallVsTemplates”。等待一小會兒,就可以打開VS2010,然后創建一個項目,添加一個類看看就知道結果了。
貌似紅框里的四個都可以,我用的是第四個,有興趣可以試試其他的。
下面是模板中所能識別的參數以及說明:
Parameter |
說明 |
clrversion |
公共語言運行時 (CLR)的當前版本。 |
GUID [1-10] |
用於替換項目文件中的項目 GUID的 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 |
當前的用戶名。 |
webnamespace |
當前網站的名稱。 在 Web窗體模板中使用此參數以確保類名稱是唯一的。 如果網站位於 Web服務器的根目錄下,則此模板參數將解析為 Web服務器的根目錄。 |
year |
以 YYYY格式表示的當前年份。 |
注意:模板參數區分大小寫!
鄭重聲明:寫這篇博客主要不是為了教大家如何自定義類模板,而是通過這件事情跟大家說明一個道理,就是不將就的精神。如果單純的寫如何自定義類模板,那一點意義都沒有,因為這個東西隨便在網上都能找到。而我們缺少的往往是這種思想,有了思想的指引,行動起來方向才會更加明確,才會讓我們更加有效率。
不將就,我們才能提高,才能不斷超越自己,如果安於現狀,我們只會停滯不前,甚至倒退。俗話說:學如逆水行舟,不進則退嘛。所以要想不斷進步,不斷超越自己這種不將就的精神是必不可少的。看過這篇博客后大家跟我一起不將就,一起進步,一起提高吧!