Pull to refresh

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

Reading time2 min
Views1.2K
Недавно вышел новый 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.
У меня работает, надеюсь, у вас тоже! ;)
Tags:
Hubs:
+72
Comments39

Articles

Change theme settings