2014-11-25 41 views
0

我正在使用T4文本模板進行自動代碼生成,但必須對此代碼格式不正確,特別是因爲TT文件。使用EnvDTE自動縮進現有文件

我想使用EnvDTE來應用smartformat,但是我找到的所有示例都需要在應用程序上打開該文件。

有沒有辦法將smartformat應用到現有的文件而無需打開它?

有人有一個例子嗎?

回答

0

必須打開文檔,但這並不意味着該文檔對用戶可見。給出一個EnvDTE.ProjectItem,你可以用所需的視圖(代碼)打開(查看)它,並且你得到一個EnvDTE.Window,這是不可見的(你需要設置.Visible = true)。但是,您可以獲取它的.Document屬性,然後將其.Object屬性強制轉換爲EnvDTE.TextDocument,然後獲得.StartPoint和.EndPoint文本點,然後從它們創建.CreateEditPoint以獲取編輯點和您.SmartFormat()他們。