一個輕量小巧的集成在vs里的程式碼生成工具

  • 2019 年 10 月 5 日
  • 筆記

liberate是一個集成在vs里的輕量小巧的程式碼生成框架,當然如果您已經熟練運用CodeSmith了,您就不用考慮它了。不過也可以把它作為學習vsx的一個入門示例。

下載地址是:http://liberate.codeplex.com/

可以下載安裝包、示例程式碼和整個源程式碼。目前只支援VS2008。

它只是一個基於velocity的程式碼生成框架,你得在它的基礎上參考示例程式碼來寫自己的生成工具。示例程式碼是一個讀取SqlServer的表並生成實體類的例子。

運行liberate.2008.Installer.msi前要先關閉VS2008,安裝介面如下圖:

安裝成功後,解壓下載下來的samples.rar,把Liberate.SamplesbindebugVS2008Liberate.Samples.dll複製到MyAppMyApp.DomainbinDebug目錄下,然後用VS2008打開MyAppMyApp.sln,如下圖:

Templates目錄下放的是生成工具用到的模板文件。其中,Entity.cs是用velocity語法寫的模板文件,Entity.lbTemplate是模板配置文件。

打開Entity.lbTemplate,找到ConnectionString,把它的值修改成一個存在的資料庫連接串。然後在MyApp.Domain項目節點上點右鍵,在彈出的菜單里點擊「生成」,如下圖:

這時會彈出一個選擇模板的對話框,如下:

選中「實體類」,點擊「添加」,則出現選擇表的介面:

選中表之後,點「確定」,轉到「設置目標文件」的介面:

保持默認,不要做改動,點「完成」按鈕,liberate會幫我們把選中的表生成出實體類文件,並加到了項目里。