Visual Studio 2010 в таскбаре Windows 7

едавно вышел новый Eclipse Helios, среди нововведений которого есть поддержка таскбара Windows 7 и дока Mac OS X. В частности, Эклипс может отображать прогресс сборки, наличие ошибок и предупреждений.

К хорошему быстро привыкаешь, и мне захотелось иметь нечто подобное в Visual Studio 2010. Подходящего расширения в сети не нашлось, так что пришлось делать его самому.

Плагинов к VS я раньше никогда не писал, но на сайте Microsoft нашелся и SDK и много информации по нему. Для работы с новым таскбаром в .Net также имеется готовый набор библиотек и примеров: Windows API Code Pack.

Технические детали


После создания шаблонного проекта «Visual Studio Add-in» остается только заполнить кодом методы:


public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
public void OnStartupComplete(ref Array custom)
public void OnBeginShutdown(ref Array custom)


Я использовал первые три:


  • OnConnection — для проверки на поддержку таскбара
  • OnStartupComplete — для инициализации доплнения,
  • OnDisconnection — для корректного завершения работы.

Проверка на поддержку таскбара выглядит так:


if (!TaskbarManager.IsPlatformSupported)
{
MessageBox.Show("Win7taskbar plugin requires to be run on Windows 7", "Plugin needs Windows 7", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}


Интерфейсы

_applicationObject.Events.BuildEvents, _applicationObject.Events.DebuggerEvents, _applicationObject.Events.SolutionEvents

предоставляют набор событий, позволяющих узнать о начале/окончании сборки, переходе в режим отладки и открытии/закрытии солюшена.


Получить список ошибок и предупреждений студии можно через

_applicationObject.ToolWindows.TaskList

Как работать с таскбаром, я узнал из замечательного руководства тут. Остальное было делом техники.

Что получилось


Теперь, при сборке я вижу индикатор прогресса (к сожалению, процент выполнения студия не сообщает):



Если на момент окончания сборки есть предупреждения или ошибки, в таскбаре появляется одна из иконок:




Кроме того, так как я часто открываю по три-четыре экземпляра студии, решил добавить также ThumbnailToolbar для действий «Build Solution», «Debug» и «Run»:




Заключение


Получившийся результат я упаковал в msi и выложил в Visual Studio Gallery, его же и просто файлы в zip-архиве, на всякий случай выложил на narod.ru.

У меня работает, надеюсь, у вас тоже! ;)

Автор материала: fo2rist



Опубликовал admin
4 Авг, Среда 2010г.



Программирование для чайников.