1. 程式人生 > >工欲善其事,必先利其器——學會不將就,讓自己事半功倍!

工欲善其事,必先利其器——學會不將就,讓自己事半功倍!

工欲善其事,必先利其器。磨刀不誤砍柴工。這些成語、俗語都告訴我們做事情前,先把用到的工具打理好,用起來才會得心應手,工作起來才會事半功倍!古代如此,在資訊化的今天更是如此。

作為一個程式設計師,每天的工作就是敲程式碼,合理的配置我們所用的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格式表示的當前年份。

注意:模板引數區分大小寫!

鄭重宣告:寫這篇部落格主要不是為了教大家如何自定義類模板,而是通過這件事情跟大家說明一個道理,就是不將就的精神。如果單純的寫如何自定義類模板,那一點意義都沒有,因為這個東西隨便在網上都能找到。而我們缺少的往往是這種思想,有了思想的指引,行動起來方向才會更加明確,才會讓我們更加有效率。

不將就,我們才能提高,才能不斷超越自己,如果安於現狀,我們只會停滯不前,甚至倒退。俗話說:學如逆水行舟,不進則退嘛。所以要想不斷進步,不斷超越自己這種不將就的精神是必不可少的。看過這篇部落格後大家跟我一起不將就,一起進步,一起提高吧!