图文说明如何使用T4在VS2008里生成代码
談起代碼生成,相信大家對CodeSmith一定不會陌生,但可惜的是CodeSmith并不是一個免費的午餐,可是要收費的哦,因此如果對一些公司上的正式應用起來就可能不太方便了。
其實微軟早已為我們設計了套非常好用的代碼生成模板,只要你裝上了VS2008后就可以直接使用了,這套代碼生成模板就叫 T4 ,全稱為:Text Template Transformation Toolkit,其語法就和C#一樣,可以動態生成任意自定義代碼,功能非常強大,使用起來也很簡單哦
以下先說說最基本的使用:
1.創建一個工程項目(我就先以一個控制臺項目為例吧),然后添加新項目,這時可以選擇類別為類文件,最重要一點是文件后綴一定要以 TT 結尾,如下圖:
?
?
2.輸入以下代碼:
<#="//helo?CoderBlog.In?,?this?is?a?testing"#>然后選中此文件點鼠標右鍵,點“運行自定義工具”,如下圖:
?
?這時就會在VS里自動生成一個對應的CS文件,里面就有我們剛才輸入的代碼了,這只是最簡單的應用,T4可以支持豐富的語法,如我們將以上的代碼改為:
<#="//helo?CoderBlog.In?"?+?DateTime.Now#>
<#}#>
這時記得先要保存,如果語法有問題則會保存不了的哦,然后再看看CS文件的結果:
//helo?CoderBlog.In?2010-1-20?21:17:56
//helo?CoderBlog.In?2010-1-20?21:17:56
//helo?CoderBlog.In?2010-1-20?21:17:56
//helo?CoderBlog.In?2010-1-20?21:17:56
?
呵呵,感覺到了吧,其語法就和以C#的差不多,代碼必須使用 <##> 號包括起來。
?
OK,介紹完最基本的使用后,當然也要介紹一下如何能更方便地使用T4啦。雖然T4可很靈活地生成代碼,但可惜的是其沒有語法高亮也沒有智能提示,讓人寫起模板代碼來非常痛苦,那么有沒辦法可以解決這2個問題呢?呵呵,既然我提了出來,想必大家也知道一定有辦法解決的啦
?
這里先介紹一個專門用來生成TT文件的VS的模板工具,此工具叫 T4 Toolbox 有了此工具,大家就可以在添加新項目時直接選擇對應的 TT 模板,而且也有了一定的語法區分功能,先看看效果吧:?
?
?
通過此工具,可以選擇生成不同的TT模板,而且可以隨時改變其輸入文件類型,以下是選擇了 Script.tt 后生成的代碼:
代碼 <#@?template?language="C#"?hostspecific="True"?debug="True"?#><#@?output?extension="cs"?#>
<#@?include?file="T4Toolbox.tt"?#>
<#
//?<copyright?file="Script1.tt"?company="">
//??Copyright???.?All?Rights?Reserved.
//?</copyright>
#>
?在以上代碼中,第二行即可指定輸出的文件類型,在此為CS即輸出為一個C#代碼文件,你也可以將其改為SQL,將會生成一個SQL腳本文件。
OK,接下來介紹第二個工具,通過此工具就可以為 T4 實現智能提示和豐富的語法高亮功能啦,此工具就是 T4 Editor, 以下是使用了 T4 Editor 后的效果哦:
不過 T4 Editor 是一個收費軟件,但使用其免費版也已夠用了,其中的智能提示與引用的NameSpace有關,免費版的話有些NameSpace不支持就不會出現提示了,不支持的引用會有波浪線顯示出來的。
以下是上面2個工具的官方下載地址:
T4 Toolbox 免費的
T4 Editor(填寫相關信息后即可下載免費版)?
?
呵呵,通過以上的介紹,想必大家對T4已有一定的了解,其實使用T4已完全可以完成CodeSmith里的工作了
總結
以上是生活随笔為你收集整理的图文说明如何使用T4在VS2008里生成代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全局调整光照亮度
- 下一篇: 数据结构基础(8) --单链表的设计与