0
我已經創建了一個AddInHost,通過它可以擴展VS Ide命令(右鍵單擊SolutionExplorerMenu)。使用T4或其他技術在VS 2008中生成ClassTemplate
現在我想使用AddIn從模板生成代碼。
我讀過很多關於T4代碼生成的文章,並嘗試了一些簡單的模板,但我沒有看到我如何在我的AddIn中使用T4技術。
對於模板我需要指定一些參數,我可以在模板中使用。 我需要參數
- 命名空間
- 類名
- Methodcollection
- PropertyCollection
我試圖用
<#@ property name="ClassName" type="System.String" processor="PropertyProcessor" #>
但之後,我讀了一些文章中,我認爲這建議立即進行刪除d不能正常工作。
我的問題是,我找不到解決方案與T4和我的AddIn一起工作。
Addin中的所有命令都有一個「Perform」方法,其中寫入了所有特定於命令的實現。 在命令中我有一個對主機(= VS IDE)的引用,所以我可以完整地使用IDE模型。
如何在我的AddIn中使用T4創建基於模板的文件?
我應該怎麼做呢?
我應該通過ProjectItems.AddFromFile()
將文件添加到目標項目,還是我可以使用T4的功能?
我有點困惑,我怎麼能實現我的要求。
非常感謝。
這就是我之前的嘗試,但我沒有看到如何將ITextTemplating與我的CommandAction結合起來? 我應該在使用引擎時創建自定義的「ITextTemplatingEngineHost」嗎? 我應該通過ServiceProvider創建Engine/Host還是直接通過「new」初始化? – Khh 2010-11-03 11:28:45