Вставка фрагментов из макросов - PullRequest
1 голос
/ 19 апреля 2010

В Visual Studio 2008 у меня был макрос, который вставлял бы фрагмент и вводил сегодняшнюю дату в одну из замен. Когда я пытаюсь запустить этот макрос в VS 2010, он не работает. Независимо от того, как я стараюсь, он не будет вставлен фрагмент. Когда я пытаюсь выполнить следующую команду:

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

Это не с ошибкой "Ошибка HRESULT E_FAIL был возвращен от вызова к компоненту COM.

Я попытался записать новый макрос, и когда я нажал сочетание клавиш для вставки фрагмента (Ctrl + K, Ctrl + X), VS выдал ошибку «Команда Вставить фрагмент в настоящее время недоступна».

MS удалила возможность вставлять фрагменты из макросов? Если это так, то это действительно позор, потому что у макросов есть функциональность, отсутствующая во фрагментах, и наоборот.

1 Ответ

1 голос
/ 18 января 2011

Наконец-то у меня появилось время вернуться к этому и найти решение.

Хотя я не могу использовать команду «Edit.InvokeSnippetFromShortcut», обходной путь следующий:

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

В VS 2008 у вас был только один вызов DTE.ExecuteCommand ("Edit.InsertTab"). По какой-то причине вам нужно 2, чтобы фрагмент работал.

...