日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图文说明如何使用T4在VS2008里生成代码

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图文说明如何使用T4在VS2008里生成代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

談起代碼生成,相信大家對CodeSmith一定不會陌生,但可惜的是CodeSmith并不是一個免費的午餐,可是要收費的哦,因此如果對一些公司上的正式應用起來就可能不太方便了。

其實微軟早已為我們設計了套非常好用的代碼生成模板,只要你裝上了VS2008后就可以直接使用了,這套代碼生成模板就叫 T4 ,全稱為:Text Template Transformation Toolkit,其語法就和C#一樣,可以動態生成任意自定義代碼,功能非常強大,使用起來也很簡單哦

以下先說說最基本的使用:

1.創建一個工程項目(我就先以一個控制臺項目為例吧),然后添加新項目,這時可以選擇類別為類文件,最重要一點是文件后綴一定要以 TT 結尾,如下圖:

?

?

2.輸入以下代碼:

<#="//helo?CoderBlog.In?,?this?is?a?testing"#>

然后選中此文件點鼠標右鍵,點“運行自定義工具”,如下圖:

?


?這時就會在VS里自動生成一個對應的CS文件,里面就有我們剛才輸入的代碼了,這只是最簡單的應用,T4可以支持豐富的語法,如我們將以上的代碼改為:

<#for(int?i=0;i<5;i++){#>
<#="//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
//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里生成代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。