2010-04-19 82 views
1

在Visual Studio 2008中,我有一個宏,它會插入代碼片段並在其中一個替換項中輸入今天的日期。當我嘗試在VS 2010中運行此宏時,它不起作用。無論我如何嘗試,都不會插入片段。當我嘗試使用以下命令:從宏中插入代碼片段

DTE.ExecuteCommand("Edit.InvokeSnippetFromShortcut", "snippetName") 

這種失敗,錯誤「錯誤HRESULT E_FAIL已經從COM組件的調用返回

我嘗試錄製新宏,當我按下鍵盤快捷鍵插入片段(Ctrl + K,Ctrl + X)VS給出了錯誤「The Command Insert Snippet is not currently available。」

MS刪除了從宏插入片段的能力嗎?如果是這樣,真的是一個恥辱因爲宏具有在片段中找不到的功能,反之亦然。

回答

1

我終於有一段時間來重溫這個並找到了解決方案。

雖然我不能用「Edit.InvokeSnippetFromShortcut」命令的解決方法如下:

DTE.ActiveDocument.Selection.Text = "snippetshortcut" 
DTE.ExecuteCommand("Edit.InsertTab") 
DTE.ExecuteCommand("Edit.InsertTab") 

在VS 2008中,你只需要有1個來電,DTE.ExecuteCommand(「Edit.InsertTab」) 。無論出於何種原因,您現在需要2個才能使片段正常工作。