Вы можете добавить элемент в список задач легко из вашего макроса.Просто используйте метод AddTaskToList из этой статьи и измените m_objDTE на DTE.Я попробовал, и это сработало.
Однако добавить элемент в список ошибок, вероятно, невозможно.Вам необходимо вызвать службы VS, см. , как происходит добавление ошибки в надстройке .Я создал макрос из этого кода, и он не работал.Как правило, службы VS не работают в макросах.Мне удалось успешно создать ErrorListProvider.Я мог бы получить доступ к его методам и свойствам.Но вызов ErrorListProvider.Task.Add вызвал исключение COM.Если вы хотите поиграть с ним, несколько примечаний: Как описано в статье, вам необходимо получить 4 сборки из GAC , например, в каталог c: \ dlls \.Поскольку Macros IDE не позволяет просматривать при добавлении ссылки, вам необходимо скопировать эти библиотеки в каталог ... \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies (измените версию 10.0 на версию VS).Затем, когда вы добавляете ссылку в Macros IDE, вы должны увидеть сборки.
Функция GetService всегда возвращала Nothing.Добавьте в класс следующее поле:
Private serviceProvider As IServiceProvider = New Microsoft.VisualStudio.Shell.ServiceProvider(CType(DTE, Microsoft.VisualStudio.OLE.Interop.IServiceProvider))
и в строке изменения функции GetService:
objService = Microsoft.VisualStudio.Shell.Package.GetGlobalService(serviceType)
на
objService = serviceProvider.GetService(serviceType)
Как я уже писал, все выглядит нормальнотогда, но ErrorListProvider.Task.Add завершается ошибкой.